From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PATCH net-next] ipv6: Allow the l3mdev to be a loopback Date: Wed, 19 Sep 2018 10:19:05 -0700 Message-ID: References: <20180919125653.15913-1-mmanning@vyatta.att-mail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Robert Shearman To: Mike Manning , netdev@vger.kernel.org Return-path: Received: from mail-pf1-f194.google.com ([209.85.210.194]:42500 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731271AbeISW6A (ORCPT ); Wed, 19 Sep 2018 18:58:00 -0400 Received: by mail-pf1-f194.google.com with SMTP id l9-v6so3011121pff.9 for ; Wed, 19 Sep 2018 10:19:07 -0700 (PDT) In-Reply-To: <20180919125653.15913-1-mmanning@vyatta.att-mail.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 9/19/18 5:56 AM, Mike Manning wrote: > From: Robert Shearman > > There is no way currently for an IPv6 client connect using a loopback > address in a VRF, whereas for IPv4 the loopback address can be added: > > $ sudo ip addr add dev vrfred 127.0.0.1/8 > $ sudo ip -6 addr add ::1/128 dev vrfred > RTNETLINK answers: Cannot assign requested address > > So allow ::1 to be configured on an L3 master device. In order for > this to be usable ip_route_output_flags needs to not consider ::1 to > be a link scope address (since oif == l3mdev and so it would be > dropped), and ipv6_rcv needs to consider the l3mdev to be a loopback > device so that it doesn't drop the packets. > > Signed-off-by: Robert Shearman > Signed-off-by: Mike Manning > --- > net/ipv6/addrconf.c | 1 + > net/ipv6/ip6_input.c | 3 ++- > net/ipv6/route.c | 3 ++- > 3 files changed, 5 insertions(+), 2 deletions(-) > Reviewed-by: David Ahern Been on my to-do list for a while. Thanks for the patch. This resolves, for example, a harmless error message from the 'host' command from bind9-host-9.10.3 which probes for dscp support via the loopback address. e.g., $ host www.google.com ../../../../lib/isc/unix/net.c:581: sendmsg() failed: Network is unreachable