Commit 2df9bf4d authored by Xin Long's avatar Xin Long Committed by David S. Miller

ipv6: prevent router_solicitations for team port

The issue fixed for bonding in commit c2edacf8 ("bonding / ipv6: no
addrconf for slaves separately from master") also exists in team driver.
However, we can't just disable ipv6 addrconf for team ports, as 'teamd'
will need it when nsns_ping watch is used in the user space.

Instead of preventing ipv6 addrconf, this patch only prevents RS packets
for team ports, as it did in commit b52e1cce ("ipv6: Don't send rs
packets to the interface of ARPHRD_TUNNEL").

Note that we do not prevent DAD packets, to avoid the changes getting
intricate / hacky. Also, usually sysctl dad_transmits is set to 1 and
only 1 DAD packet will be sent, and by now no libteam user complains
about DAD packets on team ports, unlike RS packets.
Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e346df60
...@@ -4223,7 +4223,8 @@ static void addrconf_dad_completed(struct inet6_ifaddr *ifp, bool bump_id, ...@@ -4223,7 +4223,8 @@ static void addrconf_dad_completed(struct inet6_ifaddr *ifp, bool bump_id,
ipv6_accept_ra(ifp->idev) && ipv6_accept_ra(ifp->idev) &&
ifp->idev->cnf.rtr_solicits != 0 && ifp->idev->cnf.rtr_solicits != 0 &&
(dev->flags & IFF_LOOPBACK) == 0 && (dev->flags & IFF_LOOPBACK) == 0 &&
(dev->type != ARPHRD_TUNNEL); (dev->type != ARPHRD_TUNNEL) &&
!netif_is_team_port(dev);
read_unlock_bh(&ifp->idev->lock); read_unlock_bh(&ifp->idev->lock);
/* While dad is in progress mld report's source address is in6_addrany. /* While dad is in progress mld report's source address is in6_addrany.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment