Configuring MVR

This chapter contains the following sections:

Information About MVR

MVR Overview

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 if 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 vPC

  • 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 over to a peer link for the source VLAN and receiver VLAN unless there is an orphan port 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.

Licensing Requirements for MVR

The following table shows the licensing requirements for this feature:

Product License Requirement

Cisco NX-OS

This feature does not require a license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Guidelines and Limitations for MVR

When configuring MVR, follow these guidelines:

  • 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.

  • When using private VLANs (PVLANs), you cannot configure a secondary VLAN as the MVR VLAN.

  • The total number of MVR VLANs cannot exceed 250.


Note

During and in-service software upgrade ( ISSU), MVR IGMP membership for the MVR receiver ports may timeout because the joins are not forwarded to the upstream router. In order to avoid a timeout, the querier timer on the upstream router or the network querier should be increased to accommodate an ISSU.


Default MVR Settings

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

Configuring MVR

Configuring MVR Global Parameters

Procedure

  Command or Action Purpose
Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# [no] mvr

Globally enables MVR. The default is disabled.

Use the no form of the command to disable MVR.

Step 3

switch(config)# [no] mvr-vlan vlan-id

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

The range is 1 to 4094.

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

Step 4

switch(config)# [no] mvr-group addr[/mask] [count groups] [vlan vlan-id]

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.

(Optional) You can 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.

(Optional) You can explicitly 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) switch(config)# end

(Optional)

Returns to privileged EXEC mode.

Step 6

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

(Optional)

Clears MVR IGMP packet counters.

Step 7

(Optional) switch# show mvr

(Optional)

Displays the global MVR configuration.

Step 8

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

(Optional)

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Example

This 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(config-mvr)# end
switch# show mvr
MVR Status           : enabled
Global MVR VLAN      : 100
Number of MVR VLANs  : 3
switch# copy running-config startup-config

Configuring MVR Interfaces

Procedure

  Command or Action Purpose
Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

mvr

Globally enables MVR. The default is disabled.

Note 

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

Step 3

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

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

Note 

If this is a QSFP+ GEM or a breakout port, the port syntax is QSFP-module/port .

Step 4

[no] mvr-type {source | receiver}

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

(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 1 to 4094.

Step 6

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

(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 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.

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

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

Step 7

(Optional) end

(Optional)

Return to privileged EXEC mode.

Step 8

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

(Optional)

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Example

This 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-if)# mvr-group 225.1.3.1 vlan 100
switch(config-if)# mvr-type receiver
switch(config-if)# end
switch# copy running-config startup-config
switch#

Verifying the MVR Configuration

Use the following commands to verify the MVR configuration:

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 type slot/port | port-channel number}

Displays the MVR configuration on the specified interface.

Note 

If this is a QSFP+ GEM or a breakout port, the port syntax is QSFP-module/port .

show mvr members [count]

Displays the number and details of all MVR receiver members.

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

Displays details of MVR members on the specified interface.

Note 

If this is a QSFP+ GEM or a breakout port, the port syntax is QSFP-module/port .

show mvr members vlan vlan-id

Displays details of MVR members on the specified VLAN.

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

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

Note 

If this is a QSFP+ GEM or a breakout port, the port syntax is QSFP-module/port .

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

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

Note 

If this is a QSFP+ GEM or a breakout port, the port syntax is QSFP-module/port .

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, pvlan host or pvlan promiscuous 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