From: Yu Watanabe Date: Sat, 2 May 2026 13:40:22 +0000 (+0900) Subject: dhcp-protocol: introduce more sub-options for DHCP Relay Agent Information option X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e507487b6dde82a391e62b7c4dc5c9500d00a2e0;p=thirdparty%2Fsystemd.git dhcp-protocol: introduce more sub-options for DHCP Relay Agent Information option These new values will be used later. --- diff --git a/src/libsystemd-network/dhcp-protocol.h b/src/libsystemd-network/dhcp-protocol.h index c2df5a574a8..49f0125b20c 100644 --- a/src/libsystemd-network/dhcp-protocol.h +++ b/src/libsystemd-network/dhcp-protocol.h @@ -124,4 +124,9 @@ enum { DHCP_FQDN_FLAG_N = (1 << 3), }; +/* For SD_DHCP_RELAY_AGENT_FLAGS sub-option. */ +enum { + DHCP_RELAY_AGENT_FLAG_UNICAST = 1 << 0, +}; + DECLARE_STRING_TABLE_LOOKUP_TO_STRING(dhcp_option_code, int); diff --git a/src/systemd/sd-dhcp-protocol.h b/src/systemd/sd-dhcp-protocol.h index 55ce189cf49..8ba28777a3c 100644 --- a/src/systemd/sd-dhcp-protocol.h +++ b/src/systemd/sd-dhcp-protocol.h @@ -193,10 +193,31 @@ enum { SD_DHCP_OPTION_END = 255 /* [RFC2132] */ }; -/* Suboptions for SD_DHCP_OPTION_RELAY_AGENT_INFORMATION option */ +/* Suboptions for SD_DHCP_OPTION_RELAY_AGENT_INFORMATION option. See + * https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#relay-agent-sub-options */ enum { - SD_DHCP_RELAY_AGENT_CIRCUIT_ID = 1, - SD_DHCP_RELAY_AGENT_REMOTE_ID = 2 + SD_DHCP_RELAY_AGENT_CIRCUIT_ID = 1, + SD_DHCP_RELAY_AGENT_REMOTE_ID = 2, + /* suboption code 3 is reserved */ + SD_DHCP_RELAY_AGENT_DOCSIS_DEVICE_CLASS = 4, + SD_DHCP_RELAY_AGENT_LINK_SELECTION = 5, + SD_DHCP_RELAY_AGENT_SUBSCRIBER_ID = 6, + SD_DHCP_RELAY_AGENT_RADIUS_ATTRIBUTE = 7, + SD_DHCP_RELAY_AGENT_AUTHENTICATION = 8, + SD_DHCP_RELAY_AGENT_VENDOR_SPECIFIC_INFORMATION = 9, + SD_DHCP_RELAY_AGENT_FLAGS = 10, + SD_DHCP_RELAY_AGENT_SERVER_IDENTIFIER_OVERRIDE = 11, + SD_DHCP_RELAY_AGENT_IDENTIFIER = 12, + SD_DHCP_RELAY_AGENT_ACCESS_TECHNOLOGY_TYPE = 13, + SD_DHCP_RELAY_AGENT_ACCESS_NETWORK_NAME = 14, + SD_DHCP_RELAY_AGENT_ACCESS_POINT_NAME = 15, + SD_DHCP_RELAY_AGENT_ACCESS_POINT_BSSID = 16, + SD_DHCP_RELAY_AGENT_OPERATOR_IDENTIFIER = 17, + SD_DHCP_RELAY_AGENT_OPERATOR_REALM = 18, + SD_DHCP_RELAY_AGENT_SOURCE_PORT = 19, + /* suboption code 20-150 are unassigned */ + SD_DHCP_RELAY_AGENT_VIRTUAL_SUBNET_SELECTION = 151, + SD_DHCP_RELAY_AGENT_VIRTUAL_SUBNET_SELECTION_CONTROL = 152 }; _SD_END_DECLARATIONS;