summaryrefslogtreecommitdiffstats
path: root/v3po/api/src/main
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2016-06-01 01:23:46 +0800
committerHongjun Ni <hongjun.ni@intel.com>2016-06-02 00:56:11 +0800
commitf1da426ffcd61fc4b498dfa4192c0cde19b552e2 (patch)
tree7b4ff29f06d67e3fa91162aa10c4477cb46dfeff /v3po/api/src/main
parente78326418cc149f7c90827b3d0be49eaeca54dae (diff)
HONEYCOMB-71: Add VxLAN-GPE feature
Patchset 3: Add Vxlan-gpe requests in postman_rest_collection.json Patchset 2: Fix the indent issue. Change-Id: If42b667f60a3591efc4b79353d78935277f8fb4d Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Diffstat (limited to 'v3po/api/src/main')
-rw-r--r--v3po/api/src/main/yang/v3po.yang55
1 files changed, 55 insertions, 0 deletions
diff --git a/v3po/api/src/main/yang/v3po.yang b/v3po/api/src/main/yang/v3po.yang
index 2ebb24f9a..c1210a923 100644
--- a/v3po/api/src/main/yang/v3po.yang
+++ b/v3po/api/src/main/yang/v3po.yang
@@ -100,6 +100,26 @@ module v3po {
}
}
+ identity vxlan-gpe-tunnel {
+ base if:interface-type;
+ }
+
+ typedef vxlan-gpe-vni {
+ description "VNI used in a VXLAN-GPE tunnel";
+ type uint32 {
+ range "0..16777215";
+ }
+ }
+
+ typedef vxlan-gpe-next-protocol {
+ type enumeration {
+ enum ipv4;
+ enum ipv6;
+ enum ethernet;
+ enum nsh;
+ }
+ }
+
grouping bridge-domain-attributes {
leaf flood {
type boolean;
@@ -261,6 +281,30 @@ module v3po {
}
}
+ grouping vxlan-gpe-base-attributes {
+ leaf local {
+ /*mandatory true;*/
+ type inet:ip-address;
+ }
+ leaf remote {
+ /*mandatory true;*/
+ type inet:ip-address;
+ }
+ leaf vni {
+ /*mandatory true;*/
+ type vxlan-gpe-vni;
+ }
+ leaf next-protocol {
+ type vxlan-gpe-next-protocol;
+ }
+ leaf encap-vrf-id {
+ type uint32;
+ }
+ leaf decap-vrf-id {
+ type uint32;
+ }
+ }
+
grouping vlan-tag-rewrite-attributes {
leaf rewrite-operation {
type tag-rewrite-operation;
@@ -376,6 +420,12 @@ module v3po {
uses l2-attributes;
}
+
+ container vxlan-gpe {
+ when "../if:type = 'v3po:vxlan-gpe-tunnel'";
+
+ uses vxlan-gpe-base-attributes;
+ }
}
container vpp {
@@ -451,6 +501,11 @@ module v3po {
when "../if:type = 'v3po:vxlan-tunnel'";
uses vxlan-base-attributes;
}
+ container vxlan-gpe {
+ when "../if:type = 'v3po:vxlan-gpe-tunnel'";
+
+ uses vxlan-gpe-base-attributes;
+ }
container l2 {
must "(not (../if:ipv4[if:enabled = 'true']/if:address/if:ip) and " +