Configuring MVR

This chapter describes how to configure the MVR feature on Cisco NX-OS devices.

This chapter contains the following sections:

About MVR

In a typical Layer 2 multi-VLAN network, subscribers to a multicast group can be on multiple VLANs. To maintain data isolation between these VLANs, the multicast stream on the source VLAN must be passed to a router, which replicates the stream on all subscriber VLANs, wasting upstream bandwidth.

Multicast VLAN registration (MVR) allows a Layer 2 switch to forward the multicast data from a source on a common assigned VLAN to the subscriber VLANs, conserving upstream bandwidth by bypassing the router. The switch forwards multicast data for MVR IP multicast streams only to MVR ports on which hosts have joined, either by IGMP reports or by MVR static configuration. The switch forwards IGMP reports received from MVR hosts only to the source port. For other traffic, VLAN isolation is preserved.

MVR requires at least one VLAN to be designated as the common VLAN to carry the multicast stream from the source. More than one such multicast VLAN (MVR VLAN) can be configured in the system, and you can configure a global default MVR VLAN as well as interface-specific default MVR VLANs. Each multicast group using MVR is assigned to an MVR VLAN.

MVR allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the MVR VLAN by sending IGMP join and leave messages. IGMP leave messages from an MVR group are handled according to the IGMP configuration of the VLAN on which the leave message is received. If IGMP fast leave is enabled on the VLAN, the port is removed immediately; otherwise, an IGMP query is sent to the group to determine whether other hosts are present on the port.

MVR Interoperation with Other Features

MVR and IGMP Snooping

Although MVR operates on the underlying mechanism of IGMP snooping, the two features operate independently of each other. One feature can be enabled or disabled without affecting the operation of the other feature. If IGMP snooping is disabled globally or on a VLAN and MVR is enabled on the VLAN, IGMP snooping is internally enabled on the VLAN. Joins received for MVR groups on non-MVR receiver ports or joins received for non-MVR groups on MVR receiver ports are processed by IGMP snooping.

MVR and vPCs

  • As with IGMP snooping, IGMP control messages received by virtual port channel (vPC) peer switches are exchanged between the peers, allowing synchronization of MVR group information.

  • MVR configuration must be consistent between the peers.

  • The no ip igmp snooping mrouter vpc-peer-link command applies to MVR. With this command, multicast traffic is not sent to a peer link for the source VLAN and receiver VLAN unless an orphan port is in the VLAN.

  • The show mvr member command shows the multicast group on the vPC peer switch. However, the vPC peer switch does not show the multicast groups if it does not receive the IGMP membership report of the groups.

Guidelines and Limitations for MVR

MVR has the following guidelines and limitations:

  • MVR is supported on Cisco Nexus 9508 and 9504 platform switches, with N9K-X96136YC-R, N9K-X9636C-R, N9K-X9636Q-R, and N9K-X9636C-RX line cards. The line cards are supported on N9K-C9508-FM-R and N9K-C9504-FM-R Fabric modules.

  • MVR is supported only for Cisco Nexus 9508 switches with N9K-X9636C-R, N9K-X9636C-RX, or N9K-X9636Q-R line cards.

  • MVR is supported only on Layer 2 Ethernet ports, such as individual ports, port channels, and virtual Ethernet (vEth) ports.

  • MVR receiver ports can only be access ports; they cannot be trunk ports. MVR source ports can be either access or trunk ports.

  • MVR configuration on Flex Link ports is not supported.

  • Priority tagging is not supported on MVR receiver ports.

  • The total number of MVR VLANs cannot exceed 250.

Default MVR Settings

This table lists the default settings for MVR parameters.

Table 1. Default MVR Parameters
Parameter Default
MVR Disabled globally and per interface
Global MVR VLAN None configured
Interface (per port) Neither a receiver nor a source port

Configuring MVR

Configuring MVR Global Parameters

You can globally enable MVR and various configuration parameters.

SUMMARY STEPS

  1. configure terminal
  2. [no]mvr
  3. [no] mvr-vlan vlan-id
  4. [no] mvr-group addr [/mask] [count groups] [vlan vlan-id]
  5. (Optional) clear mvr counters [source-ports | receiver-ports]
  6. (Optional) show mvr
  7. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

[no]mvr

Example:

switch(config)# mvr
switch(config-mvr)#

Globally enables MVR. The default is disabled.

Use the no form of the command to disable MVR.

Step 3

[no] mvr-vlan vlan-id

Example:

switch(config-mvr)# mvr-vlan 7

Specifies the global default MVR VLAN. The MVR VLAN is the source of the multicast message that subsequent receivers subscribe to. The range is from 1 to 4094.

Use the no form of the command to clear the MVR VLAN.

Step 4

[no] mvr-group addr [/mask] [count groups] [vlan vlan-id]

Example:

switch(config-mvr)# mvr-group 230.1.1.1 count 4

Adds a multicast group at the specified IPv4 address (and optional netmask length) to the global default MVR VLAN. You can repeat this command to add additional groups to the MVR VLAN.

