[systemd-devel] [PATCH 0/6] DHCPv6 Information request

Patrik Flykt patrik.flykt at linux.intel.com
Wed Dec 10 06:17:29 PST 2014


This patch set implements DHCPv6 Information request, i.e. the situation
where Router Advertisments announce that only 'Other' information, not
IPv6 addresses, is available via DHCPv6. This patch doesn't have anything
to do with the prefix delegation discussed earlier; it was simply left
half implemented for a while on my machine.

The first two patches clean up the code a bit, so that later additions
are easier to implement.

The third patch adds support for requesting additional information and
ignores any addresses that should not have been sent by the DHCPv6
server anyway. Patch 04 makes a simple test case verifying also that it
is possible to switch from Information request to a normal DHCPv6 address
acquisition procedure.

Patch 05 moves systemd-networkd DHCPv6 initialization and handling into
a file of its own following what's been done for DHCPv4 and IPv4 link
local. Finally patch 06 adds the necessary logic to request the addtional
information from the DHCPv6 server and possibly upgrading the procedure
to the normal IPv6 address aquisition process should the 'Managed' bit
become set in the Router Advertisments. Reversing this procedure, i.e.
"downgrading" it back to fetching additional information only is not
possible according to RFCs.

Please review,


Patrik Flykt (6):
  sd-dhcp6-client: Make end of successfull option parsing explicit
  sd-dhcp6-lease: Return only -EINVAL when a NULL lease is supplied
  sd-dhcp6-client: Implement Information Request message
  test-dhcp6-client: Add a simple Information Request test case
  networkd-dhcp6: Move ICMPv6 and DHCPv6 configuration to new file
  networkd-dhcp6: Support ICMPv6 Other information

 Makefile.am                                |   1 +
 src/libsystemd-network/dhcp6-protocol.h    |   3 +
 src/libsystemd-network/sd-dhcp6-client.c   | 150 ++++++++++++++++-----
 src/libsystemd-network/sd-dhcp6-lease.c    |   4 +-
 src/libsystemd-network/test-dhcp6-client.c | 126 ++++++++++++++---
 src/network/networkd-dhcp6.c               | 210 +++++++++++++++++++++++++++++
 src/network/networkd-link.c                | 122 +----------------
 src/network/networkd-link.h                |   1 +
 src/systemd/sd-dhcp6-client.h              |   5 +
 9 files changed, 445 insertions(+), 177 deletions(-)
 create mode 100644 src/network/networkd-dhcp6.c


More information about the systemd-devel mailing list