Bug#814566: networkd >= 229-1 starts assigning IPv6 addresses/ routes to lower bridge members

Stefan Lippers-Hollmann s.l-h at gmx.de
Sat Feb 13 03:49:17 GMT 2016


Package: systemd
Version: 229-1
Severity: normal

Hi

After upgrading from systemd 228-6 to 229-1, I'm experiencing IPv6
connectivity issues. Debugging this shows some changes in the way 
systemd-networkd (systemd-resolved is also in use) deals with bridges
and IPv6 addresses - apparently the lower bridge members (physical 
ethernet cards) suddenly get their own IPv6 addresses/ routes assigned.
This messes up the routing table (lost packets) and also causes the 
DHCPv6 address reservations to fail/ get mis-assigned.

I have attached my networkd configuration (/etc/systemd/network/) as 
network.tar.gz; all virtual bridge member definitions (tap interfaces) 
have been removed before debugging this for clarity. systemd-networkd 
is the only active networking daemon, neither ifupdown nor 
network-manager are installed on the system(s) in question.

[ I've partially obfuscated the he.net /48 prefix with '1234' instead 
  of the real one ]

My router hands out IP addresses via DHCP (10.0.0.0/8) and DHCPv6 
(he.net tunnel 2001:470:1234:10::/64 (subset of a routed /48 prefix), 
ULA prefix fd01:470:1234:10::/64), running a recent OpenWrt trunk 
snapshot (r48686) on the ar71xx platform. There is no dhcpd/ dhcpv6d
running on the subnet connected to the br1 interface, nor any route
to the outside or any other network.

systemd 228-6:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 94:de:80:02:ca:42 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::96de:80ff:fe02:ca42/64 scope link 
       valid_lft forever preferred_lft forever
3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UP group default qlen 1000
    link/ether 00:08:54:57:18:2c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::208:54ff:fe57:182c/64 scope link 
       valid_lft forever preferred_lft forever
4: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:54:57:18:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.20/24 brd 192.168.20.255 scope global br1
       valid_lft forever preferred_lft forever
    inet6 fe80::208:54ff:fe57:182c/64 scope link 
       valid_lft forever preferred_lft forever
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 94:de:80:02:ca:42 brd ff:ff:ff:ff:ff:ff
    inet 10.10.20.0/8 brd 10.255.255.255 scope global dynamic br0
       valid_lft 43075sec preferred_lft 43075sec
    inet6 fd01:470:1234:10::10:2000/128 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd01:470:1234:10:ec7c:da74:ab3e:a43/64 scope global temporary dynamic 
       valid_lft 604677sec preferred_lft 85677sec
    inet6 fd01:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr dynamic 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:ec7c:da74:ab3e:a43/64 scope global temporary dynamic 
       valid_lft 604677sec preferred_lft 85677sec
    inet6 2001:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr dynamic 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe02:ca42/64 scope link 
       valid_lft forever preferred_lft forever

$ ip r
default via 10.0.0.1 dev br0  proto dhcp  src 10.10.20.0  metric 1024 
10.0.0.0/8 dev br0  proto kernel  scope link  src 10.10.20.0 
10.0.0.1 dev br0  proto dhcp  scope link  src 10.10.20.0  metric 1024 
192.168.20.0/24 dev br1  proto kernel  scope link  src 192.168.20.20

$ ip -6 r
2001:470:1234:10::/64 dev br0  proto kernel  metric 256  mtu 1424 pref medium
fd01:470:1234:10::/64 dev br0  proto kernel  metric 256  mtu 1424 pref medium
fe80::/64 dev enp2s0  proto kernel  metric 256  pref medium
fe80::/64 dev br0  proto kernel  metric 256  mtu 1424 pref medium
fe80::/64 dev enp4s0  proto kernel  metric 256  pref medium
fe80::/64 dev br1  proto kernel  metric 256  pref medium
default via fe80::92f6:52ff:fef6:c88 dev br0  proto ra  metric 1024  expires 65480sec mtu 1424 hoplimit 64 pref medium

# systemctl status -l systemd-networkd.service 
● systemd-networkd.service - Network Service
   Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sa 2016-02-13 04:22:36 CET; 3min 55s ago
     Docs: man:systemd-networkd.service(8)
 Main PID: 493 (systemd-network)
   Status: "Processing requests..."
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/systemd-networkd.service
           └─493 /lib/systemd/systemd-networkd

