Re: [PATCH] ipv6: no addrconf for slave devices

From: Jiri Pirko
Date: Fri Oct 16 2015 - 07:55:08 EST


Fri, Oct 16, 2015 at 12:21:51PM CEST, jblunck@xxxxxxxxxxxxx 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 <jblunck@xxxxxxxxxxxxx>
>---
> 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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/