Bug#831414: systemd: learns IPv6 prefix from its own RAs and configures IP address on wrong interface

Marc Haber mh+debian-bugs at zugschlus.de
Sat Jul 16 12:18:38 BST 2016


On Sat, Jul 16, 2016 at 10:55:29AM +0200, Martin Pitt wrote:
> Marc Haber [2016-07-15 21:00 +0200]:
> > I am filing this as severity minor because this bug is in a version
> > that is not officially in Debian.
> 
> Bumping as I dropped the reverted patch in git, i. e. the next upload
> will have the original upstream behaviour again.

Please don't, I do have another IPv6 showstopper bug in the pipe. The
code is IMO beyond repair and should be dumped and rewritten by
somebody who does actually know the protocol. How much more can
upstream do wrong with the default IP protocol of 2016 for exactly not
reason, we do have standard conforming and working code in the kernel.

> > While following up Martin's requests for #815793 and #815884, I have
> > found new misbehsvior regarding IPv6.
> 
> Thanks for the detailled description. To ensure that we have all the
> things to reproduce it, can you please attach the corresponding
> .network and .netdev files for eth0 and br0?

Nothing fancy at all:

[4/504]mh at fan:~$ head -n-0 /etc/systemd/network/*
==> /etc/systemd/network/br0.netdev <==
[NetDev]
Name=br0
Kind=bridge

==> /etc/systemd/network/br0.network <==
[Match]
Name=br0

[Network]
Address=192.168.29.254/24
DHCP=no
IPForward=yes

[Address]
Address=2a01:db8:0:328d::1d:100/64

[Address]
Address=2a01:db8:0:328d::1d:153/64

#[Address]
#Address=fe80::1/64

[Address]
Address=fec0:0:0:ffff::1/128

[Address]
Address=fec0:0:0:ffff::2/128

[Address]
Address=fec0:0:0:ffff::3/128

[Route]
Gateway=192.168.29.180
Destination=172.16.0.0/24
Source=192.168.181.0/24

==> /etc/systemd/network/eth0.network <==
[Match]
Name=eth0

[Network]
DHCP=yes
IPForward=yes
DNS=192.168.181.53
DNS=192.168.251.53
DNS=fec0:0:0:ffff::1
Domains=zugschlus.de ka51.zugschlus.de
IPv6AcceptRouterAdvertisements=1

[Address]
Address=2a01:db8:0:3282::1d:100/64

[Address]
Address=2a01:db8:0:3282::1d:250/128

[Address]
Address=192.168.182.250/32

==> /etc/systemd/network/eth0.network~ <==
[Match]
Name=eth0

[Network]
DHCP=yes
IPForward=yes
DNS=192.168.181.53
DNS=192.168.251.53
DNS=fec0:0:0:ffff::1
Domains=zugschlus.de ka51.zugschlus.de
#IPv6AcceptRouterAdvertisements=1

[Address]
Address=2a01:db8:0:3282::1d:100/64

[Address]
Address=2a01:db8:0:3282::1d:250/128

[Address]
Address=192.168.182.250/32
[5/505]mh at fan:~$ 

This is plain networkd, no network-manager or ifupdown here.

If the systemd IPv6 userspace code does neighbor discovery as well,
then there is an additional bug since I have seen the system go the
neighbor cache entry for the default gateway go stale, thus losing
IPv6 connectivity, without re-soliciting the neighbor. I am not
reporting this as a bug right away since I saw this behavior in the
kernel code a few years ago, so this might be a new kernel issue. It
just appeared when I went to the 5pitti1 packages.

Greetings
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421




More information about the Pkg-systemd-maintainers mailing list