From b83a4a9d291991b07034c0889694eda247e9c8cd Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Thu, 9 Feb 2017 14:33:52 +0100 Subject: HC2VPP-53: YANG model for DHCP Relay Change-Id: Ia6dd23a731b1889f5b69ff1761604c29ff84f03c Signed-off-by: Marek Gradzki --- dhcp/dhcp-api/asciidoc/Readme.adoc | 14 ++++++ dhcp/dhcp-api/pom.xml | 51 ++++++++++++++++++++ dhcp/dhcp-api/src/main/yang/dhcp.yang | 89 +++++++++++++++++++++++++++++++++++ dhcp/pom.xml | 53 +++++++++++++++++++++ pom.xml | 1 + 5 files changed, 208 insertions(+) create mode 100644 dhcp/dhcp-api/asciidoc/Readme.adoc create mode 100644 dhcp/dhcp-api/pom.xml create mode 100644 dhcp/dhcp-api/src/main/yang/dhcp.yang create mode 100644 dhcp/pom.xml diff --git a/dhcp/dhcp-api/asciidoc/Readme.adoc b/dhcp/dhcp-api/asciidoc/Readme.adoc new file mode 100644 index 000000000..12e3bcd56 --- /dev/null +++ b/dhcp/dhcp-api/asciidoc/Readme.adoc @@ -0,0 +1,14 @@ += dhcp-api + +Provides YANG model that defines DHCP configuration for VPP. + +Currently only DHCP relay configuration is supported. + +Operational data model is not supported +(there is no binary API for reading DHCP configuration). + +== Notes on model +* DHCP relay configuration is based on dhcp_proxy_config_2 message API: + https://git.fd.io/vpp/tree/src/vnet/dhcp/dhcp.api#n48 +* More info regarding functionality provided by VPP can be found + at https://docs.fd.io/vpp/17.04/clicmd_src_vnet_dhcp.html#clicmd_set_dhcp_proxy diff --git a/dhcp/dhcp-api/pom.xml b/dhcp/dhcp-api/pom.xml new file mode 100644 index 000000000..bbeb988f3 --- /dev/null +++ b/dhcp/dhcp-api/pom.xml @@ -0,0 +1,51 @@ + + + + io.fd.honeycomb.common + api-parent + 1.17.04-SNAPSHOT + + + 4.0.0 + io.fd.hc2vpp.dhcp + dhcp-api + dhcp-api + 1.17.04-SNAPSHOT + bundle + + + + org.opendaylight.mdsal.model + iana-if-type-2014-05-08 + + + org.opendaylight.mdsal.model + ietf-yang-types-20130715 + + + org.opendaylight.mdsal.model + ietf-interfaces + + + org.opendaylight.mdsal.model + ietf-inet-types-2013-07-15 + + + org.opendaylight.mdsal.model + yang-ext + + + diff --git a/dhcp/dhcp-api/src/main/yang/dhcp.yang b/dhcp/dhcp-api/src/main/yang/dhcp.yang new file mode 100644 index 000000000..281c5049a --- /dev/null +++ b/dhcp/dhcp-api/src/main/yang/dhcp.yang @@ -0,0 +1,89 @@ +module dhcp { + + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:vpp:dhcp"; + prefix "dhcp"; + + description + "This YANG module defines the generic configuration and + operational data for dhcp in VPP"; + + revision "2017-03-15" { + description + "Initial revision of dhcp model"; + } + + import ietf-inet-types { + prefix inet; + } + + 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 { + leaf server-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of the server DHCP packets will be forwarded to."; + } + leaf server-vrf-id { + type uint32; + default 0; + 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."; + } + leaf insert-circuit-id { + type boolean; + default true; + } + } + + 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; + } +} \ No newline at end of file diff --git a/dhcp/pom.xml b/dhcp/pom.xml new file mode 100644 index 000000000..d6e565265 --- /dev/null +++ b/dhcp/pom.xml @@ -0,0 +1,53 @@ + + + + io.fd.hc2vpp.dhcp + + + hc2vpp-aggregator + io.fd.hc2vpp + 1.17.04-SNAPSHOT + + dhcp-aggregator + 1.17.04-SNAPSHOT + dhcp-aggregator + pom + 4.0.0 + + + dhcp-api + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-install-plugin + + true + + + + + diff --git a/pom.xml b/pom.xml index 434eefca3..b7e4f7099 100644 --- a/pom.xml +++ b/pom.xml @@ -45,5 +45,6 @@ release-notes vpp-integration acl + dhcp \ No newline at end of file -- cgit 1.2.3-korg