openconfig-aft-common

Submodule containing definitions of groupings that are re-used across multiple contexts within the AFT model.

  • Version: 2017-05-10

    openconfig-aft-common@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.