The IP address is entered in the format a.b.c.d/m , where m is the number of bits in the netmask, from 1 to 31.

You can optionally specify a number of MVR groups using contiguous multicast IP addresses starting with the specified IP address. Use the count keyword followed by a number from 1 to 64.

You can optionally specify an MVR VLAN for the group by using the vlan keyword. Otherwise, the group is assigned to the default MVR VLAN.

Use the no form of the command to clear the group configuration.

Step 5

(Optional) clear mvr counters [source-ports | receiver-ports]

Example:

switch(config-mvr)# clear mvr counters
(Optional)

Clears MVR IGMP packet counters.

Step 6

(Optional) show mvr

Example:

switch(config-mvr)# show mvr
(Optional)

Displays the global MVR configuration.

Step 7

(Optional) copy running-config startup-config

Example:

switch(config-mvr)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring MVR Interfaces

You can configure MVR interfaces on your Cisco NX-OS device.

SUMMARY STEPS

  1. configure terminal
  2. mvr
  3. interface {ethernet slot/port | port-channel channel-number | vethernet number}
  4. [no] mvr-type {source | receiver}
  5. (Optional) [no] mvr-vlan vlan-id
  6. (Optional) [no] mvr-group addr [/mask] [vlan vlan-id]
  7. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

mvr

Example:

switch(config)# mvr
switch(config-mvr)#

Globally enables MVR. The default is disabled.

Note

 

If MVR is enabled globally, this command is not required.

Step 3

interface {ethernet slot/port | port-channel channel-number | vethernet number}

Example:

switch(config-mvr)# interface ethernet 2/2
switch(config-mvr-if)#

Specifies the Layer 2 port to configure and enters interface configuration mode.

Step 4

[no] mvr-type {source | receiver}

Example:

switch(config-mvr-if)# mvr-type source

Configures an MVR port as one of these types of ports:

  • source —An uplink port that sends and receives multicast data is configured as an MVR source. The port automatically becomes a static receiver of MVR multicast groups. A source port should be a member of the MVR VLAN.

  • receiver —An access port that is connected to a host that wants to subscribe to an MVR multicast group is configured as an MVR receiver. A receiver port receives data only when it becomes a member of the multicast group by using IGMP leave and join messages.

If you attempt to configure a non-MVR port with MVR characteristics, the configuration is cached and does not take effect until the port becomes an MVR port. The default port mode is non-MVR.

Step 5

(Optional) [no] mvr-vlan vlan-id

Example:

switch(config-mvr-if)# mvr-vlan 7
(Optional)

Specifies an interface default MVR VLAN that overrides the global default MVR VLAN for joins received on the interface. The MVR VLAN is the source of the multicast message that subsequent receivers subscribe to. The range is from 1 to 4094.

Step 6

(Optional) [no] mvr-group addr [/mask] [vlan vlan-id]

Example:

switch(config-mvr-if)# mvr-group 225.1.3.1 vlan 100
(Optional)

Adds a multicast group at the specified IPv4 address (and optional netmask length) to the interface MVR VLAN, overriding the global MVR group configuration. You can repeat this command to add additional groups to the MVR.

The IP address is entered in the format a.b.c.d/m , where m is the number of bits in the netmask, from 1 to 31.

You can optionally specify an MVR VLAN for the group by using the vlan keyword; otherwise, the group is assigned to the interface default (if specified) or the global default MVR VLAN.

Use the no form of the command to clear the IPv4 address and netmask.

Step 7

(Optional) copy running-config startup-config

Example:

switch(config-mvr-if)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Suppressing IGMP Query Forwarding from VLANs

To suppress the IGMP general query from the source VLAN to the receiver VLAN perform the following steps.

SUMMARY STEPS

  1. configure terminal
  2. mvr-config
  3. mvr-suppress-query vlan vlan-ID

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

mvr-config

Example:

switch# mvr-config
switch(config-mvr)#

Enters global MVR configuration mode.

Step 3

mvr-suppress-query vlan vlan-ID

Example:

switch(config-mvr)# mvr-suppress-query vlan 1-5
switch(config-mvr)#

Displays the MVR ID or source VLAN range from where the general queries need to be suppressed. The VLAN ID value is 1 to 3967. The VLAN ID may also be expressed as a range 1-5, 10 or 2-5, 7-19.

Verifying the MVR Configuration

To display the MVR configuration information, perform one of the following tasks:

Command

Description

show mvr

Displays the MVR subsystem configuration and status.

show mvr groups

Displays the MVR group configuration.

show ip igmp snooping [vlan vlan-id]

Displays information about IGMP snooping on the specified VLAN.

show mvr interface {ethernet slot/port | port-channel number}

Displays the MVR configuration on the specified interface.

show mvr members [count]

Displays the number and details of all MVR receiver members.

show mvr members interface {ethernet slot/port | port-channel number}

Displays details of MVR members on the specified interface.

