diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-aft-common.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-aft-common.yang | 385 |
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)."; - } - } -} |