]> git.ipfire.org Git - thirdparty/systemd.git/commit
networkd-ndisc: Don't add NDisc route for local address (#4467)
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Mon, 24 Oct 2016 11:44:01 +0000 (14:44 +0300)
committerLennart Poettering <lennart@poettering.net>
Mon, 24 Oct 2016 11:44:01 +0000 (13:44 +0200)
commit6d7c761572a1a7630512c31ad8277728a7eadcb4
tree050c550e271429a663945fd7e8ce264ce4deaf44
parent366ddd252ed25397ead209228b48c5eef93ced2e
networkd-ndisc: Don't add NDisc route for local address (#4467)

When systemd-networkd is run on the same IPv6 enabled interface where
radvd is announcing prefixes, a route is being set up pointing to the
interface address. As this will fail with an invalid argument error,
the link is marked as failed and the following message like the
following will appear in in the logs:

systemd-networkd[21459]: eth1: Could not set NDisc route or address: Invalid argument
systemd-networkd[21459]: eth1: Failed

Should the interface be required by systemd-networkd-wait-online,
network-online.target will wait until its timeout hits thereby
significantly delaying system startup.

The fix is to check whether the gateway address obtained from NDisc
messages is equal to any of the interface addresses on the same link
and not set the NDisc route in that case.
src/network/networkd-ndisc.c