ietf-igmp-mld-snooping
HTML
ietf-igmp-mld-snooping@2017-10-25
module ietf-igmp-mld-snooping { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:ietf-igmp-mld-snooping"; prefix ims; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import ietf-interfaces { prefix if; } import ietf-l2vpn { prefix l2vpn; } organization "IETF PIM Working Group"; contact "WG Web: <http://tools.ietf.org/wg/pim/> WG List: <mailto:pim@ietf.org> WG Chair: Stig Venaas <mailto:stig@venaas.com> WG Chair: Mike McBride <mailto:mmcbride7@gmail.com> Editors: Hongji Zhao <mailto:hongji.zhao@ericsson.com> Xufeng Liu <mailto:Xufeng_Liu@jabil.com> Yisong Liu <mailto:liuyisong@huawei.com> Anish Peter <mailto:anish.ietf@gmail.com> Mahesh Sivakumar <mailto:masivaku@cisco.com> "; description "The module defines a collection of YANG definitions common for IGMP and MLD Snooping."; revision "2017-10-25" { description "Change model definition to fit NMDA standard."; reference "RFC XXXX: A YANG Data Model for IGMP and MLD Snooping"; } revision "2017-08-14" { description "using profile to cooperate with ieee-dot1Q-bridge module"; reference "RFC XXXX: A YANG Data Model for IGMP and MLD Snooping"; } revision "2017-06-28" { description "augment /rt:routing/rt:control-plane-protocols augment /rt:routing-state/rt:control-plane-protocols"; reference "RFC XXXX: A YANG Data Model for IGMP and MLD Snooping"; } revision "2017-02-05" { description "Initial revision."; reference "RFC XXXX: A YANG Data Model for IGMP and MLD Snooping"; } feature admin-enable { description "Support configuration to enable or disable IGMP and MLD Snooping."; } feature fast-leave { description "Support configuration of fast-leave."; } feature join-group { description "Support configuration of join-group."; } feature require-router-alert { description "Support configuration of require-router-alert."; } feature static-l2-multicast-group { description "Support configuration of L2 multicast static-group."; } feature per-instance-config { description "Support configuration of each VLAN or VPLS instance or EVPN instance."; } feature rpc-clear-groups { description "Support to clear statistics by RPC for IGMP and MLD Snooping."; } feature explicit-tracking { description "Support configuration of per instance explicit-tracking hosts."; } feature exclude-lite { description "Support configuration of per instance exclude-lite."; } typedef name-type { type string { length "0..32"; } description "A text string of up to 32 characters, of locally determined significance."; } typedef vlan-index-type { type uint32 { range "1..4094 | 4096..4294967295"; } description "A value used to index per-VLAN tables. Values of 0 and 4095 are not permitted. The range of valid VLAN indices. If the value is greater than 4095, then it represents a VLAN with scope local to the particular agent, i.e., one without a global VLAN-ID assigned to it. Such VLANs are outside the scope of IEEE 802.1Q, but it is convenient to be able to manage them in the same way using this YANG module."; reference "IEEE Std 802.1Q-2014: Virtual Bridged Local Area Networks."; } typedef igmp-snooping-instance-ref { type leafref { path "/igmp-snooping-instances/igmp-snooping-instance/name"; } description "This type is used by data models that need to reference igmp snooping instance."; } typedef mld-snooping-instance-ref { type leafref { path "/mld-snooping-instances/mld-snooping-instance/name"; } description "This type is used by data models that need to reference mld snooping instance."; } typedef l2vpn-instance-ac-ref { type leafref { path "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance/l2vpn:endpoint/l2vpn:ac/l2vpn:name"; } description "l2vpn-instance-ac-ref"; } typedef l2vpn-instance-pw-ref { type leafref { path "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance/l2vpn:endpoint/l2vpn:pw/l2vpn:name"; } description "l2vpn-instance-pw-ref"; } typedef source-ipv4-addr-type { type union { type enumeration { enum "*" { value 0; description "Any source address."; } } type inet:ipv4-address; } description "Multicast source IP address type."; } typedef source-ipv6-addr-type { type union { type enumeration { enum "*" { value 0; description "Any source address."; } } type inet:ipv6-address; } description "Multicast source IP address type."; } grouping general-state-attributes { description "Statistics of IGMP and MLD Snooping "; container statistics { config false; description "The statistics of IGMP and MLD Snooping related packets."; container received { description "Statistics of received messages."; uses general-statistics-sent-received; } // container received container sent { description "Statistics of sent messages."; uses general-statistics-sent-received; } // container sent } // container statistics } // grouping general-state-attributes grouping instance-config-attributes-igmp-snooping { description "IGMP snooping configuration for each VLAN or VPLS instance or EVPN instance."; uses instance-config-attributes-igmp-mld-snooping; leaf querier-source { type inet:ipv4-address; description "Use the IGMP snooping querier to support IGMP snooping in a VLAN where PIM and IGMP are not configured. The IP address is used as the source address in messages."; } list static-l2-multicast-group { if-feature static-l2-multicast-group; key "group source-addr"; description "A static multicast route, (*,G) or (S,G)."; leaf group { type inet:ipv4-address; description "Multicast group IP address"; } leaf source-addr { type source-ipv4-addr-type; description "Multicast source IP address."; } leaf-list bridge-outgoing-interface { when "ims:type = 'bridge'"; type if:interface-ref; description "Outgoing interface in bridge fowarding"; } leaf-list vpls-outgoing-ac { when "ims:type = 'vpls'"; type l2vpn-instance-ac-ref; description "Outgoing ac in vpls fowarding"; } leaf-list vpls-outgoing-pw { when "ims:type = 'vpls'"; type l2vpn-instance-pw-ref; description "Outgoing pw in vpls fowarding"; } } // list static-l2-multicast-group } // grouping instance-config-attributes-igmp-snooping grouping instance-config-attributes-igmp-mld-snooping { description "IGMP and MLD Snooping configuration of each VLAN."; leaf enable { if-feature admin-enable; type boolean; description "Set the value to true to enable IGMP and MLD Snooping in the VLAN instance."; } leaf forwarding-mode { type enumeration { enum "mac" { value 0; description ""; } enum "ip" { value 1; description ""; } } description "The default forwarding mode for IGMP and MLD Snooping is ip. cisco command is as below Router(config-vlan-config)# multicast snooping lookup { ip | mac } "; } leaf explicit-tracking { if-feature explicit-tracking; type boolean; description "Tracks IGMP & MLD Snooping v3 membership reports from individual hosts for each port of each VLAN or VSI."; } leaf exclude-lite { if-feature exclude-lite; type boolean; description "lightweight IGMPv3 and MLDv2 protocols, which simplify the standard versions of IGMPv3 and MLDv2."; reference "RFC5790"; } leaf send-query { type boolean; default 'true'; description "Enable quick response for topo changes. To support IGMP snooping in a VLAN where PIM and IGMP are not configured. It cooperates with param querier-source. "; } leaf fast-leave { if-feature fast-leave; type empty; description "When fast leave is enabled, the IGMP software assumes that no more than one host is present on each VLAN port."; } leaf last-member-query-interval { type uint16 { range "1..65535"; } units "seconds"; default '1'; description "Last Member Query Interval, which may be tuned to modify the leave latency of the network."; reference "RFC3376. Sec. 8.8."; } leaf query-interval { type uint16; units "seconds"; default '125'; description "The Query Interval is the interval between General Queries sent by the Querier."; reference "RFC3376. Sec. 4.1.7, 8.2, 8.14.2."; } leaf query-max-response-time { type uint16; units "seconds"; default '10'; description "Query maximum response time specifies the maximum time allowed before sending a responding report."; reference "RFC3376. Sec. 4.1.1, 8.3, 8.14.3."; } leaf require-router-alert { if-feature require-router-alert; type boolean; default 'false'; description "When the value is true, router alert exists in the IP head of IGMP or MLD packet."; } leaf robustness-variable { type uint8 { range "2..7"; } default '2'; description "Querier's Robustness Variable allows tuning for the expected packet loss on a network."; reference "RFC3376. Sec. 4.1.6, 8.1, 8.14.1."; } leaf version { type uint8 { range "1..3"; } description "IGMP and MLD Snooping version."; } leaf-list static-bridge-mrouter-interface { when "ims:type = 'bridge'"; if-feature static-l2-multicast-group; type if:interface-ref; description "static mrouter interface in bridge fowarding"; } leaf-list static-vpls-mrouter-interface { when "ims:type = 'vpls'"; if-feature static-l2-multicast-group; type l2vpn-instance-pw-ref; description "static mrouter interface in vpls fowarding"; } } // grouping instance-config-attributes-igmp-mld-snooping grouping instance-config-attributes-mld-snooping { description "MLD snooping configuration of each VLAN."; uses instance-config-attributes-igmp-mld-snooping; leaf querier-source { type inet:ipv6-address; description "Use the MLD snooping querier to support MLD snooping where PIM and MLD are not configured. The IP address is used as the source address in messages."; } list static-l2-multicast-group { if-feature static-l2-multicast-group; key "group source-addr"; description "A static multicast route, (*,G) or (S,G)."; leaf group { type inet:ipv6-address; description "Multicast group IP address"; } leaf source-addr { type source-ipv6-addr-type; description "Multicast source IP address."; } leaf-list bridge-outgoing-interface { when "ims:type = 'bridge'"; type if:interface-ref; description "Outgoing interface in bridge fowarding"; } leaf-list vpls-outgoing-ac { when "ims:type = 'vpls'"; type l2vpn-instance-ac-ref; description "Outgoing ac in vpls fowarding"; } leaf-list vpls-outgoing-pw { when "ims:type = 'vpls'"; type l2vpn-instance-pw-ref; description "Outgoing pw in vpls fowarding"; } } // list static-l2-multicast-group } // grouping instance-config-attributes-mld-snooping grouping instance-state-group-attributes-igmp-mld-snooping { description "Attributes for both IGMP and MLD snooping groups."; leaf mac-address { type yang:phys-address; description "Destination mac address for L2 multicast forwarding."; } leaf expire { type uint32; units "seconds"; description "The time left before multicast group timeout."; } leaf up-time { type uint32; units "seconds"; description "The time after the device created L2 multicast record."; } } // grouping instance-state-group-attributes-igmp-mld-snooping grouping instance-state-attributes-igmp-snooping { description "State attributes for IGMP snooping for each VLAN or VPLS instance or EVPN instance."; uses instance-state-attributes-igmp-mld-snooping; list group { key "address"; config false; description "IGMP snooping information"; leaf address { type inet:ipv4-address; description "Multicast group IP address"; } uses instance-state-group-attributes-igmp-mld-snooping; leaf last-reporter { type inet:ipv4-address; description "The last host address which has sent the report to join the multicast group."; } list source { key "address"; description "Source IP address for multicast stream"; leaf address { type inet:ipv4-address; description "Source IP address for multicast stream"; } uses instance-state-source-attributes-igmp-mld-snooping; leaf last-reporter { type inet:ipv4-address; description "The last host address which has sent the report to join the multicast source and group."; } list host { if-feature explicit-tracking; key "host-address"; description "List of multicast membership hosts of the specific multicast source-group."; leaf host-address { type inet:ipv4-address; description "Multicast membership host address."; } leaf host-filter-mode { type enumeration { enum "include" { value 0; description "In include mode"; } enum "exclude" { value 1; description "In exclude mode."; } } description "Filter mode for a multicast membership host may be either include or exclude."; } } // list host } // list source } // list group uses general-state-attributes; } // grouping instance-state-attributes-igmp-snooping grouping instance-state-attributes-igmp-mld-snooping { description "State attributes for both IGMP and MLD Snooping of each VLAN or VPLS instance or EVPN instance."; leaf entries-count { type uint32; config false; description "The number of L2 multicast entries in IGMP and MLD Snooping."; } leaf-list bridge-mrouter-interface { when "ims:type = 'bridge'"; type if:interface-ref; config false; description " mrouter interface in bridge fowarding"; } leaf-list vpls-mrouter-interface { when "ims:type = 'vpls'"; type l2vpn-instance-pw-ref; config false; description " mrouter interface in vpls fowarding"; } } // grouping instance-state-attributes-igmp-mld-snooping grouping instance-state-attributes-mld-snooping { description "State attributes for MLD snooping of each VLAN."; uses instance-state-attributes-igmp-mld-snooping; list group { key "address"; config false; description "MLD snooping statistics information"; leaf address { type inet:ipv6-address; description "Multicast group IP address"; } uses instance-state-group-attributes-igmp-mld-snooping; leaf last-reporter { type inet:ipv6-address; description "The last host address which has sent the report to join the multicast group."; } list source { key "address"; description "Source IP address for multicast stream"; leaf address { type inet:ipv6-address; description "Source IP address for multicast stream"; } uses instance-state-source-attributes-igmp-mld-snooping; leaf last-reporter { type inet:ipv6-address; description "The last host address which has sent the report to join the multicast source and group."; } list host { if-feature explicit-tracking; key "host-address"; description "List of multicast membership hosts of the specific multicast source-group."; leaf host-address { type inet:ipv6-address; description "Multicast membership host address."; } leaf host-filter-mode { type enumeration { enum "include" { value 0; description "In include mode"; } enum "exclude" { value 1; description "In exclude mode."; } } description "Filter mode for a multicast membership host may be either include or exclude."; } } // list host } // list source } // list group uses general-state-attributes; } // grouping instance-state-attributes-mld-snooping grouping instance-state-source-attributes-igmp-mld-snooping { description "State attributes for both IGMP and MLD Snooping of each VLAN or VPLS instance or EVPN instance."; leaf-list bridge-outgoing-interface { when "ims:type = 'bridge'"; type if:interface-ref; description "Outgoing interface in bridge fowarding"; } leaf-list vpls-outgoing-ac { when "ims:type = 'vpls'"; type l2vpn-instance-ac-ref; description "Outgoing ac in vpls fowarding"; } leaf-list vpls-outgoing-pw { when "ims:type = 'vpls'"; type l2vpn-instance-pw-ref; description "Outgoing pw in vpls fowarding"; } leaf up-time { type uint32; units "seconds"; description "The time after the device created L2 multicast record"; } leaf expire { type uint32; units "seconds"; description "The time left before multicast group timeout."; } leaf host-count { if-feature explicit-tracking; type uint32; description "The number of host addresses."; } } // grouping instance-state-source-attributes-igmp-mld-snooping grouping general-statistics-error { description "A grouping defining statistics attributes for errors."; leaf checksum { type yang:counter64; description "The number of checksum errors."; } leaf too-short { type yang:counter64; description "The number of messages that are too short."; } } // grouping general-statistics-error grouping general-statistics-sent-received { description "A grouping defining statistics attributes."; leaf query { type yang:counter64; description "The number of query messages."; } leaf membership-report-v1 { type yang:counter64; description "The number of membership report v1 messages."; } leaf membership-report-v2 { type yang:counter64; description "The number of membership report v2 messages."; } leaf membership-report-v3 { type yang:counter64; description "The number of membership report v3 messages."; } leaf leave { type yang:counter64; description "The number of leave messages."; } leaf pim { type yang:counter64; description "The number of pim hello messages."; } } // grouping general-statistics-sent-received grouping endpoint-grp { description "A grouping that defines the structure of " + "an endpoint"; choice ac-or-pw-or-redundancy-grp { description "A choice of attachment circuit or " + "pseudowire or redundancy group"; case ac { description "Attachment circuit(s) as an endpoint"; list ac { key "name"; description "An L2VPN instance's " + "attachment circuit list"; leaf name { type string; description "Name of attachment circuit. " + "This field is intended to " + "reference standardized " + "layer-2 definitions."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // list ac } // case ac case pw { description "Pseudowire(s) as an endpoint"; list pw { key "name"; description "An L2VPN instance's " + "pseudowire(s) list"; leaf name { type string; description "Name of Pseudowire."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // list pw } // case pw case redundancy-grp { description "Redundancy group as an endpoint"; choice primary { mandatory true; description "primary options"; case primary-ac { description "primary-ac"; container primary-ac { description "Primary AC"; leaf name { type string; description "Name of attachment circuit. "; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // container primary-ac } // case primary-ac list primary-pw { key "name"; description "primary-pw"; leaf name { type string; description "Name of Pseudowire."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // list primary-pw } // choice primary choice backup { description "backup options"; case backup-ac { description "backup-ac"; container backup-ac { description "Backup AC"; leaf name { type string; description "Name of attachment circuit. "; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // container backup-ac } // case backup-ac case backup-pw { description "backup-pw"; list backup-pw { key "name"; description "backup-pw"; leaf name { type string; description "Name of Pseudowire."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } } // list backup-pw } // case backup-pw } // choice backup } // case redundancy-grp } // choice ac-or-pw-or-redundancy-grp } // grouping endpoint-grp container igmp-snooping-instances { description "igmp-snooping-instance list"; list igmp-snooping-instance { key "name"; description "IGMP Snooping instance to configure the igmp- snooping."; leaf name { type string; description "Name of the igmp-snooping-instance to configure the igmp snooping."; } leaf id { type uint32; description "It is vlan_id or vpls_id. When igmp-snooping-instance is applied under bridge view, its value is 0."; } leaf type { type enumeration { enum "bridge" { value 0; description "bridge"; } enum "vpls" { value 1; description "vpls"; } } description "The type indicates bridge or vpls."; } uses instance-config-attributes-igmp-snooping; uses instance-state-attributes-igmp-snooping; } // list igmp-snooping-instance } // container igmp-snooping-instances container mld-snooping-instances { description "mld-snooping-instance list"; list mld-snooping-instance { key "name"; description "MLD Snooping instance to configure the mld-snooping."; leaf name { type string; description "Name of the mld-snooping-instance to configure the mld snooping."; } leaf id { type uint32; description "It is vlan_id or vpls_id. When mld-snooping-instance is applied under bridge view, its value is 0."; } leaf type { type enumeration { enum "bridge" { value 0; description "bridge"; } enum "vpls" { value 1; description "vpls"; } } description "The type indicates bridge or vpls."; } uses instance-config-attributes-mld-snooping; uses instance-state-attributes-mld-snooping; } // list mld-snooping-instance } // container mld-snooping-instances container bridges { description "Apply igmp-mld-snooping instance in the bridge scenario"; list bridge { key "name"; description "bridge list"; leaf name { type name-type; description "bridge name"; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the bridge view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the bridge view"; } list component { key "name"; description " "; leaf name { type string; description "The name of the Component."; } container bridge-vlan { description "bridge vlan"; list vlan { key "vid"; description ""; leaf vid { type vlan-index-type; description "The VLAN identifier to which this entry applies."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the vlan view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the vlan view"; } container interfaces { description "Interface configuration parameters."; list interface { key "name"; description "The list of configured interfaces on the device."; leaf name { type string; description "The name of the interface."; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the interface view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the interface view"; } } // list interface } // container interfaces } // list vlan } // container bridge-vlan } // list component } // list bridge } // container bridges container l2vpn-instances { description "Apply igmp-mld-snooping instance in the vpls scenario"; list l2vpn-instance { key "name"; description "An VPLS service instance"; leaf name { type string; description "Name of VPLS service instance"; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the l2vpn-instance view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the l2vpn-instance view"; } list endpoint { key "name"; description "An endpoint"; leaf name { type string; description "endpoint name"; } leaf igmp-snooping-instance { type igmp-snooping-instance-ref; description "Configure igmp-snooping instance under the interface view"; } leaf mld-snooping-instance { type mld-snooping-instance-ref; description "Configure mld-snooping instance under the interface view"; } uses endpoint-grp; } // list endpoint } // list l2vpn-instance } // container l2vpn-instances rpc clear-igmp-snooping-groups { if-feature rpc-clear-groups; description "Clears the specified IGMP Snooping cache tables."; input { leaf id { type uint32; description "VLAN ID, VPLS ID, or EVPN ID"; } leaf group { type inet:ipv4-address; description "Multicast group IPv4 address. If it is not specified, all IGMP snooping group tables are cleared."; } leaf source { type inet:ipv4-address; description "Multicast source IPv4 address. If it is not specified, all IGMP snooping source-group tables are cleared."; } } } // rpc clear-igmp-snooping-groups rpc clear-mld-snooping-groups { if-feature rpc-clear-groups; description "Clears the specified MLD Snooping cache tables."; input { leaf id { type uint32; description "VLAN ID, VPLS ID, or EVPN ID"; } leaf group { type inet:ipv6-address; description "Multicast group IPv6 address. If it is not specified, all MLD snooping group tables are cleared."; } leaf source { type inet:ipv6-address; description "Multicast source IPv6 address. If it is not specified, all MLD snooping source-group tables are cleared."; } } } // rpc clear-mld-snooping-groups } // module ietf-igmp-mld-snooping
Summary
Organization | IETF PIM Working Group |
Module | ietf-igmp-mld-snooping |
Version | 2017-10-25 |
File | ietf-igmp-mld-snooping@2017-10-25.yang |
Prefix | ims |
Namespace | urn:ietf:params:xml:ns:yang:ietf-igmp-mld-snooping |
Cooked | /cookedmodules/ietf-igmp-mld-snooping/2017-10-25 |
YANG | /src/ietf-igmp-mld-snooping@2017-10-25.yang |
XSD | /xsd/ietf-igmp-mld-snooping@2017-10-25.xsd |
Abstract | The module defines a collection of YANG definitions common for IGMP and MLD Snooping. |
Contact | WG Web: <http://tools.ietf.org/wg/pim/> WG List: <mailto:pim@ietf.org> WG Chair: Stig Venaas <mailto:stig@venaas.com> WG Chair: Mike McBride <mailto:mmcbride7@gmail.com> Editors: Hongji Zhao <mailto:hongji.zhao@ericsson.com> Xufeng Liu <mailto:Xufeng_Liu@jabil.com> Yisong Liu <mailto:liuyisong@huawei.com> Anish Peter <mailto:anish.ietf@gmail.com> Mahesh Sivakumar <mailto:masivaku@cisco.com> |
Description
The module defines a collection of YANG definitions common for IGMP and MLD Snooping. |
Typedefs
Typedef | Base type | Abstract |
igmp-snooping-instance-ref | leafref | This type is used by data models that need to reference igmp snooping instance. |
l2vpn-instance-ac-ref | leafref | l2vpn-instance-ac-ref |
l2vpn-instance-pw-ref | leafref | l2vpn-instance-pw-ref |
mld-snooping-instance-ref | leafref | This type is used by data models that need to reference mld snooping instance. |
name-type | string | A text string of up to 32 characters, of locally determined significance. |
source-ipv4-addr-type | union | Multicast source IP address type. |
source-ipv6-addr-type | union | Multicast source IP address type. |
vlan-index-type | uint32 | A value used to index per-VLAN tables. Values of 0 and 4095 are not permitted. The range of valid VLAN indices. If the value is greater than 4095, then it represents a VLAN with scope local to the particular agent, i.e., one without a global VLAN-ID assig... |
Groupings
Grouping | Objects | Abstract |
endpoint-grp | ac-or-pw-or-redundancy-grp | A grouping that defines the structure of an endpoint |
general-state-attributes | statistics | Statistics of IGMP and MLD Snooping |
general-statistics-error | checksum too-short | A grouping defining statistics attributes for errors. |
general-statistics-sent-received | query membership-report-v1 membership-report-v2 membership-report-v3 leave pim | A grouping defining statistics attributes. |
instance-config-attributes-igmp-mld-snooping | enable forwarding-mode explicit-tracking exclude-lite send-query fast-leave last-member-query-interval query-interval query-max-response-time require-router-alert robustness-variable version static-bridge-mrouter-interface static-vpls-mrouter-interface | IGMP and MLD Snooping configuration of each VLAN. |
instance-config-attributes-igmp-snooping | enable forwarding-mode explicit-tracking exclude-lite send-query fast-leave last-member-query-interval query-interval query-max-response-time require-router-alert robustness-variable version static-bridge-mrouter-interface static-vpls-mrouter-interfacequerier-source static-l2-multicast-group | IGMP snooping configuration for each VLAN or VPLS instance or EVPN instance. |
instance-config-attributes-mld-snooping | enable forwarding-mode explicit-tracking exclude-lite send-query fast-leave last-member-query-interval query-interval query-max-response-time require-router-alert robustness-variable version static-bridge-mrouter-interface static-vpls-mrouter-interfacequerier-source static-l2-multicast-group | MLD snooping configuration of each VLAN. |
instance-state-attributes-igmp-mld-snooping | entries-count bridge-mrouter-interface vpls-mrouter-interface | State attributes for both IGMP and MLD Snooping of each VLAN or VPLS instance or EVPN instance. |
instance-state-attributes-igmp-snooping | entries-count bridge-mrouter-interface vpls-mrouter-interfacegroup statistics | State attributes for IGMP snooping for each VLAN or VPLS instance or EVPN instance. |
instance-state-attributes-mld-snooping | entries-count bridge-mrouter-interface vpls-mrouter-interfacegroup statistics | State attributes for MLD snooping of each VLAN. |
instance-state-group-attributes-igmp-mld-snooping | mac-address expire up-time | Attributes for both IGMP and MLD snooping groups. |
instance-state-source-attributes-igmp-mld-snooping | bridge-outgoing-interface vpls-outgoing-ac vpls-outgoing-pw up-time expire host-count | State attributes for both IGMP and MLD Snooping of each VLAN or VPLS instance or EVPN instance. |
Objects
Type Key |
Mandatory config |
Optional config |
Not config |
Object | Type | Abstract |
bridges | container | Apply igmp-mld-snooping instance in the bridge scenario |
bridge | list | bridge list |
component | list | |
bridge-vlan | container | bridge vlan |
vlan | list | vid igmp-snooping-instance mld-snooping-instance interfaces |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the vlan view |
interfaces | container | Interface configuration parameters. |
interface | list | The list of configured interfaces on the device. |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the interface view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the interface view |
name | leaf | The name of the interface. |
mld-snooping-instance | leaf | Configure mld-snooping instance under the vlan view |
vid | leaf | The VLAN identifier to which this entry applies. |
name | leaf | The name of the Component. |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | bridge name |
igmp-snooping-instances | container | igmp-snooping-instance list |
igmp-snooping-instance | list | IGMP Snooping instance to configure the igmp- snooping. |
bridge-mrouter-interface | leaf-list | mrouter interface in bridge fowarding |
enable | leaf | Set the value to true to enable IGMP and MLD Snooping in the VLAN instance. |
entries-count | leaf | The number of L2 multicast entries in IGMP and MLD Snooping. |
exclude-lite | leaf | lightweight IGMPv3 and MLDv2 protocols, which simplify the standard versions of IGMPv3 and MLDv2. |
explicit-tracking | leaf | Tracks IGMP & MLD Snooping v3 membership reports from individual hosts for each port of each VLAN or VSI. |
fast-leave | leaf | When fast leave is enabled, the IGMP software assumes that no more than one host is present on each VLAN port. |
forwarding-mode | leaf | The default forwarding mode for IGMP and MLD Snooping is ip. cisco command is as below Router(config-vlan-config)# multicast snooping lookup { ip | mac } |
group | list | IGMP snooping information |
address | leaf | Multicast group IP address |
expire | leaf | The time left before multicast group timeout. |
last-reporter | leaf | The last host address which has sent the report to join the multicast group. |
mac-address | leaf | Destination mac address for L2 multicast forwarding. |
source | list | Source IP address for multicast stream |
address | leaf | Source IP address for multicast stream |
bridge-outgoing-interface | leaf-list | Outgoing interface in bridge fowarding |
expire | leaf | The time left before multicast group timeout. |
host | list | List of multicast membership hosts of the specific multicast source-group. |
host-count | leaf | The number of host addresses. |
host-address | leaf | Multicast membership host address. |
host-filter-mode | leaf | Filter mode for a multicast membership host may be either include or exclude. |
last-reporter | leaf | The last host address which has sent the report to join the multicast source and group. |
up-time | leaf | The time after the device created L2 multicast record |
vpls-outgoing-ac | leaf-list | Outgoing ac in vpls fowarding |
vpls-outgoing-pw | leaf-list | Outgoing pw in vpls fowarding |
up-time | leaf | The time after the device created L2 multicast record. |
id | leaf | It is vlan_id or vpls_id. When igmp-snooping-instance is applied under bridge view, its value is 0. |
last-member-query-interval | leaf | Last Member Query Interval, which may be tuned to modify the leave latency of the network. |
name | leaf | Name of the igmp-snooping-instance to configure the igmp snooping. |
querier-source | leaf | Use the IGMP snooping querier to support IGMP snooping in a VLAN where PIM and IGMP are not configured. The IP address is used as the source address in messages. |
query-interval | leaf | The Query Interval is the interval between General Queries sent by the Querier. |
query-max-response-time | leaf | Query maximum response time specifies the maximum time allowed before sending a responding report. |
require-router-alert | leaf | When the value is true, router alert exists in the IP head of IGMP or MLD packet. |
robustness-variable | leaf | Querier's Robustness Variable allows tuning for the expected packet loss on a network. |
send-query | leaf | Enable quick response for topo changes. To support IGMP snooping in a VLAN where PIM and IGMP are not configured. It cooperates with param querier-source. |
static-bridge-mrouter-interface | leaf-list | static mrouter interface in bridge fowarding |
static-l2-multicast-group | list | A static multicast route, (*,G) or (S,G). |
bridge-outgoing-interface | leaf-list | Outgoing interface in bridge fowarding |
group | leaf | Multicast group IP address |
source-addr | leaf | Multicast source IP address. |
vpls-outgoing-ac | leaf-list | Outgoing ac in vpls fowarding |
vpls-outgoing-pw | leaf-list | Outgoing pw in vpls fowarding |
static-vpls-mrouter-interface | leaf-list | static mrouter interface in vpls fowarding |
statistics | container | The statistics of IGMP and MLD Snooping related packets. |
received | container | Statistics of received messages. |
leave | leaf | The number of leave messages. |
membership-report-v1 | leaf | The number of membership report v1 messages. |
membership-report-v2 | leaf | The number of membership report v2 messages. |
membership-report-v3 | leaf | The number of membership report v3 messages. |
pim | leaf | The number of pim hello messages. |
query | leaf | The number of query messages. |
sent | container | Statistics of sent messages. |
leave | leaf | The number of leave messages. |
membership-report-v1 | leaf | The number of membership report v1 messages. |
membership-report-v2 | leaf | The number of membership report v2 messages. |
membership-report-v3 | leaf | The number of membership report v3 messages. |
pim | leaf | The number of pim hello messages. |
query | leaf | The number of query messages. |
type | leaf | The type indicates bridge or vpls. |
version | leaf | IGMP and MLD Snooping version. |
vpls-mrouter-interface | leaf-list | mrouter interface in vpls fowarding |
l2vpn-instances | container | Apply igmp-mld-snooping instance in the vpls scenario |
l2vpn-instance | list | An VPLS service instance |
endpoint | list | An endpoint |
ac-or-pw-or-redundancy-grp | choice | A choice of attachment circuit or pseudowire or redundancy group |
ac | case | Attachment circuit(s) as an endpoint |
ac | list | An L2VPN instance's attachment circuit list |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of attachment circuit. This field is intended to reference standardized layer-2 definitions. |
pw | case | Pseudowire(s) as an endpoint |
pw | list | An L2VPN instance's pseudowire(s) list |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of Pseudowire. |
redundancy-grp | case | Redundancy group as an endpoint |
backup | choice | backup options |
backup-ac | case | backup-ac |
backup-ac | container | Backup AC |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of attachment circuit. |
backup-pw | case | backup-pw |
backup-pw | list | backup-pw |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of Pseudowire. |
primary | choice | primary options |
primary-ac | case | primary-ac |
primary-ac | container | Primary AC |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of attachment circuit. |
primary-pw | case | primary-pw |
primary-pw | list | primary-pw |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the bridge view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the bridge view |
name | leaf | Name of Pseudowire. |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the interface view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the interface view |
name | leaf | endpoint name |
igmp-snooping-instance | leaf | Configure igmp-snooping instance under the l2vpn-instance view |
mld-snooping-instance | leaf | Configure mld-snooping instance under the l2vpn-instance view |
name | leaf | Name of VPLS service instance |
mld-snooping-instances | container | mld-snooping-instance list |
mld-snooping-instance | list | MLD Snooping instance to configure the mld-snooping. |
bridge-mrouter-interface | leaf-list | mrouter interface in bridge fowarding |
enable | leaf | Set the value to true to enable IGMP and MLD Snooping in the VLAN instance. |
entries-count | leaf | The number of L2 multicast entries in IGMP and MLD Snooping. |
exclude-lite | leaf | lightweight IGMPv3 and MLDv2 protocols, which simplify the standard versions of IGMPv3 and MLDv2. |
explicit-tracking | leaf | Tracks IGMP & MLD Snooping v3 membership reports from individual hosts for each port of each VLAN or VSI. |
fast-leave | leaf | When fast leave is enabled, the IGMP software assumes that no more than one host is present on each VLAN port. |
forwarding-mode | leaf | The default forwarding mode for IGMP and MLD Snooping is ip. cisco command is as below Router(config-vlan-config)# multicast snooping lookup { ip | mac } |
group | list | MLD snooping statistics information |
address | leaf | Multicast group IP address |
expire | leaf | The time left before multicast group timeout. |
last-reporter | leaf | The last host address which has sent the report to join the multicast group. |
mac-address | leaf | Destination mac address for L2 multicast forwarding. |
source | list | Source IP address for multicast stream |
address | leaf | Source IP address for multicast stream |
bridge-outgoing-interface | leaf-list | Outgoing interface in bridge fowarding |
expire | leaf | The time left before multicast group timeout. |
host | list | List of multicast membership hosts of the specific multicast source-group. |
host-count | leaf | The number of host addresses. |
host-address | leaf | Multicast membership host address. |
host-filter-mode | leaf | Filter mode for a multicast membership host may be either include or exclude. |
last-reporter | leaf | The last host address which has sent the report to join the multicast source and group. |
up-time | leaf | The time after the device created L2 multicast record |
vpls-outgoing-ac | leaf-list | Outgoing ac in vpls fowarding |
vpls-outgoing-pw | leaf-list | Outgoing pw in vpls fowarding |
up-time | leaf | The time after the device created L2 multicast record. |
id | leaf | It is vlan_id or vpls_id. When mld-snooping-instance is applied under bridge view, its value is 0. |
last-member-query-interval | leaf | Last Member Query Interval, which may be tuned to modify the leave latency of the network. |
name | leaf | Name of the mld-snooping-instance to configure the mld snooping. |
querier-source | leaf | Use the MLD snooping querier to support MLD snooping where PIM and MLD are not configured. The IP address is used as the source address in messages. |
query-interval | leaf | The Query Interval is the interval between General Queries sent by the Querier. |
query-max-response-time | leaf | Query maximum response time specifies the maximum time allowed before sending a responding report. |
require-router-alert | leaf | When the value is true, router alert exists in the IP head of IGMP or MLD packet. |
robustness-variable | leaf | Querier's Robustness Variable allows tuning for the expected packet loss on a network. |
send-query | leaf | Enable quick response for topo changes. To support IGMP snooping in a VLAN where PIM and IGMP are not configured. It cooperates with param querier-source. |
static-bridge-mrouter-interface | leaf-list | static mrouter interface in bridge fowarding |
static-l2-multicast-group | list | A static multicast route, (*,G) or (S,G). |
bridge-outgoing-interface | leaf-list | Outgoing interface in bridge fowarding |
group | leaf | Multicast group IP address |
source-addr | leaf | Multicast source IP address. |
vpls-outgoing-ac | leaf-list | Outgoing ac in vpls fowarding |
vpls-outgoing-pw | leaf-list | Outgoing pw in vpls fowarding |
static-vpls-mrouter-interface | leaf-list | static mrouter interface in vpls fowarding |
statistics | container | The statistics of IGMP and MLD Snooping related packets. |
received | container | Statistics of received messages. |
leave | leaf | The number of leave messages. |
membership-report-v1 | leaf | The number of membership report v1 messages. |
membership-report-v2 | leaf | The number of membership report v2 messages. |
membership-report-v3 | leaf | The number of membership report v3 messages. |
pim | leaf | The number of pim hello messages. |
query | leaf | The number of query messages. |
sent | container | Statistics of sent messages. |
leave | leaf | The number of leave messages. |
membership-report-v1 | leaf | The number of membership report v1 messages. |
membership-report-v2 | leaf | The number of membership report v2 messages. |
membership-report-v3 | leaf | The number of membership report v3 messages. |
pim | leaf | The number of pim hello messages. |
query | leaf | The number of query messages. |
type | leaf | The type indicates bridge or vpls. |
version | leaf | IGMP and MLD Snooping version. |
vpls-mrouter-interface | leaf-list | mrouter interface in vpls fowarding |
RPC Methods
RPC | Abstract |
clear-igmp-snooping-groups | Clears the specified IGMP Snooping cache tables. |
clear-mld-snooping-groups | Clears the specified MLD Snooping cache tables. |