diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-aft-mpls.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-aft-mpls.yang | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-aft-mpls.yang b/src/plugins/yang/openconfig/openconfig-aft-mpls.yang new file mode 100644 index 0000000..1772fe0 --- /dev/null +++ b/src/plugins/yang/openconfig/openconfig-aft-mpls.yang @@ -0,0 +1,111 @@ +submodule openconfig-aft-mpls { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding table for MPLS label forwarding."; + + oc-ext:openconfig-version "0.3.1"; + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-mpls-structural { + description + "Structural grouping defining the schema for the MPLS + abstract forwarding table."; + + list label-entry { + key "label"; + + description + "List of the MPLS entries within the abstract + forwarding table. This list is keyed by the top-most MPLS + label."; + + leaf label { + type leafref { + path "../config/label"; + } + description + "Reference to the top-most MPLS label matched by the + entry."; + } + + container config { + description + "Configuration parameters for the MPLS AFT entry."; + uses aft-mpls-entry-config; + } + + container state { + config false; + description + "Operational state parameters for the MPLS AFT + entry."; + uses aft-mpls-entry-config; + uses aft-mpls-entry-state; + } + } + } + + grouping aft-mpls-entry-config { + description + "Configuration parameters for the MPLS entry."; + + leaf label { + type oc-mplst:mpls-label; + description + "The top-most MPLS label that should be matched to + utilise the AFT entry."; + } + } + + grouping aft-mpls-entry-state { + description + "Operational state parameters for the MPLS entry."; + uses aft-common-entry-state; + + leaf-list popped-mpls-label-stack { + type oc-mplst:mpls-label; + description + "The MPLS label stack to be popped from the packet when + switched by the system. The stack is encoded as a leaf-list + such that the first entry is the label that is outer-most (i.e., + furthest from the bottom of the stack). + + If the local system pops the outer-most label 400, then the + value of this list is [400,]. If the local system removes two + labels, the outer-most being 500, and the second of which is + 400, then the value of the list is [500, 400]. + + A swap operation is reflected by entries in the + popped-mpls-label-stack and pushed-mpls-label-stack nodes."; + } + } +} |