[PATCH v3 0/3] net: DHCPv6 protocol and commands

seanedmond at linux.microsoft.com seanedmond at linux.microsoft.com
Tue Apr 11 19:48:45 CEST 2023


From: Sean Edmond <seanedmond at 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 v3:
- Always instance pxelinux_configfile (allows for clean-up of many ugly #ifdef)
- clean-up includes in dhcpv6.c
- clean-up single line comments
- use strlcpy() for setting pxelinux_configfile
- change API ordering to reduce fordard declarations in dhcpv6.c
- remove <net6.h> and <net.h> include in dhcpv6.h
- Add detailed function header to dhcp6_start()
- Remove conditional include of dhcpv6.h
- Remove inline from pxe_dhcp_option_path()
- Remove ugly "pxe get"/"pxe boot" command definition (specify the maximum
  number of arguments and do number of parameter checking in c code)

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                 |  85 ++++-
 cmd/sysboot.c             |   2 +-
 configs/sandbox_defconfig |   1 +
 include/net.h             |   6 +-
 include/pxe_utils.h       |  10 +-
 net/Makefile              |   1 +
 net/dhcpv6.c              | 719 ++++++++++++++++++++++++++++++++++++++
 net/dhcpv6.h              | 256 ++++++++++++++
 net/net.c                 |  11 +-
 test/py/tests/test_net.py |  25 ++
 15 files changed, 1147 insertions(+), 27 deletions(-)
 create mode 100644 net/dhcpv6.c
 create mode 100644 net/dhcpv6.h

-- 
2.40.0



More information about the U-Boot mailing list