Feb 13 04:22:41 poseidon systemd-networkd[493]: enp4s0: Gained IPv6LL
Feb 13 04:22:41 poseidon systemd-networkd[493]: enp4s0: Configured
Feb 13 04:22:41 poseidon systemd-networkd[493]: br1: Gained IPv6LL
Feb 13 04:22:41 poseidon systemd-networkd[493]: br1: Configured
Feb 13 04:22:42 poseidon systemd-networkd[493]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:42 poseidon systemd-networkd[493]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:42 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument

# journalctl -u systemd-networkd.service
-- Logs begin at Sa 2016-02-13 04:22:31 CET, end at Sa 2016-02-13 04:23:23 CET. --
Feb 13 04:22:36 poseidon systemd[1]: Starting Network Service...
Feb 13 04:22:36 poseidon systemd-networkd[493]: br0: netdev ready
Feb 13 04:22:36 poseidon systemd-networkd[493]: br1: netdev ready
Feb 13 04:22:36 poseidon systemd-networkd[493]: Enumeration completed
Feb 13 04:22:36 poseidon systemd[1]: Started Network Service.
Feb 13 04:22:36 poseidon systemd-networkd[493]: enp2s0: Gained carrier
Feb 13 04:22:36 poseidon systemd-networkd[493]: br0: Gained carrier
Feb 13 04:22:36 poseidon systemd-networkd[493]: br0: DHCPv4 address 10.10.20.0/8 via 10.0.0.1
Feb 13 04:22:37 poseidon systemd-networkd[493]: br0: Gained IPv6LL
Feb 13 04:22:37 poseidon systemd-networkd[493]: br0: Configured
Feb 13 04:22:38 poseidon systemd-networkd[493]: enp2s0: Gained IPv6LL
Feb 13 04:22:38 poseidon systemd-networkd[493]: enp2s0: Configured
Feb 13 04:22:38 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:38 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:38 poseidon systemd-networkd[493]: br0: DHCPv6 address fd01:0470:1234:0010:0000:0000:0010:2000/128 timeout preferred -1 valid -1
Feb 13 04:22:39 poseidon systemd-networkd[493]: enp4s0: Gained carrier
Feb 13 04:22:39 poseidon systemd-networkd[493]: br1: Gained carrier
Feb 13 04:22:41 poseidon systemd-networkd[493]: enp4s0: Gained IPv6LL
Feb 13 04:22:41 poseidon systemd-networkd[493]: enp4s0: Configured
Feb 13 04:22:41 poseidon systemd-networkd[493]: br1: Gained IPv6LL
Feb 13 04:22:41 poseidon systemd-networkd[493]: br1: Configured
Feb 13 04:22:42 poseidon systemd-networkd[493]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:42 poseidon systemd-networkd[493]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:42 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:22:46 poseidon systemd-networkd[493]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument

systemd 229-1:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UP group default qlen 1000
    link/ether 00:08:54:57:18:2c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::208:54ff:fe57:182c/64 scope link 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 94:de:80:02:ca:42 brd ff:ff:ff:ff:ff:ff
    inet6 fd01:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe02:ca42/64 scope link 
       valid_lft forever preferred_lft forever
4: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:54:57:18:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.20/24 brd 192.168.20.255 scope global br1
       valid_lft forever preferred_lft forever
    inet6 fe80::208:54ff:fe57:182c/64 scope link 
       valid_lft forever preferred_lft forever
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 94:de:80:02:ca:42 brd ff:ff:ff:ff:ff:ff
    inet 10.10.20.0/8 brd 10.255.255.255 scope global dynamic br0
       valid_lft 42563sec preferred_lft 42563sec
    inet6 fd01:470:1234:10::10:2000/128 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd01:470:1234:10:dc66:ae3c:3f5b:497f/64 scope global temporary dynamic 
       valid_lft 604165sec preferred_lft 85165sec
    inet6 fd01:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:dc66:ae3c:3f5b:497f/64 scope global temporary dynamic 
       valid_lft 604165sec preferred_lft 85165sec
    inet6 2001:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe02:ca42/64 scope link 
       valid_lft forever preferred_lft forever

$ ip r
default via 10.0.0.1 dev br0  proto dhcp  src 10.10.20.0  metric 1024 
10.0.0.0/8 dev br0  proto kernel  scope link  src 10.10.20.0 
10.0.0.1 dev br0  proto dhcp  scope link  src 10.10.20.0  metric 1024 
192.168.20.0/24 dev br1  proto kernel  scope link  src 192.168.20.20

