Hi, 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 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 -- 2.1.3 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel