sd-network: IPv4 link-local support [v2]

System Internals / systemd - Umut Tezduyar Lindskog [axis.com] - 3 March 2014 16:24 UTC

Implements IPv4LL with respect to RFC 3927 (http://tools.ietf.org/rfc/rfc3927.txt) and integrates it with networkd. Majority of the IPv4LL state machine is taken from avahi (http://avahi.org/) project's autoip.

IPv4LL can be enabled by IPv4LL=yes under [Network] section of .network file.

IPv4LL works independent of DHCP but if DHCP lease is aquired, then LL address will be dropped.

[tomegun: removed a trailing newline and a compiler warning]

5c1d3fc sd-network: IPv4 link-local support [v2]
Makefile.am | 7 +-
TODO | 5 +
src/libsystemd-network/ipv4ll-internal.h | 38 +++
src/libsystemd-network/ipv4ll-network.c | 56 ++++
src/libsystemd-network/ipv4ll-packet.c | 71 ++++
src/libsystemd-network/sd-ipv4ll.c | 519 ++++++++++++++++++++++++++++++
src/libsystemd/sd-rtnl/rtnl-message.c | 14 +
src/network/networkd-address.c | 4 +-
src/network/networkd-link.c | 312 ++++++++++++++++--
src/network/networkd-network-gperf.gperf | 1 +
src/network/networkd-route.c | 85 +++++
src/network/networkd.h | 8 +
src/systemd/sd-ipv4ll.h | 50 +++
src/systemd/sd-rtnl.h | 1 +
14 files changed, 1140 insertions(+), 31 deletions(-)

Upstream: github.com


  • Share