This module contains a collection of YANG definitions for Cisco IOS-XR router mld configuration. Copyright (c) 2019-2021 by Cis...
Version: 2021-02-09
module Cisco-IOS-XR-um-router-mld-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-mld-cfg"; prefix um-router-mld-cfg; import cisco-semver { prefix semver; } import Cisco-IOS-XR-types { prefix xr; } import ietf-inet-types { prefix inet; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR router mld configuration. Copyright (c) 2019-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-02-09" { description "Added dvmrp-enable node under vrf and default container 2021-01-28 Added cisco-support task yang nodes 2020-12-07 Removed un-supported nodes"; } revision "2019-08-20" { description "Initial release"; } semver:module-version "1.1.0"; semver:module-version "1.0.0"; container router { description "Enable a routing process"; container mld { presence "Indicates a mld node is configured."; description "IPv6 address family"; container vrfs { description "VRF configs"; list vrf { key "vrf-name"; description "VRF configs"; leaf vrf-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "VRF configs"; } leaf robustness-variable { type uint32 { range "2..10"; } description "MLD robustness variable"; } container maximum { description "Maximum resource enforced by this router"; leaf groups { type uint32 { range "1..75000"; } description "Maximum number of groups accepted by this router"; } container groups-per-interface { presence "Indicates a groups-per-interface node is configured."; description "Maximum number of groups accepted per interface by this router"; leaf maximum-number { type uint32 { range "1..40000"; } mandatory true; description "Maximum number of groups accepted per interface by this router"; } leaf threshold { type uint32 { range "1..40000"; } must ". <= ../maximum-number"; description "Threshold warning"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Name of ACL"; } } // container groups-per-interface } // container maximum leaf version { type uint32 { range "1..2"; } description "MLD version"; } leaf query-interval { type uint32 { range "1..3600"; } description "MLD host query interval"; } leaf query-timeout { type uint32 { range "60..300"; } description "MLD previous querier timeout"; } leaf query-max-response-time { type uint32 { range "1..25"; } description "MLD max query response value"; } container explicit-tracking { presence "Indicates a explicit-tracking node is configured."; description "MLD explicit host tracking"; leaf access-list { type xr:Cisco-ios-xr-string; description "Access list specifying tracking group range"; } } // container explicit-tracking leaf access-group { type xr:Cisco-ios-xr-string { length "1..32"; } description "MLD group access group"; } container ssm { description "Configure SSM specific options"; container map { description "Configure mappings of SSM group membership to sources"; container statics { description "Configure a static mapping of a source to a set of SSM groups"; list static { key "address"; description "Configure a static mapping of a source to a set of SSM groups"; leaf address { type inet:ipv6-address-no-zone; description "Source address"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Access list of ssm groups that should map to the given source"; } } // list static } // container statics container query { description "Configure a mapping of sources to groups quering external database"; container dns { presence "Indicates a dns node is configured."; description "Configure a dns mapping for sources to a set of SSM groups"; } // container dns } // container query } // container map } // container ssm container interfaces { description "MLD interface configuration subcommands"; list interface { key "interface-name"; description "Select an interface to configure"; leaf interface-name { type xr:Interface-name; description "Select an interface to configure"; } leaf version { type uint32 { range "1..2"; } description "MLD version"; } container router { description "Enable/Disable Router side functionality in MLD"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable Router side functionality in MLD"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable Router side functionality in MLD"; } // container disable } // container router leaf query-interval { type uint32 { range "1..3600"; } description "MLD host query interval"; } leaf query-timeout { type uint32 { range "60..300"; } description "MLD previous querier timeout"; } leaf query-max-response-time { type uint32 { range "1..25"; } description "MLD max query response value"; } container explicit-tracking { description "MLD explicit host tracking"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Disable IGMPv3 explicit host tracking"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable IGMPv3 explicit host tracking"; } // container disable leaf access-list { type xr:Cisco-ios-xr-string; must "../enable"; description "Access list specifying tracking group range"; } } // container explicit-tracking leaf access-group { type xr:Cisco-ios-xr-string { length "1..32"; } description "MLD group access group"; } container maximum { description "Maximum resource per interface enforced by this router"; container groups-per-interface { presence "Indicates a groups-per-interface node is configured."; description "Maxinum number of groups accepted per interface by this router"; leaf maximum-number { type uint32 { range "1..40000"; } mandatory true; description "Maxinum number of groups accepted per interface by this router"; } leaf threshold { type uint32 { range "1..40000"; } must ". <= ../maximum-number"; description "Threshold warning"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Name of ACL"; } } // container groups-per-interface } // container maximum container static-group { description "MLD static multicast group"; list group-address { must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; key "group-address"; description "MLD static multicast group"; leaf group-address { type inet:ipv6-address-no-zone; description "IP group address"; } container group-address-only { presence "Indicates a group-address-only node is configured."; description "Group-address without increment mask/source-address"; container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // container group-address-only container group-address-inc-mask { description "Group-address with increment-mask"; list inc-mask { key "group-mask-address"; description "Increment mask for group address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-inc-mask container group-address-source-address { description "Group-address with source-address"; list source-address { key "source-address"; description "IGMP static multicast group"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list source-address } // container group-address-source-address container group-address-inc-mask-source-address { description "Group-address with increment-mask and source-address"; list inc-mask { key "group-mask-address source-address"; description "Increment mask for group address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-inc-mask-source-address container group-address-source-address-inc-mask { description "Group-address and source-address with increment-mask"; list inc-mask { key "source-address source-mask-address"; description "Increment mask for source address"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf source-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for source address"; } leaf source-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of source addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-source-address-inc-mask container group-inc-mask-source-inc-mask { description "Group-address with increment-mask and source-address with increment-mask"; list inc-mask { key "group-mask-address source-address source-mask-address"; description "Increment mask for source address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf source-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for source address"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } leaf source-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of source addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-inc-mask-source-inc-mask } // list group-address } // container static-group container join-groups { description "MLD join multicast group"; list join-group { must "group-address-only or includes or excludes"; key "group-address"; description "MLD join multicast group"; leaf group-address { type inet:ipv6-address-no-zone; description "MLD join multicast group"; } container group-address-only { presence "Indicates a group-address-only node is configured."; description "Join multicast group without source address"; } // container group-address-only container includes { description "Include only the following source address"; list include { key "source-address"; description "Source address to include"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to include"; } } // list include } // container includes container excludes { description "Exclude the only following source address"; list exclude { key "address"; description "Exclude the only following source address"; leaf address { type inet:ipv6-address-no-zone; description "Exclude the only following source address"; } } // list exclude } // container excludes } // list join-group } // container join-groups container dvmrp-enable { presence "Indicates a dvmrp-enable node is configured."; description "MLD Enable dvmrp on specific interface"; } // container dvmrp-enable } // list interface } // container interfaces } // list vrf } // container vrfs container nsf { description "Configure NSF specific options"; leaf lifetime { type uint32 { range "10..3600"; } description "Configure maximum time for MLD NSF mode"; } } // container nsf leaf robustness-variable { type uint32 { range "2..10"; } description "MLD robustness variable"; } container maximum { description "Maximum resource enforced by this router"; leaf groups { type uint32 { range "1..75000"; } description "Maximum number of groups accepted by this router"; } container groups-per-interface { presence "Indicates a groups-per-interface node is configured."; description "Maximum number of groups accepted per interface by this router"; leaf maximum-number { type uint32 { range "1..40000"; } mandatory true; description "Maximum number of groups accepted per interface by this router"; } leaf threshold { type uint32 { range "1..40000"; } must ". <= ../maximum-number"; description "Threshold warning"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Name of ACL"; } } // container groups-per-interface } // container maximum leaf version { type uint32 { range "1..2"; } description "MLD version"; } leaf query-interval { type uint32 { range "1..3600"; } description "MLD host query interval"; } leaf query-timeout { type uint32 { range "60..300"; } description "MLD previous querier timeout"; } leaf query-max-response-time { type uint32 { range "1..25"; } description "MLD max query response value"; } container explicit-tracking { presence "Indicates a explicit-tracking node is configured."; description "MLD explicit host tracking"; leaf access-list { type xr:Cisco-ios-xr-string; description "Access list specifying tracking group range"; } } // container explicit-tracking leaf access-group { type xr:Cisco-ios-xr-string { length "1..32"; } description "MLD group access group"; } container ssm { description "Configure SSM specific options"; container map { description "Configure mappings of SSM group membership to sources"; container statics { description "Configure a static mapping of a source to a set of SSM groups"; list static { key "address"; description "Configure a static mapping of a source to a set of SSM groups"; leaf address { type inet:ipv6-address-no-zone; description "Source address"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..32"; } mandatory true; description "Configure a static mapping of a source to a set of SSM groups"; } } // list static } // container statics container query { description "Configure a mapping of sources to groups quering external database"; container dns { presence "Indicates a dns node is configured."; description "Configure a dns mapping for sources to a set of SSM groups"; } // container dns } // container query } // container map } // container ssm container interfaces { description "MLD interface configuration subcommands"; list interface { key "interface-name"; description "Select an interface to configure"; leaf interface-name { type xr:Interface-name; description "Select an interface to configure"; } leaf version { type uint32 { range "1..2"; } description "MLD version"; } container router { description "Enable/Disable Router side functionality in MLD"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Enable Router side functionality in MLD"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable Router side functionality in MLD"; } // container disable } // container router leaf query-interval { type uint32 { range "1..3600"; } description "MLD host query interval"; } leaf query-timeout { type uint32 { range "60..300"; } description "MLD previous querier timeout"; } leaf query-max-response-time { type uint32 { range "1..25"; } description "MLD max query response value"; } container explicit-tracking { description "MLD explicit host tracking"; container enable { must "not(../disable)"; presence "Indicates a enable node is configured."; description "Disable MLD explicit host tracking"; } // container enable container disable { must "not(../enable)"; presence "Indicates a disable node is configured."; description "Disable MLD explicit host tracking"; } // container disable leaf access-list { type xr:Cisco-ios-xr-string; must "../enable"; description "Access list specifying tracking group range"; } } // container explicit-tracking leaf access-group { type string { length "1..32"; } description "MLD group access group"; } container maximum { description "Maximum resource per interface enforced by this router"; container groups-per-interface { presence "Indicates a groups-per-interface node is configured."; leaf maximum-number { type uint32 { range "1..40000"; } mandatory true; description "Maxinum number of groups accepted per interface by this router"; } leaf threshold { type uint32 { range "1..40000"; } must ". <= ../maximum-number"; description "Threshold warning"; } leaf access-list { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Name of ACL"; } } // container groups-per-interface } // container maximum container static-group { description "MLD static multicast group"; list group-address { must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; key "group-address"; description "MLD static multicast group"; leaf group-address { type inet:ipv6-address-no-zone; description "IP group address"; } container group-address-only { presence "Indicates a group-address-only node is configured."; description "Group-address without increment mask/source-address"; container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // container group-address-only container group-address-inc-mask { description "Group-address with increment-mask"; list inc-mask { key "group-mask-address"; description "Increment mask for group address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-inc-mask container group-address-source-address { description "Group-address with source-address"; list source-address { key "source-address"; description "IGMP static multicast group"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list source-address } // container group-address-source-address container group-address-inc-mask-source-address { description "Group-address with increment-mask and source-address"; list inc-mask { key "group-mask-address source-address"; description "Increment mask for group address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-inc-mask-source-address container group-address-source-address-inc-mask { description "Group-address and source-address with increment-mask"; list inc-mask { key "source-address source-mask-address"; description "Increment mask for source address"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf source-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for source address"; } leaf source-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of source addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-address-source-address-inc-mask container group-inc-mask-source-inc-mask { description "Group-address with increment-mask and source-address with increment-mask"; list inc-mask { key "group-mask-address source-address source-mask-address"; description "Increment mask for source address"; leaf group-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for group address"; } leaf source-address { type inet:ipv6-address-no-zone; description "Source address to join"; } leaf source-mask-address { type inet:ipv6-address-no-zone; description "Increment mask for source address"; } leaf group-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of group addresses to join"; } leaf source-address-count { type uint32 { range "1..512"; } mandatory true; description "No. of source addresses to join"; } container suppress-reports { presence "Indicates a suppress-reports node is configured."; description "Suppress IGMP reports"; } // container suppress-reports } // list inc-mask } // container group-inc-mask-source-inc-mask } // list group-address } // container static-group container join-groups { description "MLD join multicast group"; list join-group { must "group-address-only or includes or excludes"; key "group-address"; description "MLD join multicast group"; leaf group-address { type inet:ipv6-address-no-zone; description "IP group address"; } container group-address-only { presence "Indicates a group-address-only node is configured."; description "Join multicast group without source address"; } // container group-address-only container includes { description "Include only the following source address"; list include { key "source-address"; description "Source address to include"; leaf source-address { type inet:ipv6-address-no-zone; description "Source address to include"; } } // list include } // container includes container excludes { description "Exclude the only following source address"; list exclude { key "source-address"; description "Exclude the only following source address"; leaf source-address { type inet:ipv6-address-no-zone; description "Exclude the only following source address"; } } // list exclude } // container excludes } // list join-group } // container join-groups container dvmrp-enable { presence "Indicates a dvmrp-enable node is configured."; description "MLD Enable dvmrp on specific interface"; } // container dvmrp-enable } // list interface } // container interfaces } // container mld } // container router } // module Cisco-IOS-XR-um-router-mld-cfg
© 2023 YumaWorks, Inc. All rights reserved.