diff options
-rw-r--r-- | interface-role/api/asciidoc/Readme.adoc | 3 | ||||
-rw-r--r-- | interface-role/api/pom.xml | 27 | ||||
-rw-r--r-- | interface-role/api/src/main/yang/interface-role.yang | 78 | ||||
-rw-r--r-- | interface-role/pom.xml | 22 | ||||
-rw-r--r-- | pom.xml | 1 |
5 files changed, 131 insertions, 0 deletions
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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <groupId>io.fd.hc2vpp.common</groupId> + <artifactId>api-parent</artifactId> + <version>1.17.07-SNAPSHOT</version> + <relativePath>../../common/api-parent</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <groupId>io.fd.hc2vpp.iface.role</groupId> + <artifactId>api</artifactId> + <version>1.17.07-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>yang-ext</artifactId> + </dependency> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>ietf-interfaces</artifactId> + </dependency> + </dependencies> +</project>
\ 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>hc2vpp-parent</artifactId> + <groupId>io.fd.hc2vpp.common</groupId> + <version>1.17.07-SNAPSHOT</version> + <relativePath>../common/hc2vpp-parent</relativePath> + </parent> + + <modelVersion>4.0.0</modelVersion> + + <groupId>io.fd.hc2vpp.iface.role</groupId> + <artifactId>interface-role-aggregator</artifactId> + <packaging>pom</packaging> + <version>1.17.07-SNAPSHOT</version> + + <modules> + <module>api</module> + </modules> +</project>
\ No newline at end of file @@ -52,5 +52,6 @@ <module>l3</module> <module>vpp-management</module> <module>it</module> + <module>interface-role</module> </modules> </project>
\ No newline at end of file |