Submodule containing definitions of groupings that are re-used across multiple contexts within the AFT model.
Version: 2017-05-10
submodule openconfig-aft-common { yang-version 1; 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."; revision "2017-05-10" { description "Refactor to provide concretised per-AF schemas per AFT."; reference "0.3.0"; } oc-ext:openconfig-version "0.3.0"; grouping aft-common-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. The entries within the next-hop list should only reflect next-hops that are actively used by the local system. That is to say inactive, backup or FRR next-hops should not be included within this list."; 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 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; } // container state uses oc-if:interface-ref; } // list next-hop } // container next-hops } // grouping aft-common-nhop-structural 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"; } } // grouping aft-common-entry-state 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-config grouping aft-common-entry-nexthop-state { description "Parameters relating to a next-hop within the AFT entry"; leaf weight { type uint32; description "The weight of the next-hop. Traffic is balanced according to the ratio described by the relative weights of the next hops that exist for the AFT entry. Note that all next-hops that are specified are assumed to be active next-hops and therefore eligible (and selected) to be installed in the FIB, and hence used for packet forwarding."; } 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 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) label stack to be popped. 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."; } 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 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."; } 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-entry-nexthop-state } // submodule openconfig-aft-common
© 2023 YumaWorks, Inc. All rights reserved.