diff --git a/src/confd/yang/infix-dhcp-client@2023-05-22.yang b/src/confd/yang/infix-dhcp-client@2023-05-22.yang index d1589269..a7042ae0 100644 --- a/src/confd/yang/infix-dhcp-client@2023-05-22.yang +++ b/src/confd/yang/infix-dhcp-client@2023-05-22.yang @@ -15,6 +15,66 @@ module infix-dhcp-client { reference "rfc2131 rfc7950"; } + /* + * Typedefs + */ + + typedef route-preference { + type uint32; + description "This type is used for route preferences (metric)."; + } + + typedef dhcp-options { + type union { + type uint8 { + range "0..61"; + } + type enumeration { + enum subnet { + value 1; + description "Subnet (IP address and netmask)"; + } + enum router { + value 3; + description "Default route(s)"; + } + enum dns { + value 6; + description "DNS server"; + } + enum hostname { + value 12; + description "Hostname"; + } + enum domain { + value 15; + description "Domain name"; + } + enum broadcast { + value 28; + description "Broadcast address"; + } + enum ntpsrv { + value 42; + description "NTP server"; + } + enum address { + value 50; + description "Requested (previously cached) address"; + } + enum clientid { + value 61; + description "Client ID (default MAC, and option 12)"; + } + enum staticroutes { + value 121; + description "Classless static routes"; + } + } + } + description "Supported DHCP client request options"; + } + /* * Data Nodes */ @@ -44,6 +104,24 @@ module infix-dhcp-client { type string; description "Optional Client ID, option 61, default: MAC address."; } + leaf arping { + type boolean; + default "true"; + description "ARP for lease to check for IP address collisions (slow)."; + } + leaf-list options { + type dhcp-options; + description "DHCP options to request (and accept), default: supported."; + } + leaf route-preference { + type route-preference; + default 100; + description + "The metric any route is installed with, both option 33 and 121. + The default (100) is based on a plain Ethernet interface, the + interface type determines this, e.g. a WiFi interface would be + metric 500."; + } } } }