140 lines
3.6 KiB
YANG
140 lines
3.6 KiB
YANG
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.4.1";
|
|
|
|
revision "2019-11-07" {
|
|
description
|
|
"Move lsp-name leaf out of aft-common-entry-nexthop-state group.";
|
|
reference "0.4.1";
|
|
}
|
|
|
|
revision "2019-08-02" {
|
|
description
|
|
"Add installing protocol for IPv[46] unicast entries.
|
|
Add the ability to describe conditional next-hop groups
|
|
outside of the policy forwarding module to allow for efficient
|
|
handling of CBTS, where many prefixes may share the same next-hop
|
|
criteria.";
|
|
reference "0.4.0";
|
|
}
|
|
|
|
revision "2019-08-01" {
|
|
description
|
|
"Add lsp-name leaf to AFT next-hop.";
|
|
reference "0.3.3";
|
|
}
|
|
|
|
revision "2018-11-21" {
|
|
description
|
|
"Add OpenConfig module metadata extensions.";
|
|
reference "0.3.2";
|
|
}
|
|
|
|
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.";
|
|
}
|
|
}
|
|
}
|