$ ip -6 r
2001:470:1234:10::/64 dev br0  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev enp2s0  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev br1  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev enp4s0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev br0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev enp2s0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev br1  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev enp4s0  proto ra  metric 1024  pref medium
fe80::/64 dev enp2s0  proto kernel  metric 256  pref medium
fe80::/64 dev br0  proto kernel  metric 256  pref medium
fe80::/64 dev enp4s0  proto kernel  metric 256  pref medium
fe80::/64 dev br1  proto kernel  metric 256  pref medium
default via fe80::92f6:52ff:fef6:c88 dev br0  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev enp2s0  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev br1  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev enp4s0  proto ra  metric 1024  pref medium

● systemd-networkd.service - Network Service
   Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sa 2016-02-13 04:16:12 CET; 3min 59s ago
     Docs: man:systemd-networkd.service(8)
 Main PID: 486 (systemd-network)
   Status: "Processing requests..."
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/systemd-networkd.service
           └─486 /lib/systemd/systemd-networkd

Feb 13 04:16:15 poseidon systemd-networkd[486]: enp4s0: Gained carrier
Feb 13 04:16:15 poseidon systemd-networkd[486]: br1: Gained carrier
Feb 13 04:16:16 poseidon systemd-networkd[486]: enp2s0: Configured
Feb 13 04:16:16 poseidon systemd-networkd[486]: enp4s0: Gained IPv6LL
Feb 13 04:16:17 poseidon systemd-networkd[486]: br1: Gained IPv6LL
Feb 13 04:16:17 poseidon systemd-networkd[486]: br0: Configured
Feb 13 04:16:29 poseidon systemd-networkd[486]: enp4s0: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 04:16:29 poseidon systemd-networkd[486]: enp4s0: Configured
Feb 13 04:16:29 poseidon systemd-networkd[486]: br1: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 04:16:29 poseidon systemd-networkd[486]: br1: Configured

# journalctl -u systemd-networkd.service 
-- Logs begin at Sa 2016-02-13 04:16:07 CET, end at Sa 2016-02-13 04:17:01 CET. --
Feb 13 04:16:12 poseidon systemd[1]: Starting Network Service...
Feb 13 04:16:12 poseidon systemd-networkd[486]: br0: netdev ready
Feb 13 04:16:12 poseidon systemd-networkd[486]: br1: netdev ready
Feb 13 04:16:12 poseidon systemd-networkd[486]: Enumeration completed
Feb 13 04:16:12 poseidon systemd[1]: Started Network Service.
Feb 13 04:16:12 poseidon systemd-networkd[486]: enp2s0: Gained carrier
Feb 13 04:16:12 poseidon systemd-networkd[486]: br0: Gained carrier
Feb 13 04:16:12 poseidon systemd-networkd[486]: br0: DHCPv4 address 10.10.20.0/8 via 10.0.0.1
Feb 13 04:16:14 poseidon systemd-networkd[486]: enp2s0: Gained IPv6LL
Feb 13 04:16:14 poseidon systemd-networkd[486]: br0: Gained IPv6LL
Feb 13 04:16:14 poseidon systemd-networkd[486]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:16:15 poseidon systemd-networkd[486]: br0: DHCPv6 address fd01:0470:1234:0010:0000:0000:0010:2000/128 timeout preferred -1 valid -1
Feb 13 04:16:15 poseidon systemd-networkd[486]: enp4s0: Gained carrier
Feb 13 04:16:15 poseidon systemd-networkd[486]: br1: Gained carrier
Feb 13 04:16:16 poseidon systemd-networkd[486]: enp2s0: Configured
Feb 13 04:16:16 poseidon systemd-networkd[486]: enp4s0: Gained IPv6LL
Feb 13 04:16:17 poseidon systemd-networkd[486]: br1: Gained IPv6LL
Feb 13 04:16:17 poseidon systemd-networkd[486]: br0: Configured
Feb 13 04:16:29 poseidon systemd-networkd[486]: enp4s0: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 04:16:29 poseidon systemd-networkd[486]: enp4s0: Configured
Feb 13 04:16:29 poseidon systemd-networkd[486]: br1: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 04:16:29 poseidon systemd-networkd[486]: br1: Configured

