From f681f003b874d1c2ce031ed48d7696802a23a190 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Thu, 20 Apr 2017 16:07:43 +0200 Subject: HC2VPP-128 - interface role specification api Change-Id: I534e4d67d43006e61b8cb7355460bf440b20476f Signed-off-by: Jan Srnicek --- interface-role/api/asciidoc/Readme.adoc | 3 + interface-role/api/pom.xml | 27 ++++++++ .../api/src/main/yang/interface-role.yang | 78 ++++++++++++++++++++++ interface-role/pom.xml | 22 ++++++ 4 files changed, 130 insertions(+) create mode 100644 interface-role/api/asciidoc/Readme.adoc create mode 100644 interface-role/api/pom.xml create mode 100644 interface-role/api/src/main/yang/interface-role.yang create mode 100644 interface-role/pom.xml (limited to 'interface-role') diff --git a/interface-role/api/asciidoc/Readme.adoc b/interface-role/api/asciidoc/Readme.adoc new file mode 100644 index 000000000..c2a75a37c --- /dev/null +++ b/interface-role/api/asciidoc/Readme.adoc @@ -0,0 +1,3 @@ += api + +Overview of api \ No newline at end of file diff --git a/interface-role/api/pom.xml b/interface-role/api/pom.xml new file mode 100644 index 000000000..16dba94ec --- /dev/null +++ b/interface-role/api/pom.xml @@ -0,0 +1,27 @@ + + + + io.fd.hc2vpp.common + api-parent + 1.17.07-SNAPSHOT + ../../common/api-parent + + 4.0.0 + + io.fd.hc2vpp.iface.role + api + 1.17.07-SNAPSHOT + + + + org.opendaylight.mdsal.model + yang-ext + + + org.opendaylight.mdsal.model + ietf-interfaces + + + \ No newline at end of file diff --git a/interface-role/api/src/main/yang/interface-role.yang b/interface-role/api/src/main/yang/interface-role.yang new file mode 100644 index 000000000..72af173b6 --- /dev/null +++ b/interface-role/api/src/main/yang/interface-role.yang @@ -0,0 +1,78 @@ +module interface-role { + + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:interface:role"; + prefix "if-role"; + + // TODO - update revision number to 17.07 release date + revision "2017-03-15" { + description "Basic specification of interface roles"; + } + + import ietf-interfaces { + prefix "if"; + } + + import yang-ext { + prefix "ext"; + } + + identity network-role-base { + description "Base identity for network interface roles"; + } + + identity virtual-domain-interface { + base network-role-base; + description "Tenant network interface. Interface must be enabled and have ip assigned"; + } + + identity public-interface { + base network-role-base; + description "Public interface for external access. Interface must be enabled and have ip assigned"; + } + + typedef network-role { + type identityref { + base network-role-base; + } + description "Base type for network interface roles"; + } + + grouping interface-role-grouping { + container roles { + list role { + key role-name; + + leaf role-name { + type string; + description "Unique name for role"; + mandatory true; + } + + leaf role-type { + type network-role; + description "Specifies type of network role"; + mandatory true; + } + + leaf description { + type string; + description "Any additional metadata for this assignment of network role"; + } + } + } + } + + augment /if:interfaces/if:interface { + ext:augment-identifier "interface-role-augmentation"; + + uses interface-role-grouping; + } + + augment /if:interfaces-state/if:interface { + ext:augment-identifier "interface-role-state-augmentation"; + + uses interface-role-grouping; + } +} + diff --git a/interface-role/pom.xml b/interface-role/pom.xml new file mode 100644 index 000000000..bbfb72e18 --- /dev/null +++ b/interface-role/pom.xml @@ -0,0 +1,22 @@ + + + + hc2vpp-parent + io.fd.hc2vpp.common + 1.17.07-SNAPSHOT + ../common/hc2vpp-parent + + + 4.0.0 + + io.fd.hc2vpp.iface.role + interface-role-aggregator + pom + 1.17.07-SNAPSHOT + + + api + + \ No newline at end of file -- cgit 1.2.3-korg