netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: thomas.gambier@nexedi.com
To: David Ahern <dsahern@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org, Julien Muchembled <jm@nexedi.com>,
	Jean-Paul Smets <jp@nexedi.com>
Subject: PROBLEM: can't ping anycast IPv6 address on lo interface
Date: Fri, 26 Jun 2020 09:20:43 +0000	[thread overview]
Message-ID: <fcb3d6853922beec880dda255e249288@nexedi.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2268 bytes --]

Hello,

this is the first time I report a bug to the kernel team. Please let me 
know if there are any missing information or if I should post on 
bugzilla instead.


Since Linux 5.2, I can't ping anycast address on lo interface.

If you enable IPv6 forwarding for an interface and add a IPv6 address 
range on this interface, it is possible to ping the addres 0 of the 
range (anycast address). This doesn't work for "lo" interface since 
Linux 5.2.

I bisected to find that the commit 
c7a1ce397adacaf5d4bb2eab0a738b5f80dc3e43 
(https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=c7a1ce397adacaf5d4bb2eab0a738b5f80dc3e43) 
introduced the regression. Please note that the regression is still 
present on master branch of net repository (commit 
2570284060b48f3f79d8f1a2698792f36c385e9a from yesterday).

I attach my config file to this email (this config was used to compile 
latest master branch).

In order to reproduce you can use this small script:

root@kernel-compil-vm:~# cat test.bash
#! /bin/bash
echo 1 >  /proc/sys/net/ipv6/conf/all/forwarding
ip -6 a add fc12::1/16 dev lo
sleep 2
echo "pinging lo"
ping6 -c 2 fc12::


Before the regression you will see:
pinging lo
PING fc12::(fc12::) 56 data bytes
64 bytes from fc12::1: icmp_seq=1 ttl=64 time=0.111 ms
64 bytes from fc12::1: icmp_seq=2 ttl=64 time=0.062 ms


After the regression you will see:
pinging lo
PING fc12::(fc12::) 56 data bytes
 From fc12::: icmp_seq=1 Destination unreachable: No route
 From fc12::: icmp_seq=2 Destination unreachable: No route




Please note that if you test this on any physical ethernet interface, it 
still works properly.


For a bit of context, I'm one of the maintainer of re6st 
(https://re6st.nexedi.com) free software. This software gives an IPv6 
address range to a machine. By default it will assign it to lo interface 
and the current implementation is giving the address 1 of the range to 
the machine. But in order to keep maximum flexibility, we are contacting 
the machines on the re6st network using the anycast address of the 
range. We started to notice that it didn't work anymore on Ubuntu 20.04 
(Linux 5.4) and then we started to investigate up to this bug report.


Let me know if you need anything else.

Regards.

Thomas.

[-- Attachment #2: config.gz --]
[-- Type: application/x-gzip, Size: 33986 bytes --]

             reply	other threads:[~2020-06-26  9:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26  9:20 thomas.gambier [this message]
2020-07-07  0:25 ` PROBLEM: can't ping anycast IPv6 address on lo interface David Ahern
2020-07-07  8:24   ` thomas.gambier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fcb3d6853922beec880dda255e249288@nexedi.com \
    --to=thomas.gambier@nexedi.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=jm@nexedi.com \
    --cc=jp@nexedi.com \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=netdev@vger.kernel.org \
    --cc=yoshfuji@linux-ipv6.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).