huawei-l3-multicast

Multicast basic service package.

  • Version: 2019-03-30

    huawei-l3-multicast@2019-03-30


    
      module huawei-l3-multicast {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-l3-multicast";
    
        prefix l3mc;
    
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-l3vpn {
          prefix l3vpn;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-routing {
          prefix rt;
        }
        import huawei-ethernet {
          prefix ethernet;
        }
    
        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
          "Multicast basic service package.";
    
        revision "2019-03-30" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "mcast-base";
    
        typedef load-splitting-type {
          type enumeration {
            enum "none" {
              value 0;
              description
                "Disable load splitting for multicast routes.";
            }
            enum "source" {
              value 1;
              description
                "Specify the multicast source-based load splitting mode. This mode applies to a scenario in which multiple sources provide services for one group.";
            }
            enum "group" {
              value 2;
              description
                "Specify the multicast group-based multicast load splitting mode. This mode applies to a scenario in which one source provides services for multiple groups.";
            }
            enum "source-group" {
              value 3;
              description
                "Specify the multicast source-based and group-based load splitting mode. This mode applies to a scenario in which multiple sources provide services for multiple groups.";
            }
            enum "balance" {
              value 4;
              description
                "Specify the stable-preferred load splitting. This mode enables a device to automatically adjust and balance entries on equal-cost routes when equal-cost routes are added or deleted, when multicast routing entries are deleted, or when load splitting weights are changed on interfaces. This mode applies to a scenario in which hosts frequently join or leave groups and automatic load splitting adjustment is required.";
            }
            enum "balance-ucmp" {
              value 5;
              description
                "Specify the balance-ucmp load splitting.";
            }
          }
          description "Load splitting type.";
        }
    
        typedef limit-type {
          type enumeration {
            enum "pim-sm-star-group" {
              value 1;
              description "PIM-SM (*, g).";
            }
            enum "pim-sm-source-group" {
              value 2;
              description "PIM-SM (s, g).";
            }
            enum "pim-dm-star-group" {
              value 3;
              description "PIM-DM (*, g).";
            }
            enum "pim-dm-source-group" {
              value 4;
              description "PIM-DM (s, g).";
            }
            enum "bidir-pim-star-group" {
              value 5;
              description "BIDIRPIM (*, g).";
            }
          }
          description "Limit type.";
        }
    
        container l3-multicast {
          description "Configure l3-multicast.";
          container ipv4 {
            description "Configure IPv4.";
            container limits {
              description
                "List of multicast route limit.";
              list limit {
                must
                  "l3mc:upper-threshold>l3mc:lower-threshold";
                key "type";
                description
                  "Configure multicast route limit.";
                leaf type {
                  type limit-type;
                  description "Limit type.";
                }
    
                leaf value {
                  type uint32 {
                    range "1..16384";
                  }
                  mandatory true;
                  description "Limit value.";
                }
    
                leaf upper-threshold {
                  type uint32 {
                    range "1..100";
                  }
                  default "80";
                  description "Upper threshold.";
                }
    
                leaf lower-threshold {
                  type uint32 {
                    range "1..100";
                  }
                  default "70";
                  description "Lower threshold.";
                }
    
                leaf current-count {
                  type uint32 {
                    range "0..4294967295";
                  }
                  config false;
                  description
                    "Current entry count.";
                }
              }  // list limit
            }  // container limits
          }  // container ipv4
    
          container ipv6 {
            description "Configure IPv6.";
            container limits {
              description
                "List of multicast route limit.";
              list limit {
                must
                  "l3mc:upper-threshold>l3mc:lower-threshold";
                key "type";
                description
                  "Configure multicast route limit.";
                leaf type {
                  type limit-type;
                  description "Limit type.";
                }
    
                leaf value {
                  type uint32 {
                    range "1..16384";
                  }
                  mandatory true;
                  description "Limit value.";
                }
    
                leaf upper-threshold {
                  type uint32 {
                    range "1..100";
                  }
                  default "80";
                  description "Upper threshold.";
                }
    
                leaf lower-threshold {
                  type uint32 {
                    range "1..100";
                  }
                  default "70";
                  description "Lower threshold.";
                }
    
                leaf current-count {
                  type uint32 {
                    range "0..4294967295";
                  }
                  config false;
                  description
                    "Current entry count.";
                }
              }  // list limit
            }  // container limits
          }  // container ipv6
        }  // container l3-multicast
      }  // module huawei-l3-multicast
    

© 2023 YumaWorks, Inc. All rights reserved.