nokia-types-bgp

Common bgp data types used in the SR OS management system. Copyright 2016 Nokia. All rights reserved. Reproduction of this docu...

  • Version: 2024-01-11

    nokia-types-bgp@2024-01-11


    
      module nokia-types-bgp {
    
        yang-version 1.1;
    
        namespace
          "urn:nokia.com:sros:ns:yang:sr:types-bgp";
    
        prefix types-bgp;
    
        import nokia-sros-yang-extensions {
          prefix sros-ext;
        }
        import nokia-types-sros {
          prefix types-sros;
        }
    
        organization "Nokia";
    
        contact
          "Nokia SR OS Support
    Web: <http://www.nokia.com>";
    
        description
          "Common bgp data types used in the SR OS management system.
    
    Copyright 2016 Nokia. All rights reserved. Reproduction of this document
    is authorized on the condition that the foregoing copyright notice is included.
    
    This nokia-types-bgp YANG module embodies Nokia's proprietary
    intellectual property. Nokia retains all title and ownership in the
    specification, including any revisions.
    
    Nokia grants all interested parties a non-exclusive license to use
    and distribute an unmodified copy of this specification in connection with
    management of Nokia products, and without fee, provided this
    copyright notice and license appear on all copies.
    
    This specification is supplied `as is', and Nokia makes no warranty,
    either express or implied, as to the use, operation, condition, or performance
    of the specification.";
    
        revision "2024-01-11";
        sros-ext:sros-major-release "rel24";
    
        typedef llgr-family-identifiers {
          type enumeration {
            enum "ipv4" {
              value 1;
            }
            enum "vpn-ipv4" {
              value 2;
            }
            enum "ipv6" {
              value 3;
            }
            enum "vpn-ipv6" {
              value 5;
            }
            enum "l2-vpn" {
              value 6;
            }
            enum "flow-ipv4" {
              value 10;
            }
            enum "route-target" {
              value 11;
            }
            enum "flow-ipv6" {
              value 14;
            }
            enum "label-ipv4" {
              value 17;
            }
            enum "label-ipv6" {
              value 18;
            }
            enum "flow-vpn-ipv4" {
              value 23;
            }
            enum "flow-vpn-ipv6" {
              value 24;
            }
          }
          description
            "Specifies the address family for which
    long-lived graceful-restart is supported.";
        }
    
        typedef vprn-bgp-llgr-family-identifiers {
          type enumeration {
            enum "ipv4" {
              value 1;
            }
            enum "ipv6" {
              value 3;
            }
            enum "flow-ipv4" {
              value 10;
            }
            enum "flow-ipv6" {
              value 14;
            }
            enum "label-ipv4" {
              value 17;
            }
          }
          description
            "Specifies the address family for which
    long-lived graceful-restart under vprn is supported.";
        }
    
        typedef ip-family-identifier {
          type enumeration {
            enum "ipv4" {
              value 1;
            }
            enum "vpn-ipv4" {
              value 2;
            }
            enum "ipv6" {
              value 3;
            }
            enum "mcast-ipv4" {
              value 4;
            }
            enum "vpn-ipv6" {
              value 5;
            }
            enum "l2-vpn" {
              value 6;
            }
            enum "mvpn-ipv4" {
              value 7;
            }
            enum "mdt-safi" {
              value 8;
            }
            enum "ms-pw" {
              value 9;
            }
            enum "flow-ipv4" {
              value 10;
            }
            enum "route-target" {
              value 11;
            }
            enum "mcast-vpn-ipv4" {
              value 12;
            }
            enum "mvpn-ipv6" {
              value 13;
            }
            enum "flow-ipv6" {
              value 14;
            }
            enum "evpn" {
              value 15;
            }
            enum "mcast-ipv6" {
              value 16;
            }
            enum "label-ipv4" {
              value 17;
            }
            enum "label-ipv6" {
              value 18;
            }
            enum "bgp-ls" {
              value 19;
            }
            enum "mcast-vpn-ipv6" {
              value 20;
            }
            enum "sr-policy-ipv4" {
              value 21;
            }
            enum "sr-policy-ipv6" {
              value 22;
            }
            enum "flow-vpn-ipv4" {
              value 23;
            }
            enum "flow-vpn-ipv6" {
              value 24;
            }
          }
          description
            "Specifies the address family for which
    prefix-limit is configured.";
        }
    
        typedef ip-family-identifier-bits {
          type bits {
            bit unused {
              position 0;
            }
            bit ipv4 {
              position 1;
            }
            bit vpn-ipv4 {
              position 2;
            }
            bit ipv6 {
              position 3;
            }
            bit mcast-ipv4 {
              position 4;
            }
            bit vpn-ipv6 {
              position 5;
            }
            bit l2-vpn {
              position 6;
            }
            bit mvpn-ipv4 {
              position 7;
            }
            bit mdt-safi {
              position 8;
            }
            bit ms-pw {
              position 9;
            }
            bit flow-ipv4 {
              position 10;
            }
            bit route-target {
              position 11;
            }
            bit mcast-vpn-ipv4 {
              position 12;
            }
            bit mvpn-ipv6 {
              position 13;
            }
            bit flow-ipv6 {
              position 14;
            }
            bit evpn {
              position 15;
            }
            bit mcast-ipv6 {
              position 16;
            }
            bit label-ipv4 {
              position 17;
            }
            bit label-ipv6 {
              position 18;
            }
            bit bgp-ls {
              position 19;
            }
            bit mcast-vpn-ipv6 {
              position 20;
            }
          }
          description
            "Specifies the address family bits currently
    supported in bgp.";
        }
    
        typedef bgp-family-type-bits {
          type bits {
            bit ipv4-unicast {
              position 0;
            }
            bit ipv4-multicast {
              position 1;
            }
            bit ipv4-uast-mcast {
              position 2;
            }
            bit ipv4-mpls-label {
              position 3;
            }
            bit ipv4-vpn {
              position 4;
            }
            bit ipv6-unicast {
              position 5;
            }
            bit ipv6-multicast {
              position 6;
            }
            bit ipv6-ucast-mcast {
              position 7;
            }
            bit ipv6-mpls-label {
              position 8;
            }
            bit ipv6-vpn {
              position 9;
            }
            bit l2-vpn {
              position 10;
            }
            bit ipv4-mvpn {
              position 11;
            }
            bit ms-pw {
              position 12;
            }
            bit ipv4-flow {
              position 13;
            }
            bit mdt-safi {
              position 14;
            }
            bit route-target {
              position 15;
            }
            bit mcast-vpn-ipv4 {
              position 16;
            }
            bit mvpn-ipv6 {
              position 17;
            }
            bit ipv6-flow {
              position 18;
            }
            bit evpn {
              position 19;
            }
            bit bgp-ls {
              position 20;
            }
            bit mcast-vpn-ipv6 {
              position 21;
            }
          }
          description
            "Specifies the AFI-SAFI family for BGP peer.";
        }
    
        typedef bgp-family-type {
          type enumeration {
            enum "ipv4-unicast" {
              value 0;
            }
            enum "ipv4-multicast" {
              value 1;
            }
            enum "ipv4-uast-mcast" {
              value 2;
            }
            enum "ipv4-mpls-label" {
              value 3;
            }
            enum "ipv4-vpn" {
              value 4;
            }
            enum "ipv6-unicast" {
              value 5;
            }
            enum "ipv6-multicast" {
              value 6;
            }
            enum "ipv6-ucast-mcast" {
              value 7;
            }
            enum "ipv6-mpls-label" {
              value 8;
            }
            enum "ipv6-vpn" {
              value 9;
            }
            enum "l2-vpn" {
              value 10;
            }
            enum "ipv4-mvpn" {
              value 11;
            }
            enum "ms-pw" {
              value 12;
            }
            enum "ipv4-flow" {
              value 13;
            }
            enum "mdt-safi" {
              value 14;
            }
            enum "route-target" {
              value 15;
            }
            enum "mcast-vpn-ipv4" {
              value 16;
            }
            enum "mvpn-ipv6" {
              value 17;
            }
            enum "ipv6-flow" {
              value 18;
            }
            enum "evpn" {
              value 19;
            }
            enum "bgp-ls" {
              value 20;
            }
            enum "mcast-vpn-ipv6" {
              value 21;
            }
          }
          description
            "Specifies the AFI-SAFI family for BGP peer.";
        }
    
        typedef loop-detect {
          type enumeration {
            enum "drop-peer" {
              value 1;
            }
            enum "ignore-loop" {
              value 2;
            }
            enum "off" {
              value 3;
            }
            enum "discard-route" {
              value 4;
            }
          }
          description
            "Specifies how the BGP peer session handles loop detection in the AS Path.";
        }
    
        typedef med-value {
          type enumeration {
            enum "off" {
              value 1;
            }
            enum "missing-med-zero" {
              value 2;
            }
            enum "missing-med-infinity" {
              value 3;
            }
            enum "on" {
              value 4;
            }
          }
          description "keyword";
        }
    
        typedef restrict {
          type enumeration {
            enum "same-as-path-length" {
              value 1;
            }
            enum "same-neighbor-as" {
              value 2;
            }
            enum "exact-as-path" {
              value 3;
            }
          }
        }
    
        typedef encap {
          type enumeration {
            enum "mpls" {
              value 0;
            }
            enum "vxlan" {
              value 1;
            }
          }
          description
            "Specifies how BGP will treat a received EVPN route without
    BGP encapsulation extended community.";
        }
    
        typedef peer-creation-type {
          type enumeration {
            enum "static" {
              value 1;
            }
            enum "dynamic" {
              value 2;
            }
            enum "dynamic-if-remote" {
              value 3;
            }
            enum "dynamic-if-local" {
              value 4;
            }
          }
          description
            "origin of creation for the bgp peer";
        }
    
        typedef local-address {
          type union {
            type types-sros:ip-unicast-address;
            type types-sros:interface-name;
          }
          description
            "ip-address or interface-name used for local-address";
        }
    
        typedef peer-type {
          type enumeration {
            enum "no-type" {
              value 1;
            }
            enum "internal" {
              value 2;
            }
            enum "external" {
              value 3;
            }
          }
          description
            "Specifies a neighbor as type internal or external.";
        }
    
        typedef add-paths-send-limit {
          type union {
            type int32 {
              range "1..16";
            }
            type enumeration {
              enum "multipaths" {
                value -1;
                description
                  "Number of best multipaths for each NLRI";
              }
            }
          }
          description
            "Specifies the maximum number of paths per prefix
    that can be advertised to ADD-PATH peers.";
        }
    
        typedef next-hop-reason {
          type enumeration {
            enum "no-tunnel" {
              value 1;
            }
            enum "resolution-filter" {
              value 2;
            }
            enum "label-stack-limit" {
              value 3;
            }
            enum "sdp-down" {
              value 4;
            }
            enum "invalid-next-hop-tag" {
              value 5;
            }
            enum "admin-tag-policy" {
              value 6;
            }
            enum "color-mismatch" {
              value 7;
            }
            enum "flex-algo-id" {
              value 8;
            }
            enum "local-interface-ip" {
              value 9;
            }
            enum "bfd-down" {
              value 11;
            }
            enum "bfd-strict-down" {
              value 12;
            }
            enum
              "unreachable-prefix-announcement" {
              value 13;
            }
          }
          description
            "Indicate the reason why a next-hop is unreachable";
        }
    
        typedef route-target-prefix {
          type string;
          description
            "An RTC prefix in the format number1:number2/length, where number1 is an IPv4 address or a 2-byte ASN or a 4-byte ASN, number2 is a 2-byte or 4-byte administrative value and length is a number of bits between 0 and 96
    
    The default RTC prefix is represented by 0:0/0";
        }
    
        typedef upa-trigger-next-hop {
          type enumeration {
            enum "frr" {
              value 1;
            }
          }
          description
            "Action to be taken when unreachable prefix announcement is received for a next-hop";
        }
      }  // module nokia-types-bgp
    

© 2023 YumaWorks, Inc. All rights reserved.