From: Sean Edmond <seanedm...@microsoft.com> The recently integrated IPv6 patch series relies on the link-local address, or a statically assigned IPv6 address for network operations. This patch series adds IPv6 address assignment through DHCPv6.
The implementation meets the requirements in RFC 8415 for "Client/Server Exchanges Involving Four Messages": https://www.rfc-editor.org/rfc/rfc8415 The implementation sends/receives the minimum required DHCPv6 options to network boot. A new command (dhcp6) will execute the protocol. In addition, IPv6 functionality has been extended to the existing pxe commands ("pxe get" and "pxe boot"). changes in v2: - Add sandbox test in test_net.py - Add CONFIG_CMD_DHCP6 to sandbox_defconfig - fix comment style (/**/ instead of //) - move addition of Kconfig from 1st patch to 2nd patch - Fix warning (warning: label ‘error_exit’ defined but not used") when CONFIG_DHCP6_PXE_DHCP_OPTION not configured - Fix dhcp6 command help - Use net_set_timeout_handler(0, NULL) in dhcpv6.c - Move USE_IP6_CMD_PARAM back to net6.h Sean Edmond (3): net: dhcp6: Add DHCPv6 (DHCP for IPv6) net: dhcp6: pxe: Add DHCP/PXE commands for IPv6 net: dhcp6: Add a sandbox test for dhcp6 boot/bootmeth_distro.c | 2 +- boot/bootmeth_pxe.c | 4 +- boot/pxe_utils.c | 3 +- cmd/Kconfig | 26 ++ cmd/net.c | 23 ++ cmd/pxe.c | 86 ++++- cmd/sysboot.c | 2 +- configs/sandbox_defconfig | 1 + include/net.h | 8 +- include/pxe_utils.h | 10 +- net/Makefile | 1 + net/dhcpv6.c | 735 ++++++++++++++++++++++++++++++++++++++ net/dhcpv6.h | 212 +++++++++++ net/net.c | 12 + test/py/tests/test_net.py | 25 ++ 15 files changed, 1132 insertions(+), 18 deletions(-) create mode 100644 net/dhcpv6.c create mode 100644 net/dhcpv6.h -- 2.40.0