lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 11 Apr 2013 03:06:23 +0000 From: "Meng, Jilin" <Jilin.Meng@....com> To: "davem@...emloft.net" <davem@...emloft.net>, "kuznet@....inr.ac.ru" <kuznet@....inr.ac.ru>, "jmorris@...ei.org" <jmorris@...ei.org>, "yoshfuji@...ux-ipv6.org" <yoshfuji@...ux-ipv6.org>, "kaber@...sh.net" <kaber@...sh.net> CC: "Sun, Yinglin" <yinglin.sun@....com>, "Prithviraj, Lakshmanan" <lakshmanan.prithviraj@....com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Meng, Jilin" <Jilin.Meng@....com> Subject: [PATCH] net: Fix tentative IPv6 address due to DAD looping back we should ignore the looped-back IPv6 DAD packet to avoid configuration failure. This occurs when a bonding interface with roundrobin mode is being configured an IPv6 address while the switch side isn't configured bonding/channel yet. Signed-off-by: Jilin Meng <jilin.meng@....com> Signed-off-by: Yinglin Sun <yinglin.sun@....com> Signed-off-by: Lakshmanan Prithviraj <lakshmanan.prithviraj@....com> --- --- linux/net/ipv6/ndisc.c.orig 2013-03-12 17:16:18.000000000 +0800 +++ linux/net/ipv6/ndisc.c 2013-04-11 09:00:45.000000000 +0800 @@ -71,6 +71,7 @@ #include <linux/netfilter.h> #include <linux/netfilter_ipv6.h> +#include <linux/etherdevice.h> /* Set to 3 to get tracing... */ #define ND_DEBUG 1 @@ -757,6 +758,19 @@ static void ndisc_recv_ns(struct sk_buff if (ifp->flags & (IFA_F_TENTATIVE|IFA_F_OPTIMISTIC)) { if (dad) { + if (dev->type == ARPHRD_ETHER) { + const unsigned char *sadr; + sadr = skb_mac_header(skb); + if (ether_addr_equal_64bits(sadr + 6, dev->dev_addr)) + /* + * looped-back to us. This occurs when + * a bonding interface with roundrobin + * mode is being configured while the + * switch side isn't configured yet. + */ + goto out; + } + /* * We are colliding with another node * who is doing DAD -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists