From patchwork Wed Jul 30 00:55:43 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lamparter X-Patchwork-Id: 374644 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3191814009B for ; Wed, 30 Jul 2014 11:19:27 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754169AbaG3BTX (ORCPT ); Tue, 29 Jul 2014 21:19:23 -0400 Received: from spaceboyz.net ([87.106.131.203]:47776 "EHLO spaceboyz.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750926AbaG3BTW (ORCPT ); Tue, 29 Jul 2014 21:19:22 -0400 X-Greylist: delayed 1391 seconds by postgrey-1.27 at vger.kernel.org; Tue, 29 Jul 2014 21:19:22 EDT Received: from [2001:8d8:870:10ee:612a:d524:8cd2:707c] (helo=aegaeon.n2.diac24.net) by spaceboyz.net with esmtpsa (UNKNOWN:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.80.1) (envelope-from ) id 1XCIBa-0005O2-9H; Wed, 30 Jul 2014 02:56:06 +0200 Received: from equinox by aegaeon.n2.diac24.net with local (Exim 4.83_RC3) (envelope-from ) id 1XCIBR-000V2o-7D; Wed, 30 Jul 2014 02:55:57 +0200 From: David Lamparter To: "David S. Miller" , netdev@vger.kernel.org Cc: David Lamparter , Stephen Hemminger Subject: [PATCH net-next] ipv6: addrconf: fix mcast route for GRE devices Date: Wed, 30 Jul 2014 02:55:43 +0200 Message-Id: <1406681743-104844-1-git-send-email-equinox@diac24.net> X-Mailer: git-send-email 1.8.5.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 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 Cc: Stephen Hemminger --- net/ipv6/addrconf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 0b239fc..655a0df 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2824,6 +2824,7 @@ static void addrconf_gre_config(struct net_device *dev) } addrconf_addr_gen(idev, true); + addrconf_add_mroute(dev); } #endif