huawei-bgp-evpn

Configure BGP EVPN.

  • Version: 2021-08-06

    huawei-bgp-evpn@2021-08-06


    
      module huawei-bgp-evpn {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-bgp-evpn";
    
        prefix bgp-evpn;
    
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-bgp {
          prefix bgp;
        }
        import huawei-routing-policy {
          prefix rtp;
        }
        import huawei-bgp-routing-table {
          prefix bgp-rt;
        }
        import huawei-nvo3 {
          prefix nvo3;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-inet-types {
          prefix inet;
        }
    
        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 "Configure BGP EVPN.";
    
        revision "2021-08-06" {
          description
            "Update EVPN module YANG file for BGP EVPN peer.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-04-07" {
          description "EVPN module YANG file.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-03-22" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "evpnbgp";
    
        typedef advertise-encap-type {
          type enumeration {
            enum "vxlan" {
              value 1;
              description "VXLAN.";
            }
            enum "mpls" {
              value 2;
              description "MPLS.";
            }
            enum "srv6" {
              value 4;
              description "SRv6.";
            }
            enum "sd-wan" {
              value 5;
              description "SD-WAN.";
            }
          }
          description
            "Encapsulation type of packets.";
        }
    
        typedef srv6-mode {
          type enumeration {
            enum "be" {
              value 1;
              description
                "SRv6 iteration mode is BE.";
            }
            enum "te" {
              value 2;
              description
                "SRv6 iteration mode is TE.";
            }
          }
          description "SRv6 mode is BE or TE.";
        }
    
        typedef add-path-cap-type {
          type enumeration {
            enum "receive" {
              value 1;
              description
                "Support receiving add-path routes.";
            }
            enum "send" {
              value 2;
              description
                "Support sending add-path routes.";
            }
            enum "both" {
              value 3;
              description
                "Support receiving and sending add-path routes.";
            }
          }
          description
            "The type of add-path routes.";
        }
    
        typedef config-type {
          type enumeration {
            enum "default" {
              value 0;
              description
                "Disable or inheritance group.";
            }
            enum "enable" {
              value 1;
              description
                "Explicit config enable.";
            }
            enum "disable" {
              value 2;
              description
                "Explicit config disable.";
            }
          }
          description "Route server client.";
        }
    
        typedef route-limit-type {
          type enumeration {
            enum "noparameter" {
              value 0;
              description "Default value.";
            }
            enum "alert-only" {
              value 1;
              description
                "An alarm is generated and no additional routes will be accepted if the maximum number of routes allowed have been received.";
            }
            enum "idle-forever" {
              value 2;
              description
                "The connection that is interrupted is not automatically re-established if the maximum number of routes allowed have been received.";
            }
            enum "idle-timeout" {
              value 3;
              description
                "After the number of received routes exceeds the threshold and the timeout timer expires, the connection that is interrupted is automatically re-established.";
            }
          }
          description "The type of route limit.";
        }
    
        typedef es-ad-compatible-type {
          type enumeration {
            enum "default" {
              value 0;
              description
                "Default ES AD compatible.";
            }
            enum "enable" {
              value 1;
              description
                "Enable ES AD compatible.";
            }
            enum "disable" {
              value 2;
              description
                "Disable ES AD compatible.";
            }
          }
          description
            "Ethernet A-D per ES Route compatible type.";
        }
    
        typedef peer-comm-config-type {
          type enumeration {
            enum "default" {
              value 0;
              description
                "Configuration on peer was default.";
            }
            enum "enable" {
              value 1;
              description
                "Configuration on peer was enable.";
            }
            enum "disable" {
              value 2;
              description
                "Configuration on peer was disable.";
            }
          }
          description
            "State of the configuration on peer.";
        }
    
        typedef evpn-next-hop-mode {
          type enumeration {
            enum "null" {
              value 0;
              description
                "The next hop is not changed.";
            }
            enum "local" {
              value 1;
              description
                "The next hop is changed to the local IP address.";
            }
            enum "invariable" {
              value 2;
              description
                "Prevent the device from changing the next hop of each imported IGP route when advertising it to its EVPN peers.";
            }
          }
          description
            "BGP EVPN peer and peer group next hop mode.";
        }
    
        typedef apply-label-type {
          type enumeration {
            enum "per-route" {
              value 0;
              description
                "Per-route label allocation.";
            }
            enum "per-nexthop" {
              value 1;
              description
                "Per-next-hop label allocation.";
            }
          }
          description
            "BGP EVPN apply label type.";
        }
    
        typedef select-depend-type {
          type enumeration {
            enum "depend-tunnel" {
              value 1;
              description
                "Routing-dependent tunnel iteration.";
            }
            enum "depend-ip" {
              value 2;
              description
                "Routing-dependent IP iteration.";
            }
          }
          description
            "The type of nexthop select depend.";
        }
    
        typedef select-depend-type-ext {
          type enumeration {
            enum "depend-tunnel" {
              value 1;
              description
                "Routing-dependent tunnel iteration.";
            }
            enum "depend-ip" {
              value 2;
              description
                "Routing-dependent IP iteration.";
            }
            enum "depend-none" {
              value 3;
              description
                "Routing-dependent ignore.";
            }
          }
          description
            "The type of nexthop select depend.";
        }
    
        typedef import-vpn-rib-afi-type {
          type enumeration {
            enum "ipv4vpn" {
              value 3;
              description
                "IPv4 vpn address family.";
            }
            enum "ipv6vpn" {
              value 6;
              description
                "IPv6 vpn address Family.";
            }
          }
          description
            "The address famiily type of import rib.";
        }
    
        typedef import-rib-nhp-type {
          type enumeration {
            enum "mpls" {
              value 1;
              description
                "MPLS tunnels, include LDP, TE, SR-TE, SR-MPLS BE.";
            }
            enum "srv6" {
              value 2;
              description
                "Segment routing IPv6 tunnel.";
            }
          }
          description
            "The mexthop type of import rib.";
        }
    
        typedef evpn-route-type {
          type enumeration {
            enum "ip-prefix" {
              value 1;
              description "Ip prefix route.";
            }
          }
          description
            "The route type of evpn rib.";
        }
    
        typedef ad-prefix {
          type string {
            length "1..60";
          }
          description
            "An EVPN auto-discovery route prefix has the following formats:
    Ethernet auto-discovery route. The value is in the format of xxxx.xxxx.xxxx.xxxx.xxxx:M, where:
    - xxxx.xxxx.xxxx.xxxx.xxxx indicates the ESI configured for the device originating this route.
    - M is form 0 to 4294967295.";
        }
    
        typedef mac-prefix {
          type string {
            length "1..60";
          }
          description
            "An EVPN mac route prefix has the following formats:
    MAC advertisement route. The value is in the format of E:M:H-H-H:L:X.X.X.X or E:M:H-H-H:L: [X:X::X:X], where:
    - E indicates the ID of the VLAN to which the MAC address belongs.
    - M is fixed at 48, indicating the length of the MAC address.
    - H-H-H indicates the MAC address. The value is a 12-digit hexadecimal number, in the format of H-H-H. Each H is 4 digits. If an H contains fewer than 4 digits, the left-most digits are padded with zeros.
    - L indicating the mask length of the IP address corresponding to the MAC address.
    - X.X.X.X indicates the IP address corresponding to the MAC address.
    - X:X::X:X indicates the IPv6 address corresponding to the MAC address.";
        }
    
        typedef inclusive-prefix {
          type string {
            length "1..60";
          }
          description
            "An EVPN ethernet segment route prefix has the following formats:
    Inclusive multicast route. The value is in the format of M:L:X.X.X.X, where:
    - M indicates the EthTagId configured for the device originating the route.
    - X.X.X.X indicates the source address configured for the device originating the route.
    - L indicates the mask length of the source address configured for the device originating the route.";
        }
    
        typedef es-prefix {
          type string {
            length "1..60";
          }
          description
            "An EVPN ethernet segment route prefix has the following formats:
    Ethernet segment route. The value is in the format of xxxx.xxxx.xxxx.xxxx.xxxx, where x is a hexadecimal integer ranging from 0 to F. The value equals the ESI configured for the device originating this route.";
        }
    
        typedef evpn-ip-prefix {
          type string {
            length "1..60";
          }
          description
            "An EVPN ip prefix route prefix has the following formats:
    IP Prefix route. The value is in the format of L:X.X.X.X:M or L:[X:X::X:X]:M, where:
    - L is fixed at 0.
    - X.X.X.X indicates the ip address of host routes.
    - M indicates the mask length of host routes.
    - X:X::X:X indicates the IPv6 address of host routes.";
        }
      }  // module huawei-bgp-evpn
    

© 2023 YumaWorks, Inc. All rights reserved.