Re: [PATCH] net: bonding: Add support for IPV6 ns/na

From: kernel test robot
Date: Thu Dec 09 2021 - 06:58:38 EST


Hi Sun,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.16-rc4 next-20211208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Sun-Shouxin/net-bonding-Add-support-for-IPV6-ns-na/20211209-150108
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2a987e65025e2b79c6d453b78cb5985ac6e5eb26
config: riscv-randconfig-c006-20211209 (https://download.01.org/0day-ci/archive/20211209/202112091907.6iLel0c9-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/ab724c314fcdcaa60e70c590850b2ce57430d7fa
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sun-Shouxin/net-bonding-Add-support-for-IPV6-ns-na/20211209-150108
git checkout ab724c314fcdcaa60e70c590850b2ce57430d7fa
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/net/bonding/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/net/bonding/bond_alb.c:1307:26: error: implicit declaration of function 'csum_ipv6_magic' [-Werror,-Wimplicit-function-declaration]
icmp6h->icmp6_cksum = csum_ipv6_magic(&ip6hdr->saddr,
^
drivers/net/bonding/bond_alb.c:1307:26: note: did you mean 'csum_tcpudp_magic'?
include/asm-generic/checksum.h:52:1: note: 'csum_tcpudp_magic' declared here
csum_tcpudp_magic(__be32 saddr, __be32 daddr, __u32 len,
^
1 error generated.


vim +/csum_ipv6_magic +1307 drivers/net/bonding/bond_alb.c

1272
1273 static void alb_change_nd_option(struct sk_buff *skb, void *data)
1274 {
1275 struct nd_msg *msg = (struct nd_msg *)skb_transport_header(skb);
1276 struct nd_opt_hdr *nd_opt = (struct nd_opt_hdr *)msg->opt;
1277 struct net_device *dev = skb->dev;
1278 struct icmp6hdr *icmp6h = icmp6_hdr(skb);
1279 struct ipv6hdr *ip6hdr = ipv6_hdr(skb);
1280 u8 *lladdr = NULL;
1281 u32 ndoptlen = skb_tail_pointer(skb) - (skb_transport_header(skb) +
1282 offsetof(struct nd_msg, opt));
1283
1284 while (ndoptlen) {
1285 int l;
1286
1287 switch (nd_opt->nd_opt_type) {
1288 case ND_OPT_SOURCE_LL_ADDR:
1289 case ND_OPT_TARGET_LL_ADDR:
1290 lladdr = ndisc_opt_addr_data(nd_opt, dev);
1291 break;
1292
1293 default:
1294 break;
1295 }
1296
1297 l = nd_opt->nd_opt_len << 3;
1298
1299 if (ndoptlen < l || l == 0)
1300 return;
1301
1302 if (lladdr) {
1303 memcpy(lladdr, data, dev->addr_len);
1304 lladdr = NULL;
1305 icmp6h->icmp6_cksum = 0;
1306
> 1307 icmp6h->icmp6_cksum = csum_ipv6_magic(&ip6hdr->saddr,
1308 &ip6hdr->daddr,
1309 ntohs(ip6hdr->payload_len),
1310 IPPROTO_ICMPV6,
1311 csum_partial(icmp6h,
1312 ntohs(ip6hdr->payload_len), 0));
1313 lladdr = NULL;
1314 }
1315 ndoptlen -= l;
1316 nd_opt = ((void *)nd_opt) + l;
1317 }
1318 }
1319

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx