Message ID | 1406840034-140848-2-git-send-email-equinox@diac24.net |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Hi David, Next time please also specify which tree you want this patch applied to. We use [PATCH net] for patches which should go into the rc2+ and [PATCH net-next] for rc1. Thanks! On Do, 2014-07-31 at 22:53 +0200, David Lamparter wrote: > GRE devices, for some reason, were coming up with an autoconfigured > address, but no ff00::/8 route in the local table. This breaks any kind > of multicast, in particular OSPFv3, mDNS, - and ND. In fact, IPv6 only > works at all because there is little need for ND on PtP devices. > > Adding any other IPv6 address on the device from userspace would rectify > this issue through inet6_addr_add()/addrconf_add_dev() - and would leave > the route around even if the address was later removed. (This is > probably why this issue was not discovered earlier. AFAICS it has been > there from the beginning, e.g. aee80b5 "generate link local address for > GRE tunnel") > > (Note: multicast is supported on GRE devices of all kinds, including PtP > GRE, P-t-Mcast GRE and NBMA-GRE.) > > Fixes: aee80b54b235 (ipv6: generate link local address for GRE tunnel) > Signed-off-by: David Lamparter <equinox@diac24.net> > Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> > Cc: Stephen Hemminger <stephen@networkplumber.org> > Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Dave, it would make sense to queue this up for net and stable (or only net-next if there is no merge before the release). Thanks, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 0b239fc..7540a25 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2818,10 +2818,9 @@ static void addrconf_gre_config(struct net_device *dev) ASSERT_RTNL(); - if ((idev = ipv6_find_idev(dev)) == NULL) { - pr_debug("%s: add_dev failed\n", __func__); + idev = addrconf_add_dev(dev); + if (IS_ERR(idev)) return; - } addrconf_addr_gen(idev, true); }
GRE devices, for some reason, were coming up with an autoconfigured address, but no ff00::/8 route in the local table. This breaks any kind of multicast, in particular OSPFv3, mDNS, - and ND. In fact, IPv6 only works at all because there is little need for ND on PtP devices. Adding any other IPv6 address on the device from userspace would rectify this issue through inet6_addr_add()/addrconf_add_dev() - and would leave the route around even if the address was later removed. (This is probably why this issue was not discovered earlier. AFAICS it has been there from the beginning, e.g. aee80b5 "generate link local address for GRE tunnel") (Note: multicast is supported on GRE devices of all kinds, including PtP GRE, P-t-Mcast GRE and NBMA-GRE.) Fixes: aee80b54b235 (ipv6: generate link local address for GRE tunnel) Signed-off-by: David Lamparter <equinox@diac24.net> Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> Cc: Stephen Hemminger <stephen@networkplumber.org> Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com> --- net/ipv6/addrconf.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)