summaryrefslogtreecommitdiffstats
path: root/nsh/api/src/main/yang/vpp-nsh.yang
diff options
context:
space:
mode:
Diffstat (limited to 'nsh/api/src/main/yang/vpp-nsh.yang')
-rw-r--r--nsh/api/src/main/yang/vpp-nsh.yang303
1 files changed, 0 insertions, 303 deletions
diff --git a/nsh/api/src/main/yang/vpp-nsh.yang b/nsh/api/src/main/yang/vpp-nsh.yang
deleted file mode 100644
index d4914f4fd..000000000
--- a/nsh/api/src/main/yang/vpp-nsh.yang
+++ /dev/null
@@ -1,303 +0,0 @@
-module vpp-nsh {
- yang-version 1;
- namespace "urn:opendaylight:params:xml:ns:yang:vpp:nsh";
- prefix "vpp-nsh";
-
- revision "2016-06-24" {
- description "Initial revision of vpp-nsh model";
- }
-
- import iana-if-type {
- prefix "ianaift";
- }
- import ietf-interfaces {
- prefix "if";
- }
- import ietf-yang-types {
- prefix "yang";
- }
- import ietf-inet-types {
- prefix "inet";
- }
- import yang-ext {
- prefix "ext";
- }
- import v3po {
- prefix "v3po";
- }
- /*
- * Defines the supported next protocols that can be used for
- * NSH next-protocol field.
- */
- identity next-protocol {
- description "Base identity from which all nsh next protocols
- are derived from";
- }
-
- identity ipv4 {
- base next-protocol;
- description
- "Support ipv4 to act as next protocol";
- }
-
- identity ipv6 {
- base next-protocol;
- description
- "Support ipv6 to act as next protocol";
- }
-
- identity ethernet {
- base next-protocol;
- description
- "Support ethernet to act as next protocol";
- }
-
- typedef nsh-next-protocol {
- type identityref {
- base "next-protocol";
- }
- description "Identifies a specific next protocol for nsh";
- }
-
- /*
- * Defines the supported nsh header action.
- */
- identity action-type {
- description "nsh header action type";
- }
-
- identity swap {
- base "action-type";
- description "swap action type";
- }
-
- identity push {
- base "action-type";
- description "push action type";
- }
-
- identity pop {
- base "action-type";
- description "pop action type";
- }
-
- typedef nsh-action-type {
- type identityref {
- base "action-type";
- }
- }
-
- /*
- * Defines the supported encap type.
- */
- identity encap-type {
- description "encap type";
- }
-
- identity vxlan-gpe {
- base "encap-type";
- description "vxlan-gpe encap type";
- }
-
- identity vxlan {
- base "encap-type";
- description "vxlan encap type";
- }
-
- typedef nsh-encap-type {
- type identityref {
- base "encap-type";
- }
- }
-
- /*
- * Defines the supported MD-types.
- */
- identity md-type {
- description "md type";
- }
-
- identity md-type1 {
- base "md-type";
- description "nsh md-type1";
- }
-
- identity md-type2 {
- base "md-type";
- description "nsh md-type2";
- }
-
- typedef nsh-md-type {
- type identityref {
- base "md-type";
- }
- }
-
- grouping nsh-md-type1-attributes {
- leaf c1 {
- type uint32;
- }
- leaf c2 {
- type uint32;
- }
- leaf c3 {
- type uint32;
- }
- leaf c4 {
- type uint32;
- }
- }
-
- grouping nsh-md-type2-attributes {
- leaf type {
- type uint32;
- }
- }
-
- grouping nsh-entry-base-attributes {
- leaf name {
- type string;
- description "NSH Entry Name";
- }
- leaf nsp {
- type uint32 {
- range "0..16777215";
- }
- }
- leaf nsi {
- type uint8 {
- range "1..255";
- }
- }
- leaf md-type {
- type nsh-md-type;
- }
- leaf version {
- type uint8;
- }
- leaf length {
- type uint8;
- }
- leaf next-protocol {
- type nsh-next-protocol;
- }
- }
-
- grouping nsh-map-base-attributes {
- leaf name {
- type string;
- description "NSH Map Name";
- }
- leaf nsp {
- type uint32 {
- range "0..16777215";
- }
- }
- leaf nsi {
- type uint8 {
- range "1..255";
- }
- }
- leaf mapped-nsp {
- type uint32 {
- range "0..16777215";
- }
- }
- leaf mapped-nsi {
- type uint8 {
- range "1..255";
- }
- }
- leaf nsh-action {
- type nsh-action-type;
- default "swap";
- }
- leaf encap-type {
- type nsh-encap-type;
- }
- leaf encap-if-name {
- type string;
- description "Interface Name";
- }
- }
-
- container vpp-nsh {
- description
- "NSH config data";
-
- container nsh-entries {
- list nsh-entry {
- key "name";
-
- uses nsh-entry-base-attributes;
-
- description
- "nsh-entry configuration";
- }
- }
-
- container nsh-maps {
- list nsh-map {
- key "name";
-
- uses nsh-map-base-attributes;
-
- description
- "nsh-map configuration";
- }
- }
- }
-
- augment /vpp-nsh/nsh-entries/nsh-entry {
- ext:augment-identifier nsh-md-type-1-augment;
- when "/md-type = 'vpp-nsh:md-type1' ";
- uses nsh-md-type1-attributes;
- }
-
- augment /vpp-nsh/nsh-entries/nsh-entry {
- ext:augment-identifier nsh-md-type-2-augment;
- when "/md-type = 'vpp-nsh:md-type2' ";
- uses nsh-md-type2-attributes;
- }
-
- container vpp-nsh-state {
- config false;
-
- description
- "NSH operational data";
-
- container nsh-entries {
- list nsh-entry {
- key "name";
-
- uses nsh-entry-base-attributes;
-
- description
- "nsh-entry operational data";
- }
- }
-
- container nsh-maps {
- list nsh-map {
- key "name";
-
- uses nsh-map-base-attributes;
-
- description
- "nsh-map operational data";
- }
- }
- }
-
- augment /vpp-nsh-state/nsh-entries/nsh-entry {
- ext:augment-identifier nsh-md-type-1-state-augment;
- when "/md-type = 'vpp-nsh:md-type1' ";
- uses nsh-md-type1-attributes;
- }
-
- augment /vpp-nsh-state/nsh-entries/nsh-entry {
- ext:augment-identifier nsh-md-type-2-state-augment;
- when "/md-type = 'vpp-nsh:md-type2' ";
- uses nsh-md-type2-attributes;
- }
-} \ No newline at end of file