rfc-8652

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

X. Liu, F. Guo, M. Sivakumar, P. McAllister, A. Peter
date2019-11 streamIETF areartg wgpim statusPROPOSED STANDARD pages45 canonicalhttps://www.rfc-editor.org/rfc/rfc8652 doi10.17487/RFC8652
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) devices.

Extracted elements (25)

design-rationale §2.3

IGMP (IPv4) and MLD (IPv6) are defined as separate schema branches rather than a combined address-family branch. This provides independent optionality, consistency with RFC 8344's IPv4/IPv6 separation, and cleaner accommodation of protocol differences including different feature sets and node types.

yang, multicast

design-rationale §2.2

Optional capabilities are extensively declared as YANG features to simplify vendor capability negotiation. Operational state parameters are not widely designated as features because defaulting an operational state parameter is unlikely to harm the system, and implementations can often derive a suitable value.

yang, multicast

design-rationale §2.1.1

Rarely implemented protocol parameters (explicit tracking, maximum transmit rate, last member query count, other querier present time, send router alert, startup query interval/count at global level; disable router alert check, passive mode, promiscuous mode, etc. at interface level) are omitted from the model and left for augmentation to avoid overspecifying optional behavior.

yang, multicast

interoperability-note §2.1

The model covers IGMPv1, IGMPv2, IGMPv3, MLDv1, and MLDv2 but explicitly excludes IGMP/MLD Proxy (RFC 4605) and IGMP/MLD Snooping (RFC 4541), which are to be specified in separate documents.

yang, multicast

normative-requirement §4 MUST

An IGMP interface-name leafref must reference an interface that has IPv4 configured (either enabled or disabled); similarly, an MLD interface-name must reference an interface with IPv6 configured. YANG must constraints enforce these with explicit error messages.

yang, multicast

normative-requirement §4 MUST

Source-specific parameters (max-group-sources, source-policy, explicit-tracking, lite-exclude-filter) require IGMP version 3; YANG must constraints enforce this, returning an error message if configured with a lower version.

yang, multicast

normative-requirement §3.1 MAY

The augmentation to ietf-routing allows multiple IGMP or MLD instances, but a restriction MAY be added depending on the implementation and the device.

yang, multicast

normative-requirement §4 MUST NOT

The last-member-query-interval leaf must not be configured when IGMP version is 1; a YANG must constraint enforces this with error-message 'IGMPv1 does not support last-member-query-interval.'

yang, multicast

protocol-element §3.3

Each of IGMP and MLD defines a clear-groups action (feature action-clear-groups) that takes a mandatory interface choice (by name or all-interfaces), a group-address (IPv4/IPv6 multicast address or '*' for all groups), and a source-address (or '*' for all sources) to clear cache entries.

yang, multicast

protocol-element §3.1

Each source record under a group contains source-address, expire (uint32, mandatory), up-time (uint32, mandatory), optional host-count (requires intf-explicit-tracking feature), last-reporter, and an optional list of host entries (keyed by host-address with host-filter-mode) when explicit tracking is enabled.

yang, multicast

protocol-element §4

Per-interface configuration attributes common to both IGMP and MLD include: last-member-query-interval (uint16, range 1..1023, seconds), query-interval (uint16, range 1..31744, default 125 seconds), query-max-response-time (uint16, range 1..1023, default 10 seconds), require-router-alert (boolean), robustness-variable (uint8, range 1..7, default 2), and version.

yang, multicast

protocol-element §4

The explicit-tracking leaf (type empty, feature intf-explicit-tracking) enables IGMPv3/MLDv2 explicit membership tracking on an interface. This contributes to saving network resources and shortening leave latency by tracking individual host memberships.

yang, multicast

protocol-element §3.1

The global configuration container includes optional leaves for 'enabled' (boolean, default true), 'max-entries' (uint32), and 'max-groups' (uint32), all guarded by separate feature declarations. Read-only state includes entries-count, groups-count, and a statistics container with counters for errors, received, and sent messages.

yang, multicast

protocol-element §4

The group-policy leaf is a leafref to /acl:acls/acl/name (RFC 8519) used to filter IGMP/MLD membership. The source-policy leaf (feature intf-source-policy) is a similar leafref to filter multicast sources. If either is not specified, no filtering is applied and all packets are accepted.

yang, multicast, security

protocol-element §4

The IGMP interface version leaf has type uint8 with range 1..3 (supporting IGMPv1, v2, v3) with a default of 2. The MLD interface version leaf has type uint8 with range 1..2 (supporting MLDv1, MLDv2) with a default of 2.

yang, multicast

protocol-element §4

The immediate-leave leaf (type empty, feature intf-immediate-leave) causes the router to prune a group immediately upon receiving an IGMPv2 leave or MLDv1 leave message, without waiting for the last-member-query response interval to expire.

yang, multicast

protocol-element §3.1

The interface operational state includes oper-status (enumeration: up/down, mandatory), querier (IPv4 address for IGMP, IPv6 for MLD, mandatory), and a list of group entries keyed by group-address, each with expire (uint32 seconds), filter-mode (include/exclude), up-time (uint32 seconds), last-reporter, and a nested list of sources.

yang, multicast

protocol-element §4

The lite-exclude-filter leaf (type empty, feature intf-lite-exclude-filter) enables the simplified EXCLUDE filter defined in Lightweight IGMPv3/MLDv2 (RFC 5790). Requires IGMPv3 or MLDv2; a YANG must constraint enforces this version dependency.

yang, multicast

protocol-element §4

The module defines YANG features for optional capabilities including feature-igmp, feature-mld, global-admin-enable, global-max-entries, global-max-groups, interface-global-config, intf-admin-enable, intf-immediate-leave, intf-join-group, intf-max-groups, intf-max-group-sources, intf-require-router-alert, intf-source-policy, intf-ssm-map, intf-static-group, intf-verify-source-subnet, intf-explicit-tracking, intf-lite-exclude-filter, per-interface-config, and action-clear-groups.

yang, multicast

protocol-element §3

The module ietf-igmp-mld augments the ietf-routing module's control-plane-protocol data node with separate 'igmp' and 'mld' containers, each structured as a three-level hierarchy: global, interface-global, and interface levels. Interface-level values override interface-global-level values for the same configuration node.

yang, netconf, multicast

protocol-element §4

The ssm-map list (feature intf-ssm-map) provides (*,G) to (S,G) mapping policy, keyed by ssm-map-source-addr (union of 'policy' enum or IPv4/IPv6 address) and ssm-map-group-policy (string). The static-group list (feature intf-static-group) allows configuring static (*,G) or (S,G) multicast routes; IGMPv3/MLDv2 is required for (S,G) entries.

yang, multicast

registry §6

This document registers namespace URI 'urn:ietf:params:xml:ns:yang:ietf-igmp-mld' in the IETF XML registry (RFC 3688) and registers the YANG module 'ietf-igmp-mld' with prefix 'igmp-mld' in the YANG Module Names registry (RFC 6020).

yang, registry, multicast

security-consideration §5

Management access must use secure transport: NETCONF requires SSH (RFC 6242) as the mandatory-to-implement transport; RESTCONF requires HTTPS with TLS (RFC 8446). Access control is provided by NACM (RFC 8341) to restrict users to authorized operations and content.

yang, netconf, security, tls

security-consideration §5

Read access to the IGMP and MLD subtrees is also sensitive, as it discloses operational state information. The clear-groups action operations are sensitive because unauthorized access can delete all IGMP or MLD membership records on the device.

yang, multicast, security

security-consideration §5

Write access to the igmp/global, igmp/interfaces, igmp/interfaces/interface, mld/global, mld/interfaces, and mld/interfaces/interface subtrees is sensitive: unauthorized modification can cause IGMP/MLD membership to be deleted or reconstructed, leading to network malfunctions and delivery of packets to inappropriate destinations.

yang, multicast, security