show mvr members vlan vlan-id

Displays details of MVR members on the specified VLAN.

show mvr receiver-ports [ethernet slot/port | port-channel number]

Displays all MVR receiver ports on all interfaces or on the specified interface.

show mvr source-ports [ethernet slot/port | port-channel number]

Displays all MVR source ports on all interfaces or on the specified interface.

This example shows how to verify the MVR parameters:

switch# show mvr
MVR Status          : enabled
Global MVR VLAN     : 100
Number of MVR VLANs : 4

This example shows how to verify the MVR group configuration:

switch# show mvr groups
* - Global default MVR VLAN.
 
Group start    Group end       Count  MVR-VLAN Interface
                               Mask
-------------  --------------- ------ -------- -----------
228.1.2.240    228.1.2.255     /28     101
230.1.1.1      230.1.1.4        4     *100
235.1.1.6      235.1.1.6        1      340
225.1.3.1      225.1.3.1        1     *100     Eth1/10

This example shows how to verify the MVR interface configuration and status:

switch# show mvr interface
Port         VLAN Type      Status    MVR-VLAN
----         ---- ----      ------    --------
Po10         100  SOURCE    ACTIVE    100-101
Po201        201  RECEIVER  ACTIVE    100-101,340
Po202        202  RECEIVER  ACTIVE    100-101,340
Po203        203  RECEIVER  ACTIVE    100-101,340
Po204        204  RECEIVER  INACTIVE  100-101,340
Po205        205  RECEIVER  ACTIVE    100-101,340
Po206        206  RECEIVER  ACTIVE    100-101,340
Po207        207  RECEIVER  ACTIVE    100-101,340
Po208        208  RECEIVER  ACTIVE    2000-2001
Eth1/9       340  SOURCE    ACTIVE    340
Eth1/10      20   RECEIVER  ACTIVE    100-101,340
Eth2/2       20   RECEIVER  ACTIVE    100-101,340
Eth102/1/1   102  RECEIVER  ACTIVE    100-101,340
Eth102/1/2   102  RECEIVER  INACTIVE  100-101,340
Eth103/1/1   103  RECEIVER  ACTIVE    100-101,340
Eth103/1/2   103  RECEIVER  ACTIVE    100-101,340
 
Status INVALID indicates one of the following misconfiguration:
a) Interface is not a switchport.
b) MVR receiver is not in access mode.
c) MVR source is in fex-fabric mode.

This example shows how to display all MVR members:

switch# show mvr members
MVR-VLAN  Group Address  Status   Members
--------  -------------  -------  -------
100       230.1.1.1     ACTIVE    Po201 Po202 Po203 Po205 Po206
100       230.1.1.2     ACTIVE    Po205 Po206 Po207 Po208
340       235.1.1.6     ACTIVE    Eth102/1/1
101       225.1.3.1     ACTIVE    Eth1/10 Eth2/2
101       228.1.2.241   ACTIVE    Eth103/1/1 Eth103/1/2

This example shows how to display all MVR receiver ports on all interfaces:

switch# show mvr receiver-ports
Port          MVR-VLAN  Status   Joins         Leaves
                                 (v1,v2,v3)
------------  --------  -------- ------------  ------------
Po201         100       ACTIVE   8             2
Po202         100       ACTIVE   8             2
Po203         100       ACTIVE   8             2
Po204         100       INACTIVE 0             0
Po205         100       ACTIVE   10            6
Po206         100       ACTIVE   10            6
Po207         100       ACTIVE   5             0
Po208         100       ACTIVE   6             0
Eth1/10       101       ACTIVE   12            2
Eth2/2        101       ACTIVE   12            2
Eth102/1/1    340       ACTIVE   16            15
Eth102/1/2    340       INACTIVE 16            16
Eth103/1/1    101       ACTIVE   33            0
Eth103/1/2    101       ACTIVE   33            0

This example shows how to display all MVR source ports on all interfaces:

switch# show mvr source-ports
Port          MVR-VLAN  Status
------------  --------  --------
Po10          100       ACTIVE
Eth1/9        340       ACTIVE

Configuration Examples for MVR

The following example shows how to globally enable MVR and configure the global parameters:

switch# configure terminal
switch(config)# mvr
switch(config-mvr)# mvr-vlan 100
switch(config-mvr)# mvr-group 230.1.1.1 count 4
switch(config-mvr)# mvr-group 228.1.2.240/28 vlan 101
switch(config-mvr)# mvr-group 235.1.1.6 vlan 340

switch# show mvr
MVR Status           : enabled
Global MVR VLAN      : 100
Number of MVR VLANs  : 3

The following example shows how to configure an Ethernet port as an MVR receiver port:

switch# configure terminal
switch(config)# mvr
switch(config-mvr)# interface ethernet 1/10
switch(config-mvr-if)# mvr-group 225.1.3.1 vlan 100
switch(config-mvr-if)# mvr-type receiver
switch(config-mvr-if)## copy running-config startup-config