From aa3a931cd81d3576dbac40825c3d7b920b7dc76a Mon Sep 17 00:00:00 2001
From: Hongjun Ni <hongjun.ni@intel.com>
Date: Wed, 1 Jun 2016 01:23:46 +0800
Subject: 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>
---
 v3po/api/src/main/yang/v3po.yang | 55 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

(limited to 'v3po/api/src')

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 " +
-- 
cgit