diff options
Diffstat (limited to 'v3po/api/src/main/yang/v3po.yang')
-rw-r--r-- | v3po/api/src/main/yang/v3po.yang | 55 |
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 " + |