huawei-igmp-mld-snooping

The module defines a collection of YANG definitions common for all Internet Group Management Protocol (IGMP) and Multicast Liste...

  • Version: 2020-05-21

    huawei-igmp-mld-snooping@2020-05-21


    
      module huawei-igmp-mld-snooping {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-igmp-mld-snooping";
    
        prefix ims;
    
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-vlan {
          prefix vlan;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-acl {
          prefix acl;
        }
        import huawei-multicast {
          prefix mc;
        }
        import huawei-bd {
          prefix bd;
        }
        import huawei-evpn {
          prefix evpn;
        }
        import huawei-l2vpn {
          prefix l2vpn;
        }
        import huawei-ethernet {
          prefix ethernet;
        }
        import huawei-nvo3 {
          prefix nvo3;
        }
        import huawei-igmp-mld {
          prefix igmp-mld;
        }
        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
          "The module defines a collection of YANG definitions common for all Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping devices.";
    
        revision "2020-05-21" {
          description
            "Add a when condition for IGMP snooping of VPLS. Modify the type of except-acl. Add a when condition for mld-snooping. Modify the type and the must conditions of some nodes that reference ACL. Add the must conditions for limit-max-entry. Modify design for multicast VLAN. Add node send-query-source-address. Add node send-query-prune-source-port. Add the must conditions for some nodes. Add the when conditions for some nodes. Modify the type for some nodes. Modify the design for static-router-ports and ssm-mapping-groups and proxy-uplink-port.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-04" {
          description "Modify units.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-21" {
          description
            "Modify the type of remote-peer from IPv4IPv6 to IPv4.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-12" {
          description
            "Add new leaves; Modify units of some leaves; Modify ssm-mapping-policy type from leafref to string, Leafref should be used together with require-instance When version 1.1 is supported.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-03-30" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "l2mc";
    
        typedef snooping-mode {
          type enumeration {
            enum "asm-ssm" {
              value 1;
              description
                "A device learns multicast entries with group addresses in the ASM and SSM address ranges.";
            }
            enum "asm-only" {
              value 2;
              description
                "A device only learns multicast entries with group addresses in the ASM address range.";
            }
            enum "ssm-only" {
              value 3;
              description
                "A device only learns multicast entries with group addresses in the SSM address range.";
            }
          }
          description "Snooping mode.";
        }
    
        typedef copy-mode {
          type enumeration {
            enum "invalid" {
              value 0;
              description
                "Invalid value, do not copy.";
            }
            enum "by-vlan" {
              value 1;
              description "By VLAN.";
            }
            enum "by-unicast-mac" {
              value 2;
              description "By unicast MAC.";
            }
          }
          description "Multicast copy mode.";
        }
    
        typedef evi-rt-type {
          type enumeration {
            enum "export-extcommunity" {
              value 2;
              description "Export-extcommunity.";
            }
            enum "import-extcommunity" {
              value 3;
              description "Import-extcommunity.";
            }
          }
          description "EVI RT type.";
        }
    
        typedef entry-flag-type {
          type enumeration {
            enum "none" {
              value 0;
              description "None.";
            }
            enum "protocol" {
              value 1;
              description
                "Entry generated through protocol packets or static configuration.";
            }
            enum "active" {
              value 2;
              description
                "Entry generated through multicast data flows.";
            }
            enum "protocol-active" {
              value 3;
              description
                "Both protocol and active.";
            }
            enum "fastchannel" {
              value 4;
              description
                "Entry generated through fast channel configuration.";
            }
            enum "protocol-fastchannel" {
              value 5;
              description
                "Both protocol and fast-channel.";
            }
            enum "active-fastchannel" {
              value 6;
              description
                "Both active and fast-channel.";
            }
            enum "protocol-active-fastchannel" {
              value 7;
              description
                "Both protocol, active and fast-channel.";
            }
          }
          description "Entry flag type.";
        }
    
        typedef source-flag-type {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown.";
            }
            enum "igmp" {
              value 1;
              description "IGMP.";
            }
            enum "active" {
              value 2;
              description "Active.";
            }
            enum "igmp-active" {
              value 3;
              description "IGMP Active.";
            }
            enum "fastchannel" {
              value 4;
              description "Fast-Channel.";
            }
            enum "igmp-fastchannel" {
              value 5;
              description "IGMP Fast-Channel.";
            }
            enum "active-fastchannel" {
              value 6;
              description "Active Fast-Channel.";
            }
            enum "igmp-active-fastchannel" {
              value 7;
              description
                "IGMP Active Fast-Channel.";
            }
            enum "mld" {
              value 9;
              description "MLD.";
            }
            enum "active6" {
              value 10;
              description "Active.";
            }
            enum "mld-active6" {
              value 11;
              description "MLD Active6.";
            }
            enum "fastchannel6" {
              value 12;
              description "Fast-Channel.";
            }
            enum "mld-fastchannel6" {
              value 13;
              description "MLD Fast-Channel.";
            }
            enum "active6-fastchannel6" {
              value 14;
              description "Active Fast-Channel.";
            }
            enum "mld-active6-fastchannel6" {
              value 15;
              description
                "MLD Active Fast-Channel.";
            }
            enum "trill" {
              value 16;
              description "Trill.";
            }
            enum "igmp-trill" {
              value 17;
              description "IGMP Trill.";
            }
            enum "active-trill" {
              value 18;
              description "Active Trill.";
            }
            enum "igmp-active-trill" {
              value 19;
              description "IGMP Active Trill.";
            }
          }
          description "Source flag type.";
        }
    
        typedef l2mc-esi {
          type string {
            length "0..24";
            pattern
              '(^ *(00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3}(([0-9a-fA-F]){4}))? *$)';
          }
          description
            "ESI is begin with a-f or A-f or 0-9.";
        }
    
        typedef df-status-type {
          type enumeration {
            enum "df" {
              value 1;
              description "The PE is DF.";
            }
            enum "non-df" {
              value 2;
              description "The PE is non-DF.";
            }
          }
          description "DF status type.";
        }
    
        typedef remote-flag-type {
          type enumeration {
            enum "local" {
              value 1;
              description "Local.";
            }
            enum "remote" {
              value 2;
              description "Remote.";
            }
            enum "local-remote" {
              value 3;
              description "Local Remote.";
            }
          }
          description "Remote flag type.";
        }
    
        typedef smet-prefix {
          type string {
            length "1..68";
          }
          description "SMET prefix.";
        }
    
        typedef join-prefix {
          type string {
            length "1..90";
          }
          description "IGMP Join Synch prefix.";
        }
      }  // module huawei-igmp-mld-snooping
    

© 2023 YumaWorks, Inc. All rights reserved.