Fri, Oct 16, 2015 at 12:21:51PM CEST, jblu...@infradead.org wrote:
>If a device without the IFF_SLAVE flag set (e.g. team, bridge, openvswitch
>vport, batman) is enslaved and IPv6 is active then addrconf will be
>initiated and a link-local address is added to the slave interface.
>
>This patch alters the behavior so that addrconf will only run on the master
>device itself. This is achieved by checking the device tree instead of
>checking for a specific flag.
>
>Signed-off-by: Jan Blunck <jblu...@infradead.org>
>---
> net/ipv6/addrconf.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
>diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
>index 9001133..26d61f0 100644
>--- a/net/ipv6/addrconf.c
>+++ b/net/ipv6/addrconf.c
>@@ -3141,8 +3141,12 @@ static int addrconf_notify(struct notifier_block *this, 
>unsigned long event,
> 
>       case NETDEV_UP:
>       case NETDEV_CHANGE:
>-              if (dev->flags & IFF_SLAVE)
>+              /* If a master is set stop IPv6 on this interface */
>+              if (netdev_master_upper_dev_get(dev)) {
>+                      if (idev)
>+                              addrconf_ifdown(dev, 1);

This breaks teamd if it's using NS/NA ping link-watch on link-local addresses.

What is the reason for this patch? Does it recolve any issue you are
having?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to