Skip to content

IGMP

IGMP (Internet Group Management Protocol) lets NX-OS routers learn which multicast groups have interested receivers on their directly connected networks. The global ip igmp settings are configured under the igmp section and cover SSM translation, route flushing on restart, spoof checking, router alert enforcement, querier election, the IGMP table syslog threshold and the heavy template. SSM translations for other VRFs (vrf context > ip igmp ssm-translate) are configured with ssm_translates under the respective entry in igmp.vrfs. IGMP interface-level configuration covers the IGMP version, querier timers, report policies, state limits, join groups, static groups and static OIFs (individual groups, or route-map based for join groups and static OIFs) across loopback, VLAN, Ethernet, and port-channel interfaces, and Ethernet and port-channel subinterfaces.

Diagram
NameTypeConstraintMandatoryDefault Value
devicesListdevicesNo
device_groupsListdevice_groupsNo
globalClassglobalNo
templatesListtemplatesNo
interface_groupsListinterface_groupsNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
configurationClassconfigurationNo

NameTypeConstraintMandatoryDefault Value
interfacesClassinterfacesNo
igmpClassigmpNo

NameTypeConstraintMandatoryDefault Value
subinterfacesListsubinterfacesNo
igmpClassigmpNo

NameTypeConstraintMandatoryDefault Value
loopbacksListloopbacksNo
vlansListvlansNo
ethernetsListethernetsNo
port_channelsListport_channelsNo

ethernets (nxos.devices.configuration.interfaces)

Section titled “ethernets (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
subinterfacesListsubinterfacesNo
igmpClassigmpNo

port_channels (nxos.devices.configuration.interfaces)

Section titled “port_channels (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
subinterfacesListsubinterfacesNo
igmpClassigmpNo

loopbacks (nxos.devices.configuration.interfaces)

Section titled “loopbacks (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
igmpClassigmpNo

vlans (nxos.devices.configuration.interfaces)

Section titled “vlans (nxos.devices.configuration.interfaces)”
NameTypeConstraintMandatoryDefault Value
igmpClassigmpNo

subinterfaces (nxos.devices.configuration.interfaces.ethernets)

Section titled “subinterfaces (nxos.devices.configuration.interfaces.ethernets)”
NameTypeConstraintMandatoryDefault Value
igmpClassigmpNo

NameTypeConstraintMandatoryDefault Value
ssm_translatesListssm_translatesNo
bootup_delayIntegermin: 0, max: 65535No
flush_routesBooleantrue, falseNo
spoof_checkBooleantrue, falseNo
enforce_router_alertBooleantrue, falseNo
any_query_destinationBooleantrue, falseNo
querier_elect_strictBooleantrue, falseNo
ha_statefulBooleantrue, falseNo
syslog_thresholdIntegermin: 1, max: 100No
heavy_templateBooleantrue, falseNo
vrfsListvrfsNo

igmp (nxos.devices.configuration.interfaces.loopbacks)

Section titled “igmp (nxos.devices.configuration.interfaces.loopbacks)”
NameTypeConstraintMandatoryDefault Value
versionChoice2, 3No
startup_query_intervalIntegermin: 0, max: 18000No
startup_query_countIntegermin: 0, max: 10No
robustness_variableIntegermin: 1, max: 7No
querier_timeoutIntegermin: 1, max: 65535No
query_max_response_timeIntegermin: 1, max: 8387No
query_intervalIntegermin: 1, max: 18000No
last_member_query_response_timeIntegermin: 1, max: 25No
last_member_query_countIntegermin: 1, max: 5No
group_timeoutIntegermin: 3, max: 65535No
allow_v3_asmBooleantrue, falseNo
state_limitIntegermin: 0, max: 4294967295No
state_limit_reserved_route_mapStringNo
state_limit_reservedIntegermin: 0, max: 4294967295No
report_policyStringNo
report_policy_prefix_listStringNo
access_groupStringNo
access_group_prefix_listStringNo
join_groupsListjoin_groupsNo
join_group_route_mapStringNo
static_groupsListstatic_groupsNo
static_oifsListstatic_oifsNo
static_oif_route_mapStringNo
report_link_local_groupsBooleantrue, falseNo
immediate_leaveBooleantrue, falseNo
suppress_v3_gsqBooleantrue, falseNo

ssm_translates (nxos.devices.configuration.igmp)

Section titled “ssm_translates (nxos.devices.configuration.igmp)”
NameTypeConstraintMandatoryDefault Value
groupIPYes
sourceIPYes

NameTypeConstraintMandatoryDefault Value
vrfStringYes
ssm_translatesListssm_translatesNo

join_groups (nxos.devices.configuration.interfaces.loopbacks.igmp)

Section titled “join_groups (nxos.devices.configuration.interfaces.loopbacks.igmp)”
NameTypeConstraintMandatoryDefault Value
groupIPYes
sourceIPNo

static_groups (nxos.devices.configuration.interfaces.loopbacks.igmp)

Section titled “static_groups (nxos.devices.configuration.interfaces.loopbacks.igmp)”
NameTypeConstraintMandatoryDefault Value
groupIPYes
sourceIPNo

static_oifs (nxos.devices.configuration.interfaces.loopbacks.igmp)

Section titled “static_oifs (nxos.devices.configuration.interfaces.loopbacks.igmp)”
NameTypeConstraintMandatoryDefault Value
groupIPYes
sourceIPNo

Example 1: IGMPv3 on a receiver-facing SVI with tuned query timers

nxos:
devices:
- name: LEAF1
configuration:
feature:
interface_vlan: true
pim: true
vlan:
vlans:
- id: 100
interfaces:
vlans:
- id: 100
pim:
sparse_mode: true
igmp:
version: 3
query_interval: 60
query_max_response_time: 5
robustness_variable: 3
immediate_leave: true

Example 2: Global IGMP settings with SSM translation in the default and a tenant VRF

nxos:
devices:
- name: BORDER-LEAF1
configuration:
vrfs:
- name: TENANT1
igmp:
flush_routes: true
enforce_router_alert: true
syslog_threshold: 80
ssm_translates:
- group: 232.1.1.0/24
source: 10.3.3.3
vrfs:
- vrf: TENANT1
ssm_translates:
- group: 232.2.2.0/24
source: 10.4.4.4

Example 3: Interface report policy, state limit, join groups, static groups and static OIFs

nxos:
devices:
- name: LEAF1
configuration:
route_maps:
- name: IGMP_REPORT_POLICY
entries:
- order: 10
action: permit
- name: IGMP_RESERVED
entries:
- order: 10
action: permit
interfaces:
ethernets:
- id: 1/10
switchport:
enabled: false
ip:
address: 10.1.10.1/24
pim:
sparse_mode: true
igmp:
report_policy: IGMP_REPORT_POLICY
state_limit: 100
state_limit_reserved_route_map: IGMP_RESERVED
state_limit_reserved: 50
join_groups:
- group: 239.1.1.1
- group: 232.1.1.1
source: 10.1.1.1
static_groups:
- group: 239.1.1.3
static_oifs:
- group: 239.1.1.2