Bug#815793: IPv6 code ignores unsolicited router advertisements
Martin Pitt
mpitt at debian.org
Wed Jul 6 10:49:17 BST 2016
Hello Marc,
Marc Haber [2016-07-06 9:42 +0200]:
> I think this particular issue can be triggered by:
>
> - set up a router running radvd
> - start up a client with networkd and systemd IPv6 implementation
> - manually remove any IPv6 address and IPv6 route from the client
> - restart the radvd on the router
>
> The client should pick up the prefix and route that the newly started
> radvd announces. At least this would be my first test.
I did that now:
| ip link add name enc type veth peer name ens
| ip a add 2600::1/64 dev ens
| ip link set ens up
|
| cat <<EOF > /tmp/ra.conf
| interface ens
| {
| AdvSendAdvert on;
| prefix 2600::1/64
| {};
| };
| EOF
|
| radvd -C /tmp/ra.conf -n -m stderr -d2
Other terminal:
| mkdir -p /run/systemd/network
| cat <<EOF > /run/systemd/network/enc.network
| [Match]
| Name=enc
|
| [Network]
| IPv6AcceptRouterAdvertisements=yes
| EOF
|
| SYSTEMD_LOG_LEVEL=debug /lib/systemd/systemd-networkd
I also ran "tcpdump -i ens" in parallel, as before. This does the
solicitation and picks up radvd's RA and I get some random 2600:*
address:
| Disc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
| NDisc CLIENT: Update prefix 2600:0000:0000:0000:0000:0000:0000:0001/64 lifetime 86400 expires in 1d
| ens: Updating address: 2600::7852:45ff:fed7:9ab4/64 (valid for 1d)
I now killed radvd, then "ip a del 2600:[..] dev enc", and restart
radvd. And once again networkd picks this up and adds an IPv6 address.
This looks the same for 229, 230/upstream and 230/sid (with the
reverted patch). Thus I cannot confirm that networkd ignores these
unsolicited router advertisements.
So re-trying with my test packages and getting a networkd debug log
would be appreciated. Thanks!
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
More information about the Pkg-systemd-maintainers
mailing list