There is one potentially uncommon part of my systemd-networkd 
configuration, I'm hardcoding the MAC address of the bridge (br0/ br1)
to the MAC address of the underlying physical network card (br0 gets
assigned the same MAC address as its bridge member enp2s0). I do this
in order to always get the same IPv4/ IPv6 addresses via its static
DHCP/ DHCPv6 lease and its associated DNS entries, regardless of the OS
or configuration being started. However changing this for testing 
(incrementing the bridge's MAC address by 1) doesn't show any change in 
behaviour.

systemd 229-1 with different/ incremented MAC addresses:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UP group default qlen 1000
    link/ether 00:08:54:57:18:2c brd ff:ff:ff:ff:ff:ff
    inet6 fd01:470:1234:10:208:54ff:fe57:182c/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:208:54ff:fe57:182c/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::208:54ff:fe57:182c/64 scope link 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 94:de:80:02:ca:42 brd ff:ff:ff:ff:ff:ff
    inet6 fd01:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:96de:80ff:fe02:ca42/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe02:ca42/64 scope link 
       valid_lft forever preferred_lft forever
4: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:08:54:57:18:2d brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.20/24 brd 192.168.20.255 scope global br1
       valid_lft forever preferred_lft forever
    inet6 fd01:470:1234:10:208:54ff:fe57:182d/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:208:54ff:fe57:182d/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::208:54ff:fe57:182d/64 scope link 
       valid_lft forever preferred_lft forever
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 94:de:80:02:ca:43 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.179/8 brd 10.255.255.255 scope global dynamic br0
       valid_lft 42452sec preferred_lft 42452sec
    inet6 fd01:470:1234:10::f14/128 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd01:470:1234:10:a81f:51eb:3b60:442/64 scope global temporary dynamic 
       valid_lft 604051sec preferred_lft 85051sec
    inet6 fd01:470:1234:10:96de:80ff:fe02:ca43/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001:470:1234:10:a81f:51eb:3b60:442/64 scope global temporary dynamic 
       valid_lft 604051sec preferred_lft 85051sec
    inet6 2001:470:1234:10:96de:80ff:fe02:ca43/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe02:ca43/64 scope link 
       valid_lft forever preferred_lft forever

$ ip r
default via 10.0.0.1 dev br0  proto dhcp  src 10.0.0.179  metric 1024 
10.0.0.0/8 dev br0  proto kernel  scope link  src 10.0.0.179 
10.0.0.1 dev br0  proto dhcp  scope link  src 10.0.0.179  metric 1024 
192.168.20.0/24 dev br1  proto kernel  scope link  src 192.168.20.20 

$ ip -6 r
2001:470:1234:10::/64 dev br0  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev enp4s0  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev br1  proto ra  metric 1024  pref medium
2001:470:1234:10::/64 dev enp2s0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev br0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev enp4s0  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev br1  proto ra  metric 1024  pref medium
fd01:470:1234:10::/64 dev enp2s0  proto ra  metric 1024  pref medium
fe80::/64 dev enp2s0  proto kernel  metric 256  pref medium
fe80::/64 dev br0  proto kernel  metric 256  pref medium
fe80::/64 dev enp4s0  proto kernel  metric 256  pref medium
fe80::/64 dev br1  proto kernel  metric 256  pref medium
default via fe80::92f6:52ff:fef6:c88 dev br0  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev enp4s0  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev br1  proto ra  metric 1024  pref medium
default via fe80::92f6:52ff:fef6:c88 dev enp2s0  proto ra  metric 1024  pref medium

# systemctl status -l systemd-networkd.service
● systemd-networkd.service - Network Service
   Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sa 2016-02-13 03:37:26 CET; 32min ago
     Docs: man:systemd-networkd.service(8)
 Main PID: 487 (systemd-network)
   Status: "Processing requests..."
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/systemd-networkd.service
           └─487 /lib/systemd/systemd-networkd

Feb 13 03:37:43 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 03:37:43 poseidon systemd-networkd[487]: br1: Configured
Feb 13 03:37:43 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 03:37:43 poseidon systemd-networkd[487]: enp4s0: Configured
Feb 13 03:41:54 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 03:41:54 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 03:41:54 poseidon systemd-networkd[487]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument

# journalctl -u systemd-networkd.service
-- Logs begin at Sa 2016-02-13 03:37:21 CET, end at Sa 2016-02-13 04:09:31 CET. --
Feb 13 03:37:26 poseidon systemd[1]: Starting Network Service...
Feb 13 03:37:26 poseidon systemd-networkd[487]: br0: netdev ready
Feb 13 03:37:26 poseidon systemd-networkd[487]: br1: netdev ready
Feb 13 03:37:26 poseidon systemd-networkd[487]: Enumeration completed
Feb 13 03:37:26 poseidon systemd-networkd[487]: enp2s0: Gained carrier
Feb 13 03:37:26 poseidon systemd-networkd[487]: br0: Gained carrier
Feb 13 03:37:26 poseidon systemd[1]: Started Network Service.
Feb 13 03:37:28 poseidon systemd-networkd[487]: br0: Gained IPv6LL
Feb 13 03:37:28 poseidon systemd-networkd[487]: enp2s0: Gained IPv6LL
Feb 13 03:37:29 poseidon systemd-networkd[487]: br0: DHCPv6 address fd01:0470:1234:0010:0000:0000:0000:0f14/128 timeout preferred -1 valid -1
Feb 13 03:37:29 poseidon systemd-networkd[487]: br0: DHCPv4 address 10.0.0.179/8 via 10.0.0.1
Feb 13 03:37:29 poseidon systemd-networkd[487]: enp4s0: Gained carrier
Feb 13 03:37:29 poseidon systemd-networkd[487]: br1: Gained carrier
Feb 13 03:37:30 poseidon systemd-networkd[487]: br1: Gained IPv6LL
Feb 13 03:37:30 poseidon systemd-networkd[487]: enp4s0: Gained IPv6LL
Feb 13 03:37:31 poseidon systemd-networkd[487]: br0: Configured
Feb 13 03:37:40 poseidon systemd-networkd[487]: enp2s0: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 03:37:40 poseidon systemd-networkd[487]: enp2s0: Configured
Feb 13 03:37:43 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 03:37:43 poseidon systemd-networkd[487]: br1: Configured
Feb 13 03:37:43 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Feb 13 03:37:43 poseidon systemd-networkd[487]: enp4s0: Configured
Feb 13 03:41:54 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 03:41:54 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 03:41:54 poseidon systemd-networkd[487]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: enp4s0: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: br1: Starting DHCPv6 client on NDisc request failed: Invalid argument
Feb 13 04:09:31 poseidon systemd-networkd[487]: enp2s0: Starting DHCPv6 client on NDisc request failed: Invalid argument

The lower (physical-) bridge members only get their IPv6 addresses
after a couple of minutes, immediately after rebooting it's still all
fine; this attached configuration has been working well for me for
many months before. I see this behaviour on multiple systems, all
with very similar configurations (most with more than just two 
physical/ independent subnets (no interconnections) and typically 
with 15-20 tap interfaces used for virtual (kvm) machines).

I can reproduce this with src:systemd 229-1, reverting all installed 
src:systemd packages to 228-6 fixes the issue again.

Regards
	Stefan Lippers-Hollmann

-- Package-specific info:

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.4.0-1.slh.1-aptosid-amd64 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  adduser         3.113+nmu3
ii  libacl1         2.2.52-3
ii  libapparmor1    2.10-3
ii  libaudit1       1:2.4.5-1
ii  libblkid1       2.27.1-3
ii  libc6           2.21-7
ii  libcap2         1:2.24-12
ii  libcap2-bin     1:2.24-12
ii  libcryptsetup4  2:1.7.0-2
ii  libgcrypt20     1.6.4-5
ii  libgpg-error0   1.21-1
ii  libkmod2        22-1
ii  liblzma5        5.1.1alpha+20120614-2.1
ii  libmount1       2.27.1-3
ii  libpam0g        1.1.8-3.2
ii  libseccomp2     2.2.3-2
ii  libselinux1     2.4-3
ii  libsystemd0     229-1
ii  mount           2.27.1-3
ii  util-linux      2.27.1-3

Versions of packages systemd recommends:
ii  dbus            1.10.6-1
ii  libpam-systemd  229-1

Versions of packages systemd suggests:
pn  systemd-container  <none>
pn  systemd-ui         <none>

Versions of packages systemd is related to:
ii  udev  229-1

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: network.tar.gz
Type: application/gzip
Size: 475 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20160213/741870cb/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20160213/741870cb/attachment-0001.sig>


More information about the Pkg-systemd-maintainers mailing list