summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-aft-common.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-aft-common.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-aft-common.yang385
1 files changed, 0 insertions, 385 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-aft-common.yang b/src/plugins/yang/openconfig/openconfig-aft-common.yang
deleted file mode 100644
index c2b884f..0000000
--- a/src/plugins/yang/openconfig/openconfig-aft-common.yang
+++ /dev/null
@@ -1,385 +0,0 @@
-submodule openconfig-aft-common {
- belongs-to "openconfig-aft" {
- prefix "oc-aft";
- }
-
- import openconfig-interfaces { prefix "oc-if"; }
- import openconfig-extensions { prefix "oc-ext"; }
- import openconfig-yang-types { prefix "oc-yang"; }
- import openconfig-inet-types { prefix "oc-inet"; }
- import openconfig-mpls-types { prefix "oc-mplst"; }
- import openconfig-policy-types { prefix "oc-pol-types"; }
- import openconfig-aft-types { prefix "oc-aftt"; }
-
- organization
- "OpenConfig working group";
-
- contact
- "OpenConfig working group
- www.openconfig.net";
-
- description
- "Submodule containing definitions of groupings that are re-used
- across multiple contexts within the AFT model.";
-
- 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-nhop-structural {
- description
- "Structural grouping describing a next-hop entry.";
-
- container next-hops {
- description
- "The list of next-hops that are to be used for entry within
- the AFT table. The structure of each next-hop is address
- family independent, such that it is possible to resolve fully
- how the next-hop is treated. For example:
-
- - Where ingress IPv4 unicast packets are to be forwarded via
- an MPLS LSP, the next-hop list should indicate the MPLS
- label stack that is used to the next-hop.
- - Where ingress MPLS labelled packets are to be forwarded to
- an IPv6 nexthop (for example, a CE within a VPN, then the
- popped label stack, and IPv6 next-hop address should be
- indicated).";
-
- list next-hop {
- key "index";
-
- description
- "A next-hop associated with the forwarding instance.";
-
- leaf index {
- type leafref {
- path "../config/index";
- }
- description
- "A unique index identifying the next-hop entry for the
- AFT entry";
-
- }
-
- container config {
- description
- "Configuration parameters relating to the AFT next-hop
- entry";
-
- uses aft-common-entry-nexthop-config;
- }
-
- container state {
- config false;
- description
- "Operational state parameters relating to the AFT
- next-hop entry";
-
- uses aft-common-entry-nexthop-config;
- uses aft-common-entry-nexthop-state;
- }
-
- uses oc-if:interface-ref;
- }
- }
- }
-
- grouping aft-common-entry-state {
- description
- "Operational state parameters relating to a forwarding entry";
-
- leaf packets-forwarded {
- type oc-yang:counter64;
- description
- "The number of packets which have matched, and been forwarded,
- based on the AFT entry.";
- }
-
- leaf octets-forwarded {
- type oc-yang:counter64;
- description
- "The number of octets which have matched, and been forwarded,
- based on the AFT entry";
- }
-
- // We are at $afi/$entry/state/next-hop-group
- leaf next-hop-group {
- type leafref {
- path "../../../../next-hop-groups/next-hop-group/state/id";
- }
- description
- "A reference to the next-hop-group that is in use for the entry
- within the AFT. Traffic is distributed across the set of next-hops
- within the next-hop group according to the weight.";
- }
- }
-
- grouping aft-common-entry-nexthop-config {
- description
- "Configuration parameters relating to a next-hop entry for a AFT
- entry";
-
- leaf index {
- type uint64;
- description
- "A unique entry for the next-hop.";
- }
- }
-
- grouping aft-common-entry-nexthop-state {
- description
- "Parameters relating to a next-hop.";
-
- leaf ip-address {
- type oc-inet:ip-address;
- description
- "The IP address of the next-hop system.";
- }
-
- leaf mac-address {
- type oc-yang:mac-address;
- description
- "The MAC address of the next-hop if resolved by the local
- network instance.";
- }
-
- leaf-list pushed-mpls-label-stack {
- type oc-mplst:mpls-label;
- ordered-by user;
- description
- "The MPLS label stack imposed when forwarding packets to the
- next-hop
- - the stack is encoded as a leaf list whereby the order of the
- entries is such that the first entry in the list is the
- label at the bottom of the stack to be pushed.
-
- To this end, a packet which is to forwarded to a device using
- a service label of 42, and a transport label of 8072 will be
- represented with a label stack list of [42, 8072].
-
- The MPLS label stack list is ordered by the user, such that no
- system re-ordering of leaves is permitted by the system.
-
- A swap operation is reflected by entries in the
- popped-mpls-label-stack and pushed-mpls-label-stack nodes.";
-
- }
-
- leaf encapsulate-header {
- type oc-aftt:encapsulation-header-type;
- description
- "When forwarding a packet to the specified next-hop the local
- system performs an encapsulation of the packet - adding the
- specified header type.";
- }
-
- leaf origin-protocol {
- type identityref {
- base "oc-pol-types:INSTALL_PROTOCOL_TYPE";
- }
- description
- "The protocol from which the AFT entry was learned.";
- }
- }
-
- grouping aft-common-ip-state {
- description
- "Common parameters across IP address families";
-
- leaf decapsulate-header {
- type oc-aftt:encapsulation-header-type;
- description
- "When forwarding a packet to the specified next-hop, the local
- system performs a decapsulation of the packet - removing the
- specified header type. In the case that no next-hop is
- specified, the packet header is removed, and a subsequent
- forwarding lookup is performed on the packet encapsulated
- within the header, matched within the relevant AFT within the
- specified network-instance.";
- }
- }
-
- grouping aft-next-hop-groups-structural {
- description
- "Logical grouping for groups of next-hops.";
-
- container next-hop-groups {
- description
- "Surrounding container for groups of next-hops.";
-
- list next-hop-group {
- key "id";
-
- description
- "An individual set of next-hops grouped into a common group.
- Each entry within an abstract forwarding table points to a
- next-hop-group. Entries in the next-hop-group are forwarded to
- according to the weights specified for each next-hop group.
-
- If an entry within the next-hop group becomes unusable, for
- example due to an interface failure, the remaining entries
- are used until all entries become unusable - at which point
- the backup next-hop-group (if specified) is used.";
-
- leaf id {
- description
- "A reference to a unique identifier for the next-hop-group.";
-
- type leafref {
- path "../config/id";
- }
- }
-
- container config {
- description
- "Configuration parameters related to the next-hop-group.";
- uses aft-nhg-config;
- }
-
- container state {
- config false;
- description
- "Operational state parameters relating to next-hop-groups.";
- uses aft-nhg-config;
- uses aft-nhg-state;
- }
-
- container next-hops {
- description
- "Surrounding container for the list of next-hops within
- the next-hop-group.";
-
- list next-hop {
- key "index";
-
- description
- "An individual next-hop within the next-hop-group. Each
- next-hop is a reference to an entry within the next-hop
- list.";
-
- leaf index {
- description
- "A reference to the index for the next-hop within the
- the next-hop-group.";
- type leafref {
- path "../config/index";
- }
- }
-
- container config {
- description
- "Configuration parameters related to a next-hop within
- the next-hop-group.";
- uses aft-nhg-nh-config;
- }
-
- container state {
- config false;
- description
- "Operational state parameters related to a next-hop
- within the next-hop-group.";
- uses aft-nhg-nh-config;
- uses aft-nhg-nh-state;
- }
- }
- }
- }
- }
- }
-
- grouping aft-nhg-config {
- description
- "Configuration parameters related to a next-hop-group.";
-
- leaf id {
- type uint64;
- description
- "A unique identifier for the next-hop-group. This index
- is not expected to be consistent across reboots, or
- reprogramming of the next-hop-group. When updating
- a next-hop-group, if the group is removed by the system
- or assigned an alternate identifier, the system should
- send telemetry notifications deleting the previous
- identifier. If the identifier of the next-hop-group
- is changed, all AFT entries that reference it must
- also be updated.";
- }
- }
-
- grouping aft-nhg-state {
- description
- "Operational state parameters related to a next-hop-group.";
-
- leaf color {
- type uint64;
- description
-
- "An arbitrary colour that is used as an identifier for the next-hop
- group. Some next-hop resolutions may utilise the colour to select
- the particular next-hop-group that a routing entry should be resolved
- to. In this case, next-hop-group selection may be based on colour
- matches rather than the protocol specified next-hop.
-
- Regardless of whether the next-hop-group's specified colour is
- used to select an AFT's active forwarding entry, the next-hop-group
- referenced by an entry should be the currently active value.
-
- Next-hop-groups that are installed on the system through a protocol
- that allows injection of such entries (e.g., BGP using the SR-TE
- Policy SAFI, or gRPC-based RIB programming) should have the colour
- specified in the injecting protocol within this leaf.";
- }
-
- leaf backup-next-hop-group {
- // We are at afts/next-hop-groups/next-hop-group/config/backup-next-hop-group
- type leafref {
- path "../../../next-hop-group/state/id";
- }
- description
- "The backup next-hop-group for the current group. When all
- entries within the next-hop group become unusable, the backup
- next-hop group is used if specified.";
- }
- }
-
- grouping aft-nhg-nh-config {
- description
- "Configuration parameters relating to an individual next-hop within
- a next-hop-group.";
-
- leaf index {
- type leafref {
- // We are at afts/next-hop-groups/next-hop-group/next-hops/next-hop/config/id
- path "../../../../../../next-hops/next-hop/config/index";
- }
- description
- "A reference to the identifier for the next-hop to which
- the entry in the next-hop group corresponds.";
- }
- }
-
- grouping aft-nhg-nh-state {
- description
- "Operational state parameters relating to an individual next-hop
- within the next-hop-group.";
-
- leaf weight {
- type uint64;
- description
- "The weight applied to the next-hop within the group. Traffic
- is balanced across the next-hops within the group in the
- proportion of weight/(sum of weights of the next-hops within
- the next-hop group).";
- }
- }
-}