summaryrefslogtreecommitdiffstats
path: root/lisp/api/src/main/yang/gpe@2017-05-18.yang
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/api/src/main/yang/gpe@2017-05-18.yang')
-rw-r--r--lisp/api/src/main/yang/gpe@2017-05-18.yang162
1 files changed, 162 insertions, 0 deletions
diff --git a/lisp/api/src/main/yang/gpe@2017-05-18.yang b/lisp/api/src/main/yang/gpe@2017-05-18.yang
new file mode 100644
index 000000000..c99d5f26a
--- /dev/null
+++ b/lisp/api/src/main/yang/gpe@2017-05-18.yang
@@ -0,0 +1,162 @@
+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-05-18 {
+ description
+ "Add support for defining lisp gpe forward entries";
+ }
+
+ grouping locator-pair {
+ container locator-pair {
+ 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";
+ }
+ list locator-pairs {
+ key id;
+ leaf id {
+ type string;
+ description "Locator Pair ID";
+ }
+ uses locator-pair;
+ }
+ leaf action {
+ type lisp:map-reply-action;
+ description "Forwarding action for negative entries";
+ }
+ }
+ }
+ }
+
+ 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