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

From: kernel test robot
Date: Fri Dec 10 2021 - 13:04:00 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/20211210-210940
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c741e49150dbb0c0aebe234389f4aa8b47958fa8
config: nios2-randconfig-r026-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110146.ZZvFe0rG-lkp@xxxxxxxxx/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/f86d634c3ced7ec9b5af72e4b92bca681be033f7
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/20211210-210940
git checkout f86d634c3ced7ec9b5af72e4b92bca681be033f7
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 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: In function 'alb_change_nd_option':
>> drivers/net/bonding/bond_alb.c:1318:47: error: implicit declaration of function 'csum_ipv6_magic'; did you mean 'csum_tcpudp_magic'? [-Werror=implicit-function-declaration]
1318 | icmp6h->icmp6_cksum = csum_ipv6_magic(&ip6hdr->saddr,
| ^~~~~~~~~~~~~~~
| csum_tcpudp_magic
cc1: some warnings being treated as errors


vim +1318 drivers/net/bonding/bond_alb.c

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

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