rfc-9166

A YANG Data Model for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping

H. Zhao, X. Liu, Y. Liu, A. Peter, M. Sivakumar
date2022-02 streamIETF areartg wgpim statusPROPOSED STANDARD pages37 canonicalhttps://www.rfc-editor.org/rfc/rfc9166 doi10.17487/RFC9166
This document defines a YANG data model that can be used to configure and manage Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) snooping devices. The YANG module in this document conforms to the Network Management Datastore Architecture (NMDA).

Extracted elements (28)

design-rationale §2

IGMP/MLD snooping is independent of the IGMP/MLD protocols themselves, so the data model defined in this document does not augment or require the IGMP/MLD data model defined in RFC 8652. The snooping switch analyzes packets without running IGMP/MLD protocols.

yang, multicast, netconf

design-rationale §2.3

IGMP snooping and MLD snooping are defined as separate schema branches rather than a combined branch. This allows each to be supported independently, models minor behavioral differences more cleanly, and is consistent with the approach taken in RFC 8652.

yang, multicast

design-rationale §2.2

The model makes extensive use of YANG feature declarations to represent optional capabilities. This simplifies capability negotiation for vendors and allows any major implementation to express its configuration through some combination of optional features and simple augmentations.

yang, netconf

interoperability-note §2

The ietf-igmp-mld-snooping module augments the core routing data model (RFC 8349) rather than the IGMP/MLD protocol model (RFC 8652). Implementations do not need RFC 8652 support, and the two models are independent of each other.

yang, multicast, netconf

interoperability-note §1

The YANG module conforms to the Network Management Datastore Architecture (NMDA, RFC 8342), combining operational state and configuration data in the same hierarchy. Clients use identical paths for retrieving configured values and operational values.

yang, netconf

privacy-consideration §5

Read access to the group/source/host state subtrees can expose multicast group memberships. This can transitively reveal associations between users on hosts and content from specific sources, which may be privately sensitive.

privacy, yang, multicast

protocol-element §4

igmp-version (uint8, range 1–3, default 2) and mld-version (uint8, range 1–2, default 2) specify the highest protocol version the snooping instance operates with, controlling compatibility with IGMPv1/v2/v3 and MLDv1/v2 respectively.

yang, multicast

protocol-element §4

Per-interface statistics are exposed read-only under each snooping instance. IGMP statistics track query, membership-report-v1/v2/v3, leave, and pim-hello counts (received and sent). MLD statistics track query, report-v1/v2, done, and pim-hello counts. A discontinuity-time leaf marks counter resets.

yang, multicast

protocol-element §3.3

Snooping instances are bound to bridge or VLAN contexts by augmenting /dot1q:bridges/dot1q:bridge and /dot1q:bridges/dot1q:bridge/dot1q:component/dot1q:bridge-vlan/dot1q:vlan with leafref fields igmp-snooping-instance and mld-snooping-instance.

yang, multicast

protocol-element §3.1

The dynamic bridge-mrouter-interface (read-only) is populated by the device when it detects IGMP/MLD queries from a multicast router on an interface. It is distinct from static-bridge-mrouter-interface (read-write, feature static-mrouter-interface), which is administratively configured.

yang, multicast

protocol-element §4

The explicit-tracking leaf (boolean, feature explicit-tracking) enables per-host tracking of IGMPv3/MLDv2 membership reports, enabling the host list under each source group entry and contributing to shorter leave latency and reduced network resource usage.

yang, multicast

protocol-element §4

The fast-leave feature (empty leaf, feature fast-leave) skips last-member query messages and assumes at most one host per VLAN port, reducing leave latency at the cost of immediate group removal without verification.

yang, multicast

protocol-element §4

The forwarding-table-type leaf selects MAC-based ('mac') or IP-based ('ip') multicast lookup mode, with 'ip' as the default. This controls how the switch builds and searches its snooping forwarding table.

yang, multicast

protocol-element §3.1

The igmp-snooping-instance container (guarded by feature igmp-snooping) augments /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol and holds all IGMP snooping configuration and state for IPv4. One instance corresponds to one bridge instance and is referenced by bridge or VLAN nodes.

yang, multicast

protocol-element §4

The last-member-query-interval leaf is a uint16 in the range 10–10230 deciseconds (default 10, i.e., 1 second). It controls the Leave Latency of the network per RFC 3376 Section 8.8.

yang, multicast

protocol-element §4

The lite-exclude-filter leaf (empty, feature lite-exclude-filter) enables the simplified EXCLUDE filter from the Lightweight IGMPv3/MLDv2 protocols (RFC 5790), simplifying filter-mode handling relative to the full standard versions.

yang, multicast

protocol-element §3.2

The mld-snooping-instance container (guarded by feature mld-snooping) mirrors the igmp-snooping-instance structure for IPv6. It uses inet:ipv6-address for querier-source, rt-types:ipv6-multicast-group-address for group, and tracks MLDv1/MLDv2 statistics separately.

yang, multicast

protocol-element §4

The query-interval leaf is a uint16 in seconds (default 125) specifying the interval between General Queries sent by the snooping querier, per RFC 3376 Sections 4.1.7, 8.2, and 8.14.2.

yang, multicast

protocol-element §4

The query-max-response-time leaf is a uint16 in deciseconds (default 100, i.e., 10 seconds) specifying the maximum time allowed before a host sends a membership report in response to a query, per RFC 3376 Sections 4.1.1, 8.3, and 8.14.3.

yang, multicast

protocol-element §4

The require-router-alert leaf (boolean, feature require-router-alert, default false) causes the switch to drop IGMP/MLD packets that lack the Router Alert option in the IP header when set to true, per RFC 3376 Sections 9.1–9.3.

yang, multicast

protocol-element §4

The robustness-variable leaf is a uint8 in range 1–7 (default 2) that allows tuning for expected packet loss on the network, per RFC 3376 Sections 4.1.6, 8.1, and 8.14.1.

yang, multicast

protocol-element §4

The static-l2-multicast-group list (feature static-l2-multicast-group, keyed by group and source-addr) allows (*,G) and (S,G) static multicast routes to be configured with explicit outgoing bridge interfaces, bypassing dynamic IGMP/MLD snooping for those entries.

yang, multicast

protocol-element §3.4

Two RPC-style actions are defined: clear-igmp-snooping-groups and clear-mld-snooping-groups (both guarded by feature action-clear-groups). Each takes a group address (or 'all-groups') and a source address (or '*') as input to selectively or wholesale clear the snooping forwarding table.

yang, multicast

registry §6.2

This document registers module name 'ietf-igmp-mld-snooping', namespace urn:ietf:params:xml:ns:yang:ietf-igmp-mld-snooping, prefix 'ims', reference RFC 9166 in the YANG Module Names registry (RFC 7950).

registry, yang

registry §6.1

This document registers namespace URI urn:ietf:params:xml:ns:yang:ietf-igmp-mld-snooping in the IETF XML Registry (RFC 3688).

registry, yang

security-consideration §5

NETCONF access to this module MUST use SSH (RFC 6242) as the mandatory-to-implement secure transport; RESTCONF MUST use HTTPS with TLS (RFC 8446). Access control SHOULD be enforced via NACM (RFC 8341) to restrict operations to authorized users.

security, yang, netconf

security-consideration §5

Unauthorized invocation of clear-igmp-snooping-groups or clear-mld-snooping-groups actions can unexpectedly clear the multicast forwarding tables. Using the wildcard source '*' with 'all-groups' will cause all multicast traffic to be flooded in the broadcast domain.

security, yang, multicast

security-consideration §5

Unauthorized write access to igmp-snooping-instance and mld-snooping-instance subtrees can adversely affect IGMP/MLD snooping on the local device and the network, potentially leading to network malfunctions and delivery of packets to inappropriate destinations.

security, yang, multicast