huawei-bgp-vpnv4mcast

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

  • Version: 2020-08-30

    huawei-bgp-vpnv4mcast@2020-08-30


    
      module huawei-bgp-vpnv4mcast {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-bgp-vpnv4mcast";
    
        prefix bgp-vpnv4mcast;
    
        import huawei-extension {
          prefix ext;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-bgp {
          prefix bgp;
        }
        import huawei-xpl {
          prefix xpl;
        }
        import huawei-routing-policy {
          prefix rtp;
        }
        import huawei-bgp-routing-table {
          prefix bgp-rt;
        }
    
        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 "2020-08-30" {
          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";
    
        augment /ni:network-instance/ni:instances/ni:instance/bgp:bgp/bgp:base-process/bgp:afs/bgp:af {
          description
            "BGP IPv4 vpnv4-multicast address family configuration.";
          container ipv4-vpn-multicast {
            when "../bgp:type='ipv4vpnmcast'";
            description
              "Configure IPv4 vpnv4-multicast address family.";
            container common {
              description
                "Configure BGP IPv4 vpnv4-multicast common options.";
              uses bgp:vpn-target-type;
    
              uses bgp:reflector-cluster-type;
    
              leaf reflect-between-client {
                type boolean;
                default "true";
                description
                  "Enable/disable route reflection between clients.";
              }
    
              leaf reflect-change-path {
                type boolean;
                default "false";
                description
                  "Enable/disable an RR to use an export policy to change route AS_Path. By default, this function is not enabled.";
              }
            }  // container common
    
            uses bgp:slow-peer-type;
          }  // container ipv4-vpn-multicast
        }
    
        augment /ni:network-instance/ni:instances/ni:instance/bgp:bgp/bgp:base-process/bgp:peer-groups/bgp:peer-group/bgp:afs/bgp:af {
          description
            "BGP IPv4 vpnv4-multicast address family configuration.";
          container ipv4-vpn-multicast {
            when "../bgp:type='ipv4vpnmcast'";
            description
              "Configure BGP IPv4 vpnv4-multicast options.";
            uses bgp:rt-update-interval-type;
    
            uses bgp:advertise-large-community-group-type;
    
            uses bgp:advertise-community-type;
    
            uses bgp:group-independent-peer-group-type;
    
            leaf reflect-client {
              when "../../../../bgp:type='ibgp'";
              type boolean;
              default "false";
              description
                "Enable/disable the local device as a route reflector (RR) and a peer or peer group as its client. This configuration is applicable between IBGP peers only. The configurations of RRs and its clients in an address family are valid only in this address family. Therefore, it is recommended to configure RRs and its clients in the specified address family that is required.";
            }
    
            choice import-policy-type {
              description
                "Set route policy or filter.";
              case rtp-ref {
                description "Route policy.";
                leaf import-policy {
                  type leafref {
                    path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name";
                  }
                  description
                    "Specify the filtering policy applied to the routes learned from a peer. By default, no such policy is specified.";
                }
              }  // case rtp-ref
    
              case xpl-ref {
                description "Route filter.";
                container import-filter {
                  description
                    "Configure an import route-filter to filter the routes received from peers. By default, no route-filter is specified to filter the routes imported from peers.";
                  leaf name {
                    type leafref {
                      path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name";
                    }
                    description
                      "Specify an import route-filter name.";
                  }
    
                  leaf parameter {
                    when "../name";
                    type xpl:filter-parameter-type;
                    description
                      "Specify an import route-filter parameter.";
                  }
                }  // container import-filter
              }  // case xpl-ref
            }  // choice import-policy-type
    
            choice export-policy-type {
              description
                "Set route policy or filter.";
              case rtp-ref {
                description "Route policy.";
                leaf export-policy {
                  type leafref {
                    path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name";
                  }
                  description
                    "Specify the filtering policy applied to the routes to be advertised to a peer. By default, no such policy is specified.";
                }
              }  // case rtp-ref
    
              case xpl-ref {
                description "Route filter.";
                container export-filter {
                  description
                    "Configure an export route-filter to filter the routes to be advertised to peers. By default, no route-filter is specified to filter the routes to be advertised to peers.";
                  leaf name {
                    type leafref {
                      path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name";
                    }
                    description
                      "Specify an export route-filter name.";
                  }
    
                  leaf parameter {
                    when "../name";
                    type xpl:filter-parameter-type;
                    description
                      "Specify an export route-filter parameter.";
                  }
                }  // container export-filter
              }  // case xpl-ref
            }  // choice export-policy-type
    
            leaf update-packet-standard-compatible {
              type boolean;
              default "false";
              description
                "Enable/disable compatible standard update packet.";
            }
    
            uses bgp:route-limit-type;
          }  // container ipv4-vpn-multicast
        }
    
        augment /ni:network-instance/ni:instances/ni:instance/bgp:bgp/bgp:base-process/bgp:peers/bgp:peer/bgp:afs/bgp:af {
          description
            "BGP IPv4 vpnv4-multicast address family configuration.";
          container ipv4-vpn-multicast {
            when "../bgp:type = 'ipv4vpnmcast'";
            description
              "Configure IPv4 vpnv4-multicast options.";
            leaf group-name {
              ext:operation-exclude "update" {
                description "The node cannot be modified, when the peer already belongs to a peer-group.";
              }
              type leafref {
                path "../../../../../../bgp:peer-groups/bgp:peer-group/bgp:name";
              }
              must
                "../../../../../../bgp:peer-groups/bgp:peer-group[bgp:name = current()]/bgp:afs/bgp:af[bgp:type='ipv4vpnmcast']";
              must
                "../../../../../../bgp:peer-groups/bgp:peer-group[bgp:name = current()]/bgp:peer-establish-mode = 'static'";
              description
                "Configure a name for a peer group. After a peer is deleted from the peer group, the peer is disabled from the address family. The object cannot be modified.";
            }
    
            uses bgp:rt-update-interval-type;
    
            uses bgp:advertise-large-community-type;
    
            uses bgp:advertise-community-type;
    
            uses bgp:peer-independent-peer-group-type;
    
            leaf reflect-client {
              type boolean;
              default "false";
              description
                "Enable/disable the local device as a route reflector (RR) and a peer or peer group as its client. This configuration is applicable between IBGP peers only. The configurations of RRs and its clients in an address family are valid only in this address family. Therefore, it is recommended to configure RRs and its clients in the specified address family that is required.";
            }
    
            choice import-policy-type {
              description
                "Set route policy or filter.";
              case rtp-ref {
                description "Route policy.";
                leaf import-policy {
                  type leafref {
                    path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name";
                  }
                  description
                    "Specify the filtering policy applied to the routes learned from a peer. By default, no such policy is specified.";
                }
              }  // case rtp-ref
    
              case xpl-ref {
                description "Route filter.";
                container import-filter {
                  description
                    "Configure an import route-filter to filter the routes received from peers. By default, no route-filter is specified to filter the routes imported from peers.";
                  leaf name {
                    type leafref {
                      path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name";
                    }
                    description
                      "Specify an import route-filter name.";
                  }
    
                  leaf parameter {
                    when "../name";
                    type xpl:filter-parameter-type;
                    description
                      "Specify an import route-filter parameter.";
                  }
                }  // container import-filter
              }  // case xpl-ref
            }  // choice import-policy-type
    
            choice export-policy-type {
              description
                "Set route policy or filter.";
              case rtp-ref {
                description "Route policy.";
                leaf export-policy {
                  type leafref {
                    path "/rtp:routing-policy/rtp:policy-definitions/rtp:policy-definition/rtp:name";
                  }
                  description
                    "Specify the filtering policy applied to the routes to be advertised to a peer. By default, no such policy is specified.";
                }
              }  // case rtp-ref
    
              case xpl-ref {
                description "Route filter.";
                container export-filter {
                  description
                    "Configure an export route-filter to filter the routes to be advertised to peers. By default, no route-filter is specified to filter the routes to be advertised to peers.";
                  leaf name {
                    type leafref {
                      path "/xpl:xpl/xpl:route-filters/xpl:route-filter/xpl:name";
                    }
                    description
                      "Specify an export route-filter name.";
                  }
    
                  leaf parameter {
                    when "../name";
                    type xpl:filter-parameter-type;
                    description
                      "Specify an export route-filter parameter.";
                  }
                }  // container export-filter
              }  // case xpl-ref
            }  // choice export-policy-type
    
            leaf update-packet-standard-compatible {
              type boolean;
              default "false";
              description
                "Enable/disable compatible standard update packet.";
            }
    
            uses bgp:route-limit-type;
    
            uses bgp:path-attr-map-type;
          }  // container ipv4-vpn-multicast
        }
    
        augment /bgp:bgp/bgp:base-process/bgp-rt:bgp-route {
          description
            "BGP IPv4 vpnv4-multicast address family routes information.";
          container ipv4-vpn-multicast {
            config false;
            description
              "Statistics of IPv4 vpnv4-multicast routes.";
            container statistic {
              description
                "Statistics of BGP routes information of IPv4 vpnv4-multicast address family.";
              uses bgp-rt:route-total-st-type;
            }  // container statistic
          }  // container ipv4-vpn-multicast
        }
      }  // module huawei-bgp-vpnv4mcast
    

© 2023 YumaWorks, Inc. All rights reserved.