From: ssoss Date: Wed, 30 Jul 2025 15:42:45 +0000 (-0500) Subject: network: add new DHCPv6 message types and options X-Git-Tag: v258-rc2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e55da38aab0a7e7d5ba4de3243512fa70401df9;p=thirdparty%2Fsystemd.git network: add new DHCPv6 message types and options Gives enum definitions for the DHCPv6 options from RFC9527 and RFC 9686 and the new message types defined in RFC 9686. --- diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c index 1de4bacd1b4..4eef68fa3b3 100644 --- a/src/libsystemd-network/dhcp6-option.c +++ b/src/libsystemd-network/dhcp6-option.c @@ -210,6 +210,10 @@ bool dhcp6_option_can_request(uint16_t option) { case SD_DHCP6_OPTION_V6_DOTS_ADDRESS: case SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF: case SD_DHCP6_OPTION_V6_DNR: + case SD_DHCP6_OPTION_REGISTERED_DOMAIN: + case SD_DHCP6_OPTION_FORWARD_DIST_MANAGER: + case SD_DHCP6_OPTION_REVERSE_DIST_MANAGER: + case SD_DHCP6_OPTION_ADDR_REG_ENABLE: return true; default: return false; diff --git a/src/libsystemd-network/dhcp6-protocol.h b/src/libsystemd-network/dhcp6-protocol.h index 75608348cdd..794b0032484 100644 --- a/src/libsystemd-network/dhcp6-protocol.h +++ b/src/libsystemd-network/dhcp6-protocol.h @@ -98,6 +98,8 @@ typedef enum DHCP6MessageType { DHCP6_MESSAGE_DISCONNECT = 33, /* RFC 8156 */ DHCP6_MESSAGE_STATE = 34, /* RFC 8156 */ DHCP6_MESSAGE_CONTACT = 35, /* RFC 8156 */ + DHCP6_MESSAGE_ADDR_REG_INFORM = 36, /* RFC 9686 */ + DHCP6_MESSAGE_ADDR_REG_REPLY = 37, /* RFC 9686 */ _DHCP6_MESSAGE_TYPE_MAX, _DHCP6_MESSAGE_TYPE_INVALID = -EINVAL, } DHCP6MessageType; diff --git a/src/systemd/sd-dhcp6-protocol.h b/src/systemd/sd-dhcp6-protocol.h index b1d9ca1ffab..6c1cf536795 100644 --- a/src/systemd/sd-dhcp6-protocol.h +++ b/src/systemd/sd-dhcp6-protocol.h @@ -165,9 +165,13 @@ enum { SD_DHCP6_OPTION_SLAP_QUAD = 140, /* RFC 8948 */ SD_DHCP6_OPTION_V6_DOTS_RI = 141, /* RFC 8973 */ SD_DHCP6_OPTION_V6_DOTS_ADDRESS = 142, /* RFC 8973 */ - SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143, /* RFC 6153 */ - SD_DHCP6_OPTION_V6_DNR = 144 /* RFC 9463 */ - /* option codes 145-65535 are unassigned */ + SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143, /* RFC 6153 */ + SD_DHCP6_OPTION_V6_DNR = 144, /* RFC 9463 */ + SD_DHCP6_OPTION_REGISTERED_DOMAIN = 145, /* RFC 9527 */ + SD_DHCP6_OPTION_FORWARD_DIST_MANAGER = 146, /* RFC 9527 */ + SD_DHCP6_OPTION_REVERSE_DIST_MANAGER = 147, /* RFC 9527 */ + SD_DHCP6_OPTION_ADDR_REG_ENABLE = 148 /* RFC 9686 */ + /* option codes 149-65535 are unassigned */ }; _SD_END_DECLARATIONS;