aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-aft-mpls.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-aft-mpls.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-aft-mpls.yang111
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.";
+ }
+ }
+}