summaryrefslogtreecommitdiffstats
path: root/lisp/api/src/main/yang/gpe@2017-08-01.yang
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2017-08-04 08:49:05 +0200
committerJan Srnicek <jsrnicek@cisco.com>2017-08-07 10:34:01 +0200
commit941edc8b15e5f3fed701b5585ce7ad421991b16d (patch)
tree55a73bd261f181cd890da517f25aeed519033af9 /lisp/api/src/main/yang/gpe@2017-08-01.yang
parent1eac992e90839c99337a80db4ff6b880787a3056 (diff)
HC2VPP-162 - use composite key for locator pair
Removes need for custom mapping for locator pairs and their ids Change-Id: Idaa6ee5ec74d8bf57a72bea95c0c0d408e6e940e Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'lisp/api/src/main/yang/gpe@2017-08-01.yang')
-rw-r--r--lisp/api/src/main/yang/gpe@2017-08-01.yang161
1 files changed, 161 insertions, 0 deletions
diff --git a/lisp/api/src/main/yang/gpe@2017-08-01.yang b/lisp/api/src/main/yang/gpe@2017-08-01.yang
new file mode 100644
index 000000000..e327e9bd8
--- /dev/null
+++ b/lisp/api/src/main/yang/gpe@2017-08-01.yang
@@ -0,0 +1,161 @@
+module gpe {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:gpe";
+ prefix "gpe";
+
+ import lisp {
+ prefix "lisp";
+ }
+
+ import ietf-interfaces {
+ prefix "if";
+ }
+
+ import ietf-inet-types {
+ prefix "inet";
+ }
+
+ import ietf-lisp-address-types {
+ prefix "lisp-types";
+ }
+
+ revision 2017-08-01 {
+ description
+ "Locator pair composite key support";
+ }
+
+ revision 2017-05-18 {
+ description
+ "Add support for defining lisp gpe forward entries";
+ }
+
+ grouping locator-pairs-grouping {
+ list locator-pair {
+ key "local-locator remote-locator";
+ leaf local-locator {
+ type inet:ip-address;
+ description "Local locator address";
+ }
+ leaf remote-locator {
+ type inet:ip-address;
+ description "Remote locator address";
+ }
+ leaf weight {
+ type uint8;
+ description "Weight";
+ }
+ }
+ }
+ grouping gpe-entry-table-grouping {
+ container gpe-entry-table {
+ when "../enable = 'true'";
+
+ list gpe-entry {
+ key id;
+ leaf id {
+ type string;
+ description "GPE entry ID";
+ }
+ leaf dp-table {
+ type uint32;
+ mandatory true;
+ description "VRF/BD index";
+ }
+ leaf vni {
+ type uint32;
+ mandatory true;
+ description "Virtual Network Identifier";
+ }
+ container local-eid {
+ presence "Enforce mandatory only if present";
+ uses lisp-types:lisp-address;
+ description "Local EID that must be a local address";
+ }
+ container remote-eid {
+ presence "Enforce mandatory only if present";
+ uses lisp-types:lisp-address;
+ description "Remote EID";
+ }
+ leaf action {
+ type lisp:map-reply-action;
+ description "Forwarding action for negative entries";
+ }
+ uses locator-pairs-grouping;
+ }
+ }
+ }
+
+ grouping gpe-feature-data-grouping {
+ //aggregation of all gpe data, restricted by GPE being enabled
+ container gpe-feature-data {
+ leaf enable {
+ type boolean;
+ description "Enable/disable GPE feature";
+ }
+
+ uses gpe-entry-table-grouping;
+ }
+ }
+
+ container gpe {
+ // gpe_enable_disable
+
+ uses gpe-feature-data-grouping;
+ description "GPE configuration";
+ }
+
+ container gpe-state {
+ //gpe_enable_disable_status_dump
+ config false;
+
+ uses gpe-feature-data-grouping;
+ description "GPE state";
+ }
+
+ container native-forward-paths-tables {
+ // gpe_add_del_native_fwd_rpath
+ list native-forward-paths-table{
+ key table-id;
+
+ leaf table-id {
+ type uint32;
+ }
+
+ list native-forward-path {
+ key next-hop-address;
+
+ leaf next-hop-address {
+ type inet:ip-address;
+ }
+
+ leaf next-hop-interface {
+ type if:interface-ref;
+ }
+ }
+ }
+ }
+
+ container native-forward-paths-tables-state {
+ // gpe_native_fwd_rpaths_get
+ config false;
+ list native-forward-paths-table{
+ key table-id;
+
+ leaf table-id {
+ type uint32;
+ }
+
+ list native-forward-path {
+ key next-hop-address;
+
+ leaf next-hop-address {
+ type inet:ip-address;
+ }
+
+ leaf next-hop-interface {
+ type if:interface-state-ref;
+ }
+ }
+ }
+ }
+} \ No newline at end of file