diff options
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.yang | 161 |
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 |