huawei-bgp-routing-table

Inter-AS routing protocol that exchanges Network Layer Reachability Information (NLRI) with other BGP systems.

  • Version: 2021-09-15

    huawei-bgp-routing-table@2021-09-15


    
      module huawei-bgp-routing-table {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-bgp-routing-table";
    
        prefix bgp-rt;
    
        import huawei-bgp {
          prefix bgp;
        }
        import huawei-extension {
          prefix ext;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-network-instance {
          prefix ni;
        }
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
    Bantian, Longgang
    Shenzhen 518129
    People's Republic of China
    Website: http://www.huawei.com
    Email: support@huawei.com";
    
        description
          "Inter-AS routing protocol that exchanges Network Layer Reachability Information (NLRI) with other BGP systems.";
    
        revision "2021-09-15" {
          description
            "The YANG descriptions are modified according to new standards.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-03-22" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "bgp";
    
        typedef bgp-origin-type {
          type enumeration {
            enum "igp" {
              value 1;
              description "IBGP route.";
            }
            enum "egp" {
              value 2;
              description "EBGP route.";
            }
            enum "incomplete" {
              value 3;
              description
                "Route whose source is unknown.";
            }
          }
          description "The origin of bgpcommon.";
        }
    
        typedef flapping-af-type {
          type enumeration {
            enum "ipv4uni" {
              value 1;
              description
                "IPv4 unicast address family.";
            }
            enum "ipv4multi" {
              value 2;
              description
                "IPv4 multicast address family.";
            }
            enum "ipv4vpn" {
              value 3;
              description
                "IPv4 VPN address family.";
            }
            enum "ipv4labeluni" {
              value 4;
              description
                "IPv4 labeled address family.";
            }
            enum "ipv6uni" {
              value 5;
              description
                "IPv6 unicast address family.";
            }
            enum "ipv6vpn" {
              value 6;
              description
                "IPv6 VPN address family.";
            }
          }
          description
            "The address family type of flapping.";
        }
    
        typedef bgp-external-flag-type {
          type bits {
            bit type5-ip-prefix {
              position 5;
              description "Ip prefix.";
            }
            bit type2-irb {
              position 13;
              description "IRB.";
            }
          }
          description "Route external flags.";
        }
    
        typedef hierarchy-convergence-type {
          type enumeration {
            enum "base" {
              value 1;
              description "Base route.";
            }
            enum "hierarchy" {
              value 2;
              description "Hierarchy route.";
            }
          }
          description "Hierarchy route flags.";
        }
    
        typedef bgp-route-type-flag {
          type bits {
            bit ibgp {
              position 0;
              description "IBGP route.";
            }
            bit ebgp {
              position 1;
              description "EBGP route.";
            }
            bit network {
              position 2;
              description "Network route.";
            }
            bit import {
              position 3;
              description "Imported route.";
            }
            bit auto-summary {
              position 4;
              description
                "Automatcially summarized route.";
            }
            bit aggregate {
              position 5;
              description "Aggregated route.";
            }
            bit cpri {
              position 6;
              description
                "Route received by CBGP from PD-BGP.";
            }
            bit pcri {
              position 7;
              description
                "Route received by PD-BGP from CBGP.";
            }
            bit suppressed {
              position 8;
              description "Suppressed.";
            }
            bit nhp-empty {
              position 9;
              description "NHP-empty.";
            }
            bit no-adv {
              position 10;
              description
                "Routes that are not advertised to other routers.";
            }
            bit local-cross {
              position 11;
              description
                "Locally crossed routes.";
            }
            bit remote-cross {
              position 12;
              description
                "Remotely crossed routes.";
            }
            bit vd-bgp {
              position 13;
              description "VD-BGP route.";
            }
            bit path-local {
              position 14;
              description "Path_Local route.";
            }
            bit path-gateway {
              position 15;
              description "Path_Gateway route.";
            }
            bit policy-nopass {
              position 16;
              description "Policy_NoPass route.";
            }
            bit supprenet {
              position 17;
              description "Supernet route.";
            }
            bit dampened {
              position 18;
              description "Dampened route.";
            }
            bit history {
              position 19;
              description "History route.";
            }
            bit select {
              position 20;
              description "Selected route.";
            }
            bit best {
              position 21;
              description "Best route.";
            }
            bit backup {
              position 22;
              description "Backup route.";
            }
            bit attr-change {
              position 23;
              description "ATTR_Change route.";
            }
            bit nhlfe-created {
              position 24;
              description "NHLFE_Created route.";
            }
            bit ilm-created {
              position 25;
              description "ILM_Created route.";
            }
            bit nexthop-change {
              position 26;
              description
                "Route whose next hop changed.";
            }
            bit invalid {
              position 27;
              description "Invalid route.";
            }
            bit source-change {
              position 28;
              description
                "Route whose source address changed.";
            }
            bit in-selectedq {
              position 29;
              description
                "Route in a selected queue.";
            }
            bit exitif-error {
              position 30;
              description "EXITIF_ERROR route.";
            }
            bit group-head {
              position 31;
              description "GROUP_HEAD route.";
            }
          }
          description "BGP-route-type-flag.";
        }
    
        typedef region-validation-result-type {
          type enumeration {
            enum "valid" {
              value 1;
              description
                "The BGP region validation result is valid.";
            }
            enum "invalid" {
              value 2;
              description
                "The BGP region validation result is invalid.";
            }
          }
          description
            "The type of BGP region validation result.";
        }
    
        grouping routing-table-vpn-name {
          description
            "BGP routing-table attributes.";
          leaf vpn-name {
            type leafref {
              path
                "/ni:network-instance/ni:instances/ni:instance/ni:name";
            }
            description
              "VPN name of a BGP instance.";
          }
        }  // grouping routing-table-vpn-name
    
        grouping routing-table-key-type {
          description
            "BGP routing-table attributes.";
          leaf route-distinguisher {
            type string {
              length "1..22";
            }
            description "Route distinguisher.";
          }
    
          leaf prefix {
            type inet:ip-address-no-zone;
            description "BGP route prefix.";
          }
    
          leaf mask-length {
            type uint8;
            description "Prefix mask length.";
          }
    
          leaf route-type {
            type bgp-route-type-flag;
            description "Route type.";
          }
    
          leaf im-table-id {
            type uint32;
            description
              "ID of the routing table to which routes are imported.";
          }
    
          leaf from {
            type inet:ip-address-no-zone;
            description
              "Source peer that sends a route.";
          }
    
          leaf path-id {
            type string {
              length "1..50";
            }
            description "Path ID.";
          }
        }  // grouping routing-table-key-type
    
        grouping routing-table-type {
          description
            "BGP routing-table attributes.";
          uses routing-table-key-type;
    
          leaf remote-nexthop-tunnel-address {
            type inet:ip-address-no-zone;
            description
              "The remote next hop tunnel address.";
          }
    
          leaf remote-nexthop-mac-address {
            type pub-type:mac-address;
            description
              "The remote next hop mac.";
          }
    
          leaf nexthop {
            type inet:ip-address-no-zone;
            description
              "Next hop address to which packets are forwarded.";
          }
    
          leaf local-preference {
            type uint32;
            description
              "Local priority. The attribute is only fit for the routes from IBGP peer, not suit for which of EBGP peer.";
          }
    
          leaf preferred-value {
            type uint32;
            description
              "Preferred value of a protocol.";
          }
    
          leaf preference {
            type uint8;
            description
              "Priority of BGP routes.";
          }
    
          leaf path-as {
            type string {
              length "1..300";
            }
            description
              "List of the AS_Paths that packets pass through.";
          }
    
          leaf origin {
            type bgp-origin-type;
            description "Route origin.";
          }
    
          leaf med {
            type uint32;
            description
              "Route MED.The attribute is only fit for the routes from EBGP peer, not suit for which of IBGP peer.";
          }
    
          leaf flag-string {
            type string {
              length "1..100";
            }
            description
              "Route flag that contains a string of characters.";
          }
    
          leaf worse-reason {
            type string {
              length "1..50";
            }
            description
              "Reason why a route is not selected.";
          }
    
          leaf sending-peers {
            type string {
              length "1..300";
            }
            description
              "List of route sending peers.";
          }
    
          leaf time {
            type pub-type:time-tick;
            description "Time stamp of a route.";
          }
    
          leaf community {
            type string {
              length "1..300";
            }
            description "Community attribute.";
          }
    
          leaf large-community {
            type string {
              length "1..200";
            }
            description
              "Large-community attribute information.";
          }
    
          leaf ext-community {
            type string {
              length "1..300";
            }
            description
              "Extended community attribute.";
          }
    
          leaf interface-name {
            type string {
              length "1..63";
            }
            description
              "Name of the outbound interface of a route.";
          }
    
          leaf originator {
            type inet:ip-address-no-zone;
            description
              "Router ID of the route initiator.";
          }
    
          leaf cluster-list {
            type string {
              length "1..300";
            }
            description "List of cluster IDs.";
          }
    
          leaf remote-route-id {
            type inet:ipv4-address-no-zone;
            description "Router ID of a peer.";
          }
    
          leaf relay-nexthop {
            type inet:ip-address-no-zone;
            description
              "Next hop to which a route is iterated.";
          }
    
          leaf relay-tunnel-name {
            type string {
              length "1..64";
            }
            description
              "Name of a tunnel to which a route is iterated.";
          }
    
          leaf atomic-aggregate {
            type boolean;
            description
              "Route carrying the atomic-aggregate attribute.";
          }
    
          leaf aggregator-as {
            type string {
              length "1..11";
            }
            description
              "AS number of the route summarizer.";
          }
    
          leaf aggregator-id {
            type inet:ip-address-no-zone;
            description
              "ID of the route summarizer.";
          }
    
          leaf in-label {
            type uint32;
            description "In-label.";
          }
    
          leaf out-label {
            type uint32;
            description "Out-label.";
          }
    
          leaf iterated-vpn {
            type string {
              length "1..31";
            }
            description "Iterated vrf.";
          }
    
          leaf remote-nexthop-vni {
            type uint32;
            description
              "The remote next hop vni.";
          }
    
          leaf advertise-nexthop {
            type inet:ip-address-no-zone;
            description "Advertise next hop.";
          }
    
          leaf prefix-sid {
            type string {
              length "1..60";
            }
            description
              "PrefixSid attribute information of route.";
          }
    
          leaf aigp {
            type uint64;
            description
              "AIGP attribute information of route.";
          }
    
          leaf attribute-set {
            type string {
              length "1..300";
            }
            description
              "The attribute set information of route.";
          }
    
          leaf gateway-ip {
            type inet:ip-address-no-zone;
            description "Gateway IP address.";
          }
    
          leaf external-flags {
            type bgp-external-flag-type;
            description "Route External Flags.";
          }
    
          leaf hierarchy-convergence-route-type {
            type hierarchy-convergence-type;
            description
              "Hierarchy convergence route type.";
          }
    
          leaf hierarchy-route-relay-ip {
            when
              "../hierarchy-convergence-route-type='hierarchy'";
            type inet:ip-address-no-zone;
            description "BGP route prefix.";
          }
    
          leaf hierarchy-route-relay-ip-mask {
            when
              "../hierarchy-convergence-route-type='hierarchy'";
            type uint8;
            description "Prefix mask length.";
          }
        }  // grouping routing-table-type
    
        grouping loop-type {
          description "Information about loop.";
          leaf-list loop {
            type string {
              length "1..30";
            }
            max-elements 4;
            description
              "Statistics of loop attribute. Loop attribute is composed of paired vrfId and random.";
          }
        }  // grouping loop-type
    
        grouping route-attribute-type {
          description
            "Information about routes attribute.";
          container attributes {
            description
              "List of attributes of BGP routes.";
            list attribute {
              key "index";
              description
                "BGP routes attributes state.";
              leaf index {
                type uint64;
                description
                  "BGP route attribute id.";
              }
    
              uses loop-type;
            }  // list attribute
          }  // container attributes
        }  // grouping route-attribute-type
    
        grouping ipv4vpn-route-type {
          description
            "Information about routes.";
          container routes {
            config false;
            description
              "List of displayed route information in an address family.";
            list route {
              key "vpn-name route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of routes.";
              uses routing-table-vpn-name;
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list route
          }  // container routes
        }  // grouping ipv4vpn-route-type
    
        grouping ipv4vpn-peer-advertise-route-type {
          description
            "Information about advertised routes.";
          container peer-advertise-routes {
            config false;
            description
              "List of displayed advertised route information in an address family.";
            list peer-advertise-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of advertised routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-advertise-route
          }  // container peer-advertise-routes
        }  // grouping ipv4vpn-peer-advertise-route-type
    
        grouping ipv4vpn-peer-receive-route-type {
          description
            "Information about received routes.";
          container peer-receive-routes {
            config false;
            description
              "List of displayed received route information in an address family.";
            list peer-receive-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of received routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-receive-route
          }  // container peer-receive-routes
        }  // grouping ipv4vpn-peer-receive-route-type
    
        grouping ipv6vpn-route-type {
          description
            "Information about routes.";
          container routes {
            config false;
            description
              "List of displayed route information in an address family.";
            list route {
              key "vpn-name route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of routes.";
              uses routing-table-vpn-name;
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list route
          }  // container routes
        }  // grouping ipv6vpn-route-type
    
        grouping ipv6vpn-peer-advertise-route-type {
          description
            "Information about advertised routes.";
          container peer-advertise-routes {
            config false;
            description
              "List of displayed advertised route information in an address family.";
            list peer-advertise-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of advertised routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-advertise-route
          }  // container peer-advertise-routes
        }  // grouping ipv6vpn-peer-advertise-route-type
    
        grouping ipv6vpn-peer-receive-route-type {
          description
            "Information about received routes.";
          container peer-receive-routes {
            config false;
            description
              "List of displayed received route information in an address family.";
            list peer-receive-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of received routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-vpn/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-receive-route
          }  // container peer-receive-routes
        }  // grouping ipv6vpn-peer-receive-route-type
    
        grouping peer-receive-active-route-type {
          description
            "Information about received active routes.";
          container peer-receive-active-routes {
            config false;
            description
              "List of displayed received active route information in an address family.";
            list peer-receive-active-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of received routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses routing-table-type;
            }  // list peer-receive-active-route
          }  // container peer-receive-active-routes
        }  // grouping peer-receive-active-route-type
    
        grouping ipv4uni-routing-table-type {
          description
            "BGP routing-table attributes in an address family.";
          uses routing-table-type;
    
          leaf entropy-label-padding {
            type string {
              length "1..50";
            }
            description
              "The padding value of the entropy label attribute.";
          }
    
          leaf region-validation-result {
            type region-validation-result-type;
            description
              "BGP region validation result.";
          }
    
          leaf label-index {
            type uint32;
            description "Label index.";
          }
    
          leaf start-of-srgb {
            type uint32;
            description
              "Start of segment routing global block.";
          }
    
          leaf range-size-of-srgb {
            type uint32;
            description
              "Range size of segment routing global block.";
          }
        }  // grouping ipv4uni-routing-table-type
    
        grouping ipv4uni-route-type {
          description
            "Information about routes.";
          container routes {
            config false;
            description
              "List of displayed route information in an address family.";
            list route {
              key "vpn-name route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of routes.";
              uses routing-table-vpn-name;
    
              uses ipv4uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list route
          }  // container routes
        }  // grouping ipv4uni-route-type
    
        grouping ipv4uni-peer-advertise-route-type {
          description
            "Information about advertised routes.";
          container peer-advertise-routes {
            config false;
            description
              "List of displayed advertised route information in an address family.";
            list peer-advertise-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of advertised routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses ipv4uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-advertise-route
          }  // container peer-advertise-routes
        }  // grouping ipv4uni-peer-advertise-route-type
    
        grouping ipv4uni-peer-receive-route-type {
          description
            "Information about received routes.";
          container peer-receive-routes {
            config false;
            description
              "List of displayed received route information in an address family.";
            list peer-receive-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of received routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses ipv4uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv4-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-receive-route
          }  // container peer-receive-routes
        }  // grouping ipv4uni-peer-receive-route-type
    
        grouping ipv6uni-routing-table-type {
          description
            "BGP routing-table attributes in an address family.";
          uses routing-table-type;
    
          leaf region-validation-result {
            type region-validation-result-type;
            description
              "BGP region validation result.";
          }
        }  // grouping ipv6uni-routing-table-type
    
        grouping ipv6uni-route-type {
          description
            "Information about routes.";
          container routes {
            config false;
            description
              "List of displayed route information in an address family.";
            list route {
              key "vpn-name route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of routes.";
              uses routing-table-vpn-name;
    
              uses ipv6uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list route
          }  // container routes
        }  // grouping ipv6uni-route-type
    
        grouping ipv6uni-peer-advertise-route-type {
          description
            "Information about advertised routes.";
          container peer-advertise-routes {
            config false;
            description
              "List of displayed advertised route information in an address family.";
            list peer-advertise-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of advertised routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses ipv6uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-advertise-route
          }  // container peer-advertise-routes
        }  // grouping ipv6uni-peer-advertise-route-type
    
        grouping ipv6uni-peer-receive-route-type {
          description
            "Information about received routes.";
          container peer-receive-routes {
            config false;
            description
              "List of displayed received route information in an address family.";
            list peer-receive-route {
              key "vpn-name remote-peer-address route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of received routes.";
              uses routing-table-vpn-name;
    
              leaf remote-peer-address {
                type inet:ip-address-no-zone;
                description
                  "BGP neighbour address.";
              }
    
              uses ipv6uni-routing-table-type;
    
              leaf attribute-index {
                type leafref {
                  path "/bgp:bgp/bgp:base-process/bgp-rt:bgp-route/bgp-rt:ipv6-unicast/bgp-rt:attributes/bgp-rt:attribute/bgp-rt:index";
                }
                description
                  "The ID of attribute.";
              }
            }  // list peer-receive-route
          }  // container peer-receive-routes
        }  // grouping ipv6uni-peer-receive-route-type
    
        grouping active-route-st-type {
          description
            "BGP active routes statistics information.";
          leaf advertise-rm-total-number {
            type uint32;
            description
              "Total number of prefix advertised to RM.";
          }
    
          leaf active-route-number {
            type uint32;
            description
              "Total number of active route.";
          }
        }  // grouping active-route-st-type
    
        grouping best-route-st-type {
          description
            "BGP active routes statistics information.";
          leaf best-route-number {
            type uint32;
            description
              "Total number of best routes.";
          }
    
          leaf add-path-route-number {
            type uint32;
            description
              "Total number of add-path routes.";
          }
    
          leaf best-external-route-number {
            type uint32;
            description
              "Total number of best-external routes.";
          }
        }  // grouping best-route-st-type
    
        grouping cidr-route-st-type {
          description
            "BGP classless inter-domain routes statistics information.";
          leaf cidr-route-number {
            type uint32;
            description
              "Total number of cidr routes.";
          }
        }  // grouping cidr-route-st-type
    
        grouping community-route-st-type {
          description
            "BGP routes matched with communities statistics information.";
          leaf community-route-number {
            type uint32;
            description
              "Total number of community routes.";
          }
        }  // grouping community-route-st-type
    
        grouping different-origin-as-route-st-type {
          description
            "Routes with the same destination address&mask but originating from different origin ASs statistics information.";
          leaf different-origin-as-route-number {
            type uint32;
            description
              "Total number of different-origin-as routes.";
          }
        }  // grouping different-origin-as-route-st-type
    
        grouping dampened-route-st-type {
          description
            "Routes with the same destination address&mask but originating from different origin ASs statistics information.";
          leaf dampened-route-number {
            type uint32;
            description
              "Total number of dampened routes.";
          }
        }  // grouping dampened-route-st-type
    
        grouping route-total-st-type {
          description
            "Labeled route statistics information.";
          leaf total-number {
            type uint32;
            description
              "Total number of routes.";
          }
        }  // grouping route-total-st-type
    
        grouping active-rt-num-type {
          description
            "BGP active routes statistics information.";
          leaf active-route-number {
            type uint32;
            description
              "Total number of active route.";
          }
        }  // grouping active-rt-num-type
    
        grouping route-flap-type {
          description
            "Information about BGP route flapping.";
          container routing-flappings {
            config false;
            description
              "List of displayed BGP route flapping information.";
            list routing-flapping {
              key "vpn-name address-family prefix mask-length";
              description
                "Statistics of BGP route flapping.";
              uses routing-table-vpn-name;
    
              leaf address-family {
                type flapping-af-type;
                description
                  "The address family type.";
              }
    
              leaf prefix {
                type inet:ip-address-no-zone;
                description
                  "The network address in the BGP routing table.";
              }
    
              leaf mask-length {
                type uint8;
                description
                  "Prefix mask length.";
              }
    
              leaf from {
                type inet:ip-address-no-zone;
                description
                  "IP address of the neighbor that receives routes.";
              }
    
              leaf origin {
                type bgp-origin-type;
                description
                  "The attributes of Origin.";
              }
    
              leaf flaps {
                type uint16 {
                  range "0..65535";
                }
                description
                  "Total number of route flapping.";
              }
    
              leaf reuse-time {
                type pub-type:time-tick;
                description "Reuse value.";
              }
    
              leaf duration-time {
                type pub-type:time-tick;
                description
                  "Total duration since the flapping happens.";
              }
            }  // list routing-flapping
          }  // container routing-flappings
        }  // grouping route-flap-type
    
        grouping ipv4multi-route-type {
          description
            "Information about routes.";
          container routes {
            config false;
            description
              "List of displayed route information in an address family.";
            list route {
              key "vpn-name route-distinguisher prefix mask-length route-type im-table-id from path-id";
              description
                "Statistics of routes.";
              uses routing-table-vpn-name;
    
              uses routing-table-type;
            }  // list route
          }  // container routes
        }  // grouping ipv4multi-route-type
    
        grouping ipv4multi-st-type {
          description
            "Statistics of IPv4-multicast address family.";
          container statistic {
            description
              "Statistics of BGP routes information of IPv4-multicast address family.";
            uses route-total-st-type;
    
            uses active-route-st-type;
    
            uses dampened-route-st-type;
          }  // container statistic
        }  // grouping ipv4multi-st-type
    
        augment /bgp:bgp/bgp:base-process {
          description
            "Top level container for BGP routes information.";
          container bgp-route {
            config false;
            description
              "Statistics of BGP routes information.";
            container ipv4-unicast {
              config false;
              description
                "Statistics of BGP routes information of IPv4-unicast address family.";
              uses ipv4uni-route-type;
    
              uses ipv4uni-peer-advertise-route-type;
    
              uses ipv4uni-peer-receive-route-type;
    
              uses peer-receive-active-route-type;
    
              uses route-attribute-type;
    
              container statistics {
                description
                  "List of BGP routes statistics information of IPv4-unicast address family.";
                list statistic {
                  key "vpn-name";
                  description
                    "BGP IPv4-unicast address family routes statistics.";
                  uses routing-table-vpn-name;
    
                  uses route-total-st-type;
    
                  uses active-route-st-type;
    
                  uses best-route-st-type;
    
                  uses cidr-route-st-type;
    
                  uses community-route-st-type;
    
                  uses different-origin-as-route-st-type;
    
                  uses dampened-route-st-type;
                }  // list statistic
              }  // container statistics
            }  // container ipv4-unicast
    
            container ipv6-unicast {
              config false;
              description
                "Statistics of BGP routes information of IPv6-unicast address family.";
              uses ipv6uni-route-type;
    
              uses ipv6uni-peer-advertise-route-type;
    
              uses ipv6uni-peer-receive-route-type;
    
              uses peer-receive-active-route-type;
    
              uses route-attribute-type;
    
              container statistics {
                description
                  "List of BGP routes statistics information of IPv6-unicast address family.";
                list statistic {
                  key "vpn-name";
                  description
                    "BGP IPv6-unicast address family routes statistics.";
                  uses routing-table-vpn-name;
    
                  uses route-total-st-type;
    
                  uses active-route-st-type;
    
                  uses best-route-st-type;
    
                  uses community-route-st-type;
    
                  uses dampened-route-st-type;
                }  // list statistic
              }  // container statistics
            }  // container ipv6-unicast
    
            container ipv4-vpn {
              config false;
              description
                "Statistics of BGP routes information of IPv4-VPN address family.";
              uses ipv4vpn-route-type;
    
              uses ipv4vpn-peer-advertise-route-type;
    
              uses ipv4vpn-peer-receive-route-type;
    
              uses peer-receive-active-route-type;
    
              uses route-attribute-type;
    
              container statistic {
                description
                  "Statistics of BGP routes information of IPv4-VPN address family.";
                uses route-total-st-type;
    
                uses active-rt-num-type;
    
                uses best-route-st-type;
    
                uses cidr-route-st-type;
    
                uses community-route-st-type;
    
                uses different-origin-as-route-st-type;
    
                uses dampened-route-st-type;
              }  // container statistic
            }  // container ipv4-vpn
    
            container ipv6-vpn {
              config false;
              description
                "Statistics of BGP routes information of IPv6-VPN address family.";
              uses ipv6vpn-route-type;
    
              uses ipv6vpn-peer-advertise-route-type;
    
              uses ipv6vpn-peer-receive-route-type;
    
              uses peer-receive-active-route-type;
    
              uses route-attribute-type;
    
              container statistic {
                description
                  "Statistics of BGP routes information of IPv6-VPN address family.";
                uses route-total-st-type;
    
                uses active-rt-num-type;
    
                uses best-route-st-type;
    
                uses community-route-st-type;
    
                uses different-origin-as-route-st-type;
              }  // container statistic
            }  // container ipv6-vpn
    
            container ipv4-labeluni {
              config false;
              description
                "Statistics of BGP routes information of IPv4-label-uni address family.";
              container statistics {
                description
                  "List of BGP routes statistics information of IPv4-label-uni address family.";
                list statistic {
                  key "vpn-name";
                  description
                    "BGP IPv4-label-uni address family routes statistics.";
                  uses routing-table-vpn-name;
    
                  uses route-total-st-type;
    
                  uses active-route-st-type;
    
                  uses best-route-st-type;
    
                  uses cidr-route-st-type;
    
                  uses community-route-st-type;
    
                  uses different-origin-as-route-st-type;
    
                  uses dampened-route-st-type;
                }  // list statistic
              }  // container statistics
            }  // container ipv4-labeluni
    
            container ipv4-multicast {
              config false;
              description
                "Statistics of BGP routes information of IPv4-multicast address family.";
              uses ipv4multi-route-type;
    
              uses ipv4multi-st-type;
            }  // container ipv4-multicast
    
            uses route-flap-type;
          }  // container bgp-route
        }
      }  // module huawei-bgp-routing-table
    

© 2023 YumaWorks, Inc. All rights reserved.