module dhcp { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:vpp:dhcp"; prefix "dhcp"; import ietf-inet-types { prefix inet; } description "This YANG module defines the generic configuration and operational data for dhcp in VPP"; revision "2018-01-03" { description "Changes type of ip-addresses from inet:ip-address to inet:ip-address-no-zone."; reference "https://jira.fd.io/browse/HC2VPP-79"; } revision "2017-03-15" { description "Initial revision of dhcp model"; } identity address-family { description "Base identity from which identities describing address families are derived."; } identity ipv4 { base address-family; description "This identity represents IPv4 address family."; } identity ipv6 { base address-family; description "This identity represents IPv6 address family."; } typedef address-type { type identityref { base address-family; } } grouping relay-attributes { list server { key "vrf-id address"; leaf address { type inet:ip-address-no-zone; description "IP address of the server DHCP packets will be forwarded to."; } leaf vrf-id { type uint32; description "Used to send DHCP messages to the server"; } } leaf gateway-address { type inet:ip-address-no-zone; mandatory true; description "IP address of the relay agent."; } // TODO(HC2VPP-44): add configurable circut-id (option-82/remote-id) } grouping dhcp-attributes { container relays { list relay { key "address-type rx-vrf-id"; leaf address-type { type address-type; } leaf rx-vrf-id { type uint32; description "Used to receive DHCP messages from clients."; } uses relay-attributes; } } } container dhcp { uses dhcp-attributes; } }