[systemd-devel] systemd-networkd: IPv6 prefix wrongly applied to every interface

Andreas Schultz aschultz at tpip.net
Mon Jan 18 05:00:23 PST 2016


Hi,

Seems there is already a bug filed for this: https://github.com/systemd/systemd/issues/2004

Sorry, for the noise.

Andreas

On 01/18/2016 12:05 PM, Andreas Schultz wrote:
> Hi,
>
> I have a problem with systemd-networkd compiled from
> git head (rev dd050decb6ad131ebdeabb71c4f9ecb4733269c0).
>
> On a multi-homed system, when multiple interfaces are
> configure with
>
>     LinkLocalAddressing=ipv6
>
> (the default), when a IPv6 prefix received via RA on one
> of the interfaces is mistakenly applied to all of them.
>
> This obviously completely screws IPv6 routing.
>
> Sample log:
>
> ge0p5: Flags change: +LOWER_UP +RUNNING
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_37 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=31 reply_cookie=0 error=n/a
> ge0p5: Gained carrier
> e1000e: ge0p0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
> IPv6: ADDRCONF(NETDEV_CHANGE): ge0p0: link becomes ready
> ge0p0: Flags change: +LOWER_UP +RUNNING
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_32 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=32 reply_cookie=0 error=n/a
> ge0p0: Gained carrier
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=33 reply_cookie=0 error=n/a
> ge0p0: Adding address: fe80::290:bff:fe2a:8506/64 (valid forever)
> ge0p0: Gained IPv6LL
> ge0p0: Discovering IPv6 routers
> NDisc CLIENT: Start Router Solicitation
> NDisc CLIENT: Sent Router Solicitation
> ge0p5: Adding address: fe80::290:bff:fe2a:850b/64 (valid forever)
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_37 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=34 reply_cookie=0 error=n/a
> ge0p5: Gained IPv6LL
> ge0p5: Discovering IPv6 routers
> NDisc CLIENT: Start Router Solicitation
> NDisc CLIENT: Sent Router Solicitation
> NDisc CLIENT: Sent Router Solicitation
> NDisc CLIENT: Sent Router Solicitation
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: Router Advertisement link MTU 1500 using 1500
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: Router Advertisement link MTU 1500 using 1500
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: New prefix 2001:06f8:12d9:0013:0000:0000:0000:0000/64 lifetime 2592000 expires in 4w 2d
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: New prefix 2001:06f8:12d9:0013:0000:0000:0000:0000/64 lifetime 2592000 expires in 4w 2d
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: New prefix 2001:06f8:12d9:0016:0000:0000:0000:0000/64 lifetime 2592000 expires in 4w 2d
> NDisc CLIENT: Received Router Advertisement: flags none preference medium lifetime 1800 sec
> NDisc CLIENT: New prefix 2001:06f8:12d9:0016:0000:0000:0000:0000/64 lifetime 2592000 expires in 4w 2d
> ge0p5: Updating address: 2001:6f8:12d9:16:290:bff:fe2a:850b/64 (valid for 4w 1d 23h 59min 59s)
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_37 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=35 reply_cookie=0 error=n/a
> ge0p0: Updating address: 2001:6f8:12d9:13:290:bff:fe2a:8506/64 (valid for 4w 1d 23h 59min 59s)
> ge0p5: Updating address: 2001:6f8:12d9:13:290:bff:fe2a:850b/64 (valid for 4w 1d 23h 59min 59s)
> ge0p5: Configured
> Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_37 interface=org.freedesktop.DBus.Properties
> member=PropertiesChanged cookie=36 reply_cookie=0 error=n/a
> ge0p0: Updating address: 2001:6f8:12d9:16:290:bff:fe2a:8506/64 (valid for 4w 1d 23h 59min 59s)
> ge0p0: Configured
>
>
> The resulting routing table:
>
> ~# ip -6 route
> 2001:6f8:12d9:13::/64 dev ge0p5  proto ra  metric 1024  pref medium
> 2001:6f8:12d9:13::/64 dev ge0p0  proto ra  metric 1024  pref medium
> 2001:6f8:12d9:16::/64 dev ge0p5  proto ra  metric 1024  pref medium
> 2001:6f8:12d9:16::/64 dev ge0p0  proto ra  metric 1024  pref medium
>
> I have verified that the 2001:6f8:12d9:13::/64 prefix is only advertised on ge0p5
> and the 2001:6f8:12d9:16::/64 is only advertised on ge0p0.
>
> Regards
> Andreas
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel


More information about the systemd-devel mailing list