Table of Contents

Overview

Configuring IP Multicast Routing

Configuring IGMP Snooping and MVR

Configuring IPv6 MLD Snooping

Configuring MSDP

Overview

This document describes how to configure multicast routing on the Cisco Industrial Ethernet 2000U Series (IE 2000U) and Connected Grid Switches, hereafter referred to switch .

IP multicast is a bandwidth-conserving technology that reduces traffic by delivering a single stream of information simultaneously to potentially thousands of devices, such as meters, in the connected grid network. Groups of meters might need to be addressed simultaneously using multicast, for example, to send software upgrades to all meters using multicast requests or to send multicast queries for meter readings of various subsets of the meters.

This chapter provides an overview of the following multicast routing features:

- IP Multicast Routing

- IGMP Snooping and MVR

- IPv6 MLD Snooping

- MSDP

IP Multicast Routing

IP multicast routing enables a host (source) to send packets to a group of hosts (receivers) anywhere within the IP network by using a special form of IP address called the IP multicast group address. The sending host inserts the multicast group address into the IP destination address field of the packet, and IP multicast routers and multilayer switches forward incoming IP multicast packets out all interfaces that lead to members of the multicast group. Any host, regardless of whether it is a member of a group, can send to a group. However, only the members of a group receive the message.

The switch supports these protocols to implement IP multicast routing:

- Internet Group Management Protocol (IGMP) is used among hosts on a LAN and the routers (and multilayer switches) on that LAN to track the multicast groups of which hosts are members.

- Protocol-Independent Multicast (PIM) protocol is used among routers and multilayer switches to track which multicast packets to forward to each other and to their directly connected LANs.

Related Topics

Chapter 2, “Configuring IP Multicast Routing”

IGMP Snooping and MVR

Layer 2 switches can use Internet Group Management Protocol (IGMP) snooping to constrain the flooding of multicast traffic by dynamically configuring Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast devices. As the name implies, IGMP snooping requires the LAN switch to snoop on the IGMP transmissions between the host and the router and to keep track of multicast groups and member ports. When the switch receives an IGMP report from a host for a particular multicast group, the switch adds the host port number to the forwarding table entry; when it receives an IGMP Leave Group message from a host, it removes the host port from the table entry. It also periodically deletes entries if it does not receive IGMP membership reports from the multicast clients.

Multicast VLAN Registration (MVR), an application of local IGMP snooping, allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide multicast VLAN. It allows the single multicast VLAN to be shared in the network while subscribers remain in separate VLANs. MVR provides the ability to continuously send multicast streams in the multicast VLAN, but to isolate the streams from the subscriber VLANs for bandwidth and security reasons.

Related Topics

Chapter 3, “Configuring IGMP Snooping and MVR”

IPv6 MLD Snooping

Multicast Listener Discovery (MLD) snooping enables efficient distribution of IP version 6 (IPv6) multicast data to clients and routers in a switched network. In IP version 4 (IPv4), Layer 2 switches can use IGMP snooping to limit the flooding of multicast traffic by dynamically configuring Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast devices. In IPv6, MLD snooping performs a similar function. With MLD snooping, IPv6 multicast data is selectively forwarded to a list of ports that want to receive the data, instead of being flooded to all ports in a VLAN. This list is constructed by snooping IPv6 multicast control packets.

MLD is a protocol used by IPv6 multicast routers to discover the presence of multicast listeners (nodes wishing to receive IPv6 multicast packets) on its directly attached links and to discover which multicast packets are of interest to neighboring nodes. MLD is derived from IGMP; MLD version 1 (MLDv1) is equivalent to IGMPv2 and MLD version 2 (MLDv2) is equivalent to IGMPv3. MLD is a subprotocol of Internet Control Message Protocol version 6 (ICMPv6), and MLD messages are a subset of ICMPv6 messages, identified in IPv6 packets by a preceding Next Header value of 58.

The switch supports two versions of MLD snooping:

- MLDv1 snooping detects MLDv1 control packets and sets up traffic bridging based on IPv6 destination multicast addresses.

- MLDv2 basic snooping (MBSS) uses MLDv2 control packets to set up traffic forwarding based on IPv6 destination multicast addresses.

Related Topics

Chapter 4, “Configuring IPv6 MLD Snooping”

MSDP

Multicast Source Discovery Protocol (MSDP) connects multiple Protocol-Independent Multicast sparse-mode (PIM-SM) domains.

MSDP is not fully supported in this software release because of a lack of support for Multicast Border Gateway Protocol (MBGP), which works closely with MSDP. However, it is possible to create default peers that MSDP can operate with if MBGP is not running.

MSDP allows multicast sources for a group to be known to all rendezvous points (RPs) in different domains. Each PIM-SM domain uses its own RPs and does not depend on RPs in other domains. An RP runs MSDP over the Transmission Control Protocol (TCP) to discover multicast sources in other domains.

An RP in a PIM-SM domain has an MSDP peering relationship with MSDP-enabled devices in another domain. The peering relationship occurs over a TCP connection, primarily exchanging a list of sources sending to multicast groups. The TCP connections between RPs are achieved by the underlying routing system. The receiving RP uses the source lists to establish a source path.

The purpose of this topology is to have domains discover multicast sources in other domains. If the multicast sources are of interest to a domain that has receivers, multicast data is delivered over the normal, source-tree building mechanism in PIM-SM. MSDP is also used to announce sources sending to a group. These announcements must originate at the domain’s RP.

Related Topics

Chapter 5, “Configuring MSDP”

Configuring IP Multicast Routing

This chapter describes how to configure IP multicast routing on the Cisco Industrial Ethernet 2000U Series (IE 2000U) and Connected Grid Switches, hereafter referred to as switch . IP multicasting is a more efficient way to use network resources, especially for bandwidth-intensive services such as audio and video. IP multicast routing enables a host (source) to send packets to a group of hosts (receivers) anywhere within the IP network by using a special form of IP address called the IP multicast group address. The sending host inserts the multicast group address into the IP destination address field of the packet, and IP multicast routers and multilayer switches forward incoming IP multicast packets out all interfaces that lead to members of the multicast group. Any host, regardless of whether it is a member of a group, can send to a group. However, only the members of a group receive the message.

Note For complete syntax and usage information for the commands used in this chapter, see the documents listed in the “Related Documents” section.

This chapter includes the following sections:

- Information About Cisco’s Implementation of IP Multicast Routing

- Prerequisites

- Guidelines and Limitations

- Default Settings

- Configuring IP Multicast Routing

- Configuring Advanced PIM Features

- Configuring Optional IGMP Features

- Configuring Optional Multicast Routing Features

- Verifying Configuration

- Configuration Example

- Related Documents

- Feature History

For information on configuring the Multicast Source Discovery Protocol (MSDP), see Chapter5, “Configuring MSDP”

Information About Cisco’s Implementation of IP Multicast Routing

The switch supports these protocols to implement IP multicast routing:

- Internet Group Management Protocol (IGMP) is used among hosts on a LAN and the routers (and multilayer switches) on that LAN to track the multicast groups of which hosts are members.

- Protocol-Independent Multicast (PIM) protocol is used among routers and multilayer switches to track which multicast packets to forward to each other and to their directly connected LANs.

According to IPv4 multicast standards, the MAC destination multicast address begins with 0100:5e and is appended by the last 23 bits of the IP address. On the switch, if the multicast packet does not match the switch multicast address, the packets are treated in this way:

- If the packet has a multicast IP address and a unicast MAC address, the packet is forwarded in software. This can occur because some protocols on legacy devices use unicast MAC addresses with multicast IP addresses.

- If the packet has a multicast IP address and an unmatched multicast MAC address, the packet is dropped.

This section includes the following topics:

- Information About IGMP

- Information About PIM

- Information About Source-Specific Multicast

- Information About Source Specific Multicast Mapping

- Information About PIM Shared Tree and Source Tree

Information About IGMP

To participate in IP multicasting, multicast hosts, routers, and multilayer switches must have the IGMP operating. This protocol defines the querier and host roles:

- A querier is a network device that sends query messages to discover which network devices are members of a given multicast group.

- A host is a receiver that sends report messages (in response to query messages) to inform a querier of a host membership.

A set of queriers and hosts that receive multicast data streams from the same source is called a multicast group. Queriers and hosts use IGMP messages to join and leave multicast groups.

Any host, regardless of whether it is a member of a group, can send to a group. However, only the members of a group receive the message. Membership in a multicast group is dynamic; hosts can join and leave at any time. There is no restriction on the location or number of members in a multicast group. A host can be a member of more than one multicast group at a time. How active a multicast group is and what members it has can vary from group to group and from time to time. A multicast group can be active for a long time, or it can be very short-lived. Membership in a group can constantly change. A group that has members can have no activity.

IP multicast traffic uses group addresses, which are class D addresses. The high-order bits of a Class D address are 1110. Therefore, host group addresses can be in the range 224.0.0.0 through 239.255.255.255. Multicast addresses in the range 224.0.0.0 to 24.0.0.255 are reserved for use by routing protocols and other network control traffic. The address 224.0.0.0 is guaranteed not to be assigned to any group.

IGMP packets are sent using these IP multicast group addresses:

- IGMP general queries are destined to the address 224.0.0.1 (all systems on a subnet).

- IGMP group-specific queries are destined to the group IP address for which the switch is querying.

- IGMP group membership reports are destined to the group IP address for which the switch is reporting.

- IGMP Version 2 (IGMPv2) leave messages are destined to the address 224.0.0.2 (all-multicast-routers on a subnet). In some old host IP stacks, leave messages might be destined to the group IP address rather than to the all-routers address.

IGMP Version 1

IGMP Version 1 (IGMPv1) primarily uses a query-response model that enables the multicast router and multilayer switch to find which multicast groups are active (have one or more hosts interested in a multicast group) on the local subnet. IGMPv1 has other processes that enable a host to join and leave a multicast group. For more information, see RFC 1112.

IGMP Version 2

IGMPv2 extends IGMP functionality by providing such features as the IGMP leave process to reduce leave latency, group-specific queries, and an explicit maximum query response time. IGMPv2 also adds the capability for routers to elect the IGMP querier without depending on the multicast protocol to perform this task. For more information, see RFC 2236.

Information About PIM

PIM is called protocol-independent : regardless of the unicast routing protocols used to populate the unicast routing table, PIM uses this information to perform multicast forwarding instead of maintaining a separate multicast routing table.

PIM is defined in RFC 2362, Protocol-Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification . PIM is defined in these Internet Engineering Task Force (IETF) Internet drafts:

- Protocol Independent Multicast (PIM): Motivation and Architecture

- Protocol Independent Multicast (PIM), Dense Mode Protocol Specification

- Protocol Independent Multicast (PIM), Sparse Mode Protocol Specification

- draft-ietf-idmr-igmp-v2-06.txt, Internet Group Management Protocol, Version 2

- draft-ietf-pim-v2-dm-03.txt, PIM Version 2 Dense Mode

This section includes the following topics:

- PIM Versions

- PIM Modes

- PIM Stub Routing

- IGMP Helper

- Auto-RP

- Bootstrap Router

- Multicast Forwarding and Reverse Path Check

PIM Versions

PIMv2 includes these improvements over PIMv1:

- A single, active rendezvous point (RP) exists per multicast group, with multiple backup RPs. This single RP compares to multiple active RPs for the same group in PIMv1.

- A bootstrap router (BSR) provides a fault-tolerant, automated RP discovery and distribution mechanism that enables routers and multilayer switches to dynamically learn the group-to-RP mappings.

- Sparse mode and dense mode are properties of a group, as opposed to an interface. We strongly recommend sparse-dense mode, as opposed to either sparse mode or dense mode only.

- PIM join and prune messages have more flexible encoding for multiple address families.

- A more flexible hello packet format replaces the query packet to encode current and future capability options.

- Register messages to an RP specify whether they are sent by a border router or a designated router.

- PIM packets are no longer inside IGMP packets; they are standalone packets.

PIM Modes

PIM can operate in dense mode (DM), sparse mode (SM), or in sparse-dense mode (PIM DM-SM), which handles both sparse groups and dense groups at the same time.

PIM DM

PIM DM builds source-based multicast distribution trees. In dense mode, a PIM DM router or multilayer switch assumes that all other routers or multilayer switches forward multicast packets for a group. If a PIM DM device receives a multicast packet and has no directly connected members or PIM neighbors present, a prune message is sent back to the source to stop unwanted multicast traffic. Subsequent multicast packets are not flooded to this router or switch on this pruned branch because branches without receivers are pruned from the distribution tree, leaving only branches that contain receivers.

When a new receiver on a previously pruned branch of the tree joins a multicast group, the PIM DM device detects the new receiver and immediately sends a graft message up the distribution tree toward the source. When the upstream PIM DM device receives the graft message, it immediately puts the interface on which the graft was received into the forwarding state so that the multicast traffic begins flowing to the receiver.

PIM SM

PIM SM uses shared trees and shortest-path-trees (SPTs) to distribute multicast traffic to multicast receivers in the network. In PIM SM, a router or multilayer switch assumes that other routers or switches do not forward multicast packets for a group, unless there is an explicit request for the traffic (join message). When a host joins a multicast group using IGMP, its directly connected PIM SM device sends PIM join messages toward the root, also known as the RP. This join message travels router-by-router toward the root, constructing a branch of the shared tree as it goes.

The RP keeps track of multicast receivers. It also registers sources through register messages received from the source’s first-hop router ( designated router [DR]) to complete the shared tree path from the source to the receiver. When using a shared tree, sources must send their traffic to the RP so that the traffic reaches all receivers.

Prune messages are sent up the distribution tree to prune multicast group traffic. This action permits branches of the shared tree or SPT that were created with explicit join messages to be torn down when they are no longer needed.

PIM Stub Routing

The PIM stub routing feature reduces resource usage by moving routed traffic closer to the end user.

In a network using PIM stub routing, the only allowable route for IP traffic to the user is through a switch that is configured with PIM stub routing. PIM passive interfaces are connected to Layer 2 access domains, such as VLANs, or to interfaces that are connected to other Layer 2 devices. Only directly connected multicast (IGMP) receivers and sources are allowed in the Layer 2 access domains. The PIM passive interfaces do not send or process any received PIM control packets.

When using PIM stub routing, you should configure the distribution and remote routers to use IP multicast routing and configure only the switch as a PIM stub router. The switch does not route transit traffic between distribution routers. You also need to configure a routed uplink port on the switch. The switch uplink port cannot be used with SVIs. If you need PIM for an SVI uplink port, you should upgrade to the IP services feature set.

You must also configure EIGRP stub routing when configuring PIM stub routing on the switch. For more information, see the “Configuring EIGRP Stub Routing” section in the Unicast Routing Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

The redundant PIM stub router topology is not supported. The redundant topology exists when there is more than one PIM router forwarding multicast traffic to a single access domain. PIM messages are blocked, and the PIM assert and designated router election mechanisms are not supported on the PIM passive interfaces. Only the nonredundant access router topology is supported by the PIM stub feature. By using a nonredundant topology, the PIM passive interface assumes that it is the only interface and designated router on that access domain.

In Figure 2-1, Switch A routed uplink port 25 is connected to the router and PIM stub routing is enabled on the VLAN 100 interfaces and on Host 3. This configuration allows the directly connected hosts to receive traffic from multicast source 200.1.1.3. See the “Configuring PIM Stub Routing” section for more information.

Figure 2-1 PIM Stub Router Configuration

IGMP Helper

PIM stub routing moves routed traffic closer to the end user and reduces network traffic. You can also reduce traffic by configuring a stub router (switch) with the IGMP helper feature.

You can configure a stub router (switch) with the igmp helper help-address interface configuration command to enable the switch to send reports to the next-hop interface. Hosts that are not directly connected to a downstream router can then join a multicast group sourced from an upstream network. The IGMP packets from a host wanting to join a multicast stream are forwarded upstream to the next-hop device when this feature is configured. When the upstream central router receives the helper IGMP reports or leaves, it adds or removes the interfaces from its outgoing interface list for that group.

For complete syntax and usage information for the ip igmp helper-address command, see the Cisco IOS IP Multicast Command Reference .

Auto-RP

This proprietary feature eliminates the need to manually configure the RP information in every router and multilayer switch in the network. For Auto-RP to work, you configure a Cisco router or multilayer switch as the mapping agent. It uses IP multicast to learn which routers or switches in the network are possible candidate RPs to receive candidate RP announcements. Candidate RPs periodically send multicast RP-announce messages to a particular group or group range to announce their availability.

Mapping agents listen to these candidate RP announcements and use the information to create entries in their Group-to-RP mapping caches. Only one mapping cache entry is created for any Group-to-RP range received, even if multiple candidate RPs are sending RP announcements for the same range. As the RP-announce messages arrive, the mapping agent selects the router or switch with the highest IP address as the active RP and stores this RP address in the Group-to-RP mapping cache.

Mapping agents periodically multicast the contents of their Group-to-RP mapping cache. Thus, all routers and switches automatically discover which RP to use for the groups they support. If a router or switch fails to receive RP-discovery messages and the Group-to-RP mapping information expires, it switches to a statically configured RP that was defined with the ip pim rp-address global configuration command. If no statically configured RP exists, the router or switch changes the group to dense-mode operation.

Multiple RPs serve different group ranges or serve as hot backups of each other.

Bootstrap Router

PIMv2 BSR is another method to distribute group-to-RP mapping information to all PIM routers and multilayer switches in the network. It eliminates the need to manually configure RP information in every router and switch in the network. However, instead of using IP multicast to distribute group-to-RP mapping information, BSR uses hop-by-hop flooding of special BSR messages to distribute the mapping information.

The BSR is elected from a set of candidate routers and switches in the domain that have been configured to function as BSRs. The election mechanism is similar to the root-bridge election mechanism used in bridged LANs. The BSR election is based on the BSR priority of the device contained in the BSR messages that are sent hop-by-hop through the network. Each BSR device examines the message and forwards out all interfaces only the message that has either a higher BSR priority than its BSR priority or the same BSR priority, but with a higher BSR IP address. Using this method, the BSR is elected.

The elected BSR sends BSR messages with a TTL of 1. Neighboring PIMv2 routers or multilayer switches receive the BSR message and multicast it out all other interfaces (except the one on which it was received) with a TTL of 1. In this way, BSR messages travel hop-by-hop throughout the PIM domain. Because BSR messages contain the IP address of the current BSR, the flooding mechanism enables candidate RPs to automatically learn which device is the elected BSR.

Candidate RPs send candidate RP advertisements showing the group range for which they are responsible to the BSR, which stores this information in its local candidate-RP cache. The BSR periodically advertises the contents of this cache in BSR messages to all other PIM devices in the domain. These messages travel hop-by-hop through the network to all routers and switches, which store the RP information in the BSR message in their local RP cache. The routers and switches select the same RP for a given group because they all use a common RP hashing algorithm.

Multicast Forwarding and Reverse Path Check

With unicast routing, routers and multilayer switches forward traffic through the network along a single path from the source to the destination host whose IP address appears in the destination address field of the IP packet. Each router and switch along the way makes a unicast forwarding decision, using the destination IP address in the packet, by looking up the destination address in the unicast routing table and forwarding the packet through the specified interface to the next hop toward the destination.

With multicasting, the source is sending traffic to an arbitrary group of hosts represented by a multicast group address in the destination address field of the IP packet. To decide whether to forward or drop an incoming multicast packet, the router or multilayer switch uses a reverse path forwarding (RPF) check on the packet as follows and shown in Figure 2-2:

1. The router or multilayer switch examines the source address of the arriving multicast packet to decide whether the packet arrived on an interface that is on the reverse path back to the source.

2. If the packet arrives on the interface leading back to the source, the RPF check is successful and the packet is forwarded to all interfaces in the outgoing interface list (which might not be all interfaces on the router).

3. If the RPF check fails, the packet is discarded.

Some multicast routing protocols maintain a separate multicast routing table and use it for the RPF check. However, PIM uses the unicast routing table to perform the RPF check.

Figure 2-2 shows port 2 receiving a multicast packet from source 151.10.3.21. Table 2-1 shows that the port on the reverse path to the source is port 1, not port 2. Because the RPF check fails, the multilayer switch discards the packet. Another multicast packet from source 151.10.3.21 is received on port 1, and the routing table shows this port is on the reverse path to the source. Because the RPF check passes, the switch forwards the packet to all ports in the outgoing port list.

Figure 2-2 RPF Check

Table 2-1 Routing Table Example for an RPF Check

Network

Port

151.10.0.0/16

Gigabit Ethernet 0/1

198.14.32.0/32

Fast Ethernet 0/1

204.1.16.0/24

Fast Ethernet 0/2

PIM uses both source trees and RP-rooted shared trees to forward datagrams (described in the “PIM DM” section and the “PIM SM” section). The RPF check is performed differently for each:

- If a PIM router or multilayer switch has a source-tree state (that is, an (S,G) entry is present in the multicast routing table), it performs the RPF check against the IP address of the source of the multicast packet.

- If a PIM router or multilayer switch has a shared-tree state (and no explicit source-tree state), it performs the RPF check on the RP address (which is known when members join the group).

Sparse-mode PIM uses the RPF lookup function to decide where it needs to send joins and prunes:

- (S,G) joins (which are source-tree states) are sent toward the source.

- (*,G) joins (which are shared-tree states) are sent toward the RP.

Dense-mode PIM uses only source trees and uses RPF as previously described.

Information About Source-Specific Multicast

The Source-Specific Multicast (SSM) feature is an extension of IP multicast in which datagram traffic is forwarded to receivers from only those multicast sources that the receivers have explicitly joined. For multicast groups configured for SSM, only SSM distribution trees (no shared trees) are created.

SSM Components Overview

SSM is a datagram delivery model that best supports one-to-many applications, also known as broadcast applications. SSM is a core networking technology for the Cisco implementation of IP multicast solutions targeted for audio and video broadcast application environments. The switch supports these components that support the implementation of SSM:

- Protocol independent multicast source-specific mode (PIM-SSM)

PIM-SSM is the routing protocol that supports the implementation of SSM and is derived from PIM sparse mode (PIM-SM).

- Internet Group Management Protocol version 3 (IGMPv3)

To run SSM with IGMPv3, SSM must be supported in the Cisco IOS router, the host where the application is running, and the application itself.

How SSM Differs from Internet Standard Multicast

The current IP multicast infrastructure in the Internet and many enterprise intranets is based on the PIM-SM protocol and Multicast Source Discovery Protocol (MSDP). These protocols have the limitations of the Internet Standard Multicast (ISM) service model. For example, with ISM, the network must maintain knowledge about which hosts in the network are actively sending multicast traffic.

The ISM service consists of the delivery of IP datagrams from any source to a group of receivers called the multicast host group. The datagram traffic for the multicast host group consists of datagrams with an arbitrary IP unicast source address S and the multicast group address G as the IP destination address. Systems receive this traffic by becoming members of the host group.

Membership in a host group simply requires signalling the host group through IGMP version 1, 2, or 3. In SSM, delivery of datagrams is based on (S, G) channels. In both SSM and ISM, no signalling is required to become a source. However, in SSM, receivers must subscribe or unsubscribe to (S, G) channels to receive or not receive traffic from specific sources. In other words, receivers can receive traffic only from (S, G) channels to which they are subscribed, whereas in ISM, receivers need not know the IP addresses of sources from which they receive their traffic. The proposed standard approach for channel subscription signalling use IGMP include mode membership reports, which are supported only in IGMP version 3.

SSM IP Address Range

SSM can coexist with the ISM service by applying the SSM delivery model to a configured subset of the IP multicast group address range. Cisco IOS software allows SSM configuration for the IP multicast address range of 224.0.0.0 through 239.255.255.255. When an SSM range is defined, existing IP multicast receiver applications do not receive any traffic when they try to use an address in the SSM range (unless the application is modified to use an explicit (S, G) channel subscription).

SSM Operations

An established network, in which IP multicast service is based on PIM-SM, can support SSM services. SSM can also be deployed alone in a network without the full range of protocols that are required for interdomain PIM-SM (for example, MSDP, Auto-RP, or bootstrap router [BSR]) if only SSM service is needed.

If SSM is deployed in a network already configured for PIM-SM, only the last-hop routers support SSM. Routers that are not directly connected to receivers do not require support for SSM. In general, these not-last-hop routers must only run PIM-SM in the SSM range and might need additional access control configuration to suppress MSDP signalling, registering, or PIM-SM shared tree operations from occurring within the SSM range.

Use the ip pim ssm global configuration command to configure the SSM range and to enable SSM. This configuration has the following effects:

- For groups within the SSM range, (S, G) channel subscriptions are accepted through IGMPv3 include-mode membership reports.

- PIM operations within the SSM range of addresses change to PIM-SSM, a mode derived from PIM-SM. In this mode, only PIM (S, G) join and prune messages are generated by the router, and no (S, G) rendezvous point tree (RPT) or (*, G) RPT messages are generated. Incoming messages related to RPT operations are ignored or rejected, and incoming PIM register messages are immediately answered with register-stop messages. PIM-SSM is backward-compatible with PIM-SM unless a router is a last-hop router. Therefore, routers that are not last-hop routers can run PIM-SM for SSM groups (for example, if they do not yet support SSM).

- No MSDP source-active (SA) messages within the SSM range are accepted, generated, or forwarded.

IGMPv3 Host Signalling

In IGMPv3, hosts signal membership to last hop routers of multicast groups. Hosts can signal group membership with filtering capabilities with respect to sources. A host can either signal that it wants to receive traffic from all sources sending to a group except for some specific sources (called exclude mode), or that it wants to receive traffic only from some specific sources sending to the group (called include mode).

IGMPv3 can operate with both ISM and SSM. In ISM, both exclude and include mode reports are applicable. In SSM, only include mode reports are accepted by the last-hop router. Exclude mode reports are ignored.

Information About Source Specific Multicast Mapping

The Source Specific Multicast (SSM) mapping feature supports SSM transition when supporting SSM on the end system is impossible or unwanted due to administrative or technical reasons. You can use SSM mapping to leverage SSM for video delivery to legacy STBs that do not support IGMPv3 or for applications that do not use the IGMPv3 host stack.

In a typical STB deployment, each TV channel uses one separate IP multicast group and has one active server host sending the TV channel. A single server can send multiple TV channels, but each to a different group. In this network environment, if a router receives an IGMPv1 or IGMPv2 membership report for a particular group, the report addresses the well-known TV server for the TV channel associated with the multicast group.

When SSM mapping is configured, if a router receives an IGMPv1 or IGMPv2 membership report for a particular group, the router translates this report into one or more channel memberships for the well-known sources associated with this group.

When the router receives an IGMPv1 or IGMPv2 membership report for a group, the router uses SSM mapping to determine one or more source IP addresses for the group. SSM mapping then translates the membership report as an IGMPv3 report and continues as if it had received an IGMPv3 report. The router then sends PIM joins and continues to be joined to these groups as long as it continues to receive the IGMPv1 or IGMPv2 membership reports, and the SSM mapping for the group remains the same.

SSM mapping enables the last hop router to determine the source addresses either by a statically configured table on the router or through a DNS server. When the statically configured table or the DNS mapping changes, the router leaves the current sources associated with the joined groups.

Static SSM Mapping

With static SSM mapping, you can configure the last hop router to use a static map to determine the sources that are sending to groups. Static SSM mapping requires that you configure ACLs to define group ranges. Then you can map the groups permitted by those ACLs to sources by using the ip igmp static ssm-map global configuration command.

You can configure static SSM mapping in smaller networks when a DNS is not needed or to locally override DNS mappings. When configured, static SSM mappings take precedence over DNS mappings.

DNS-Based SSM Mapping

You can use DNS-based SSM mapping to configure the last hop router to perform a reverse DNS lookup to determine sources sending to groups. When DNS-based SSM mapping is configured, the router constructs a domain name that includes the group address and performs a reverse lookup into the DNS. The router looks up IP address resource records and uses them as the source addresses associated with this group. SSM mapping supports up to 20 sources for each group. The router joins all sources configured for a group (see Figure 2-3Figure 2-3).

Figure 2-3 DNS-Based SSM-Mapping

The SSM mapping mechanism that enables the last hop router to join multiple sources for a group can provide source redundancy for a TV broadcast. In this context, the last hop router provides redundancy using SSM mapping to simultaneously join two video sources for the same TV channel. However, to prevent the last hop router from duplicating the video traffic, the video sources must use a server-side switchover mechanism. One video source is active, and the other backup video source is passive. The passive source waits until an active source failure is detected before sending the video traffic for the TV channel. Thus, the server-side switchover mechanism ensures that only one of the servers is actively sending video traffic for the TV channel.

To look up one or more source addresses for a group that includes G1, G2, G3, and G4, you must configure these DNS records on the DNS server:

G4.G3.G2.G1 [multicast-domain] [timeout] IN A source-address-1

IN A source-address-2

IN A source-address-n

Refer to your DNS server documentation for more information about configuring DNS resource records.

Information About PIM Shared Tree and Source Tree

By default, members of a group receive data from senders to the group across a single data-distribution tree rooted at the RP. Figure 2-4 shows this type of shared-distribution tree. Data from senders is delivered to the RP for distribution to group members joined to the shared tree.

Figure 2-4 Shared Tree and Source Tree (Shortest-Path Tree)

If the data rate warrants, leaf routers (routers without any downstream connections) on the shared tree can use the data distribution tree rooted at the source. This type of distribution tree is called a shortest-path tree or source tree. By default, the software switches to a source tree upon receiving the first data packet from a source.

This process describes the move from a shared tree to a source tree:

1. A receiver joins a group; leaf Router C sends a join message toward the RP.

2. The RP puts a link to Router C in its outgoing interface list.

3. A source sends data; Router A encapsulates the data in a register message and sends it to the RP.

4. The RP forwards the data down the shared tree to Router C and sends a join message toward the source. At this point, data might arrive twice at Router C, once encapsulated and once natively.

5. When data arrives natively (unencapsulated) at the RP, it sends a register-stop message to Router A.

6. By default, reception of the first data packet prompts Router C to send a join message toward the source.

7. When Router C receives data on (S,G), it sends a prune message for the source up the shared tree.

8. The RP deletes the link to Router C from the outgoing interface of (S,G). The RP triggers a prune message toward the source.

Join and prune messages are sent for sources and RPs. They are sent hop-by-hop and are processed by each PIM device along the path to the source or RP. Register and register-stop messages are not sent hop-by-hop. They are sent by the designated router that is directly connected to a source and are received by the RP for the group.

Multiple sources sending to groups use the shared tree.

You can configure the PIM device to stay on the shared tree. For more information, see the “Delaying the Use of PIM Shortest-Path Tree” section.

Prerequisites

- To use multicast routing, the switch must be running the IP services image.

- Be familiar with the information in the “Information About Cisco’s Implementation of IP Multicast Routing” section and “Guidelines and Limitations” section.

Guidelines and Limitations

PIMv1 and PIMv2 Interoperability

The Cisco PIMv2 implementation provides interoperability and transition between Version 1 and Version 2, although there might be some minor problems.

You can upgrade to PIMv2 incrementally. PIM Versions 1 and 2 can be configured on different routers and multilayer switches within one network. Internally, all routers and multilayer switches on a shared media network must run the same PIM version. Therefore, if a PIMv2 device detects a PIMv1 device, the Version 2 device downgrades itself to Version 1 until all Version 1 devices have been shut down or upgraded.

PIMv2 uses the BSR to discover and announce RP-set information for each group prefix to all the routers and multilayer switches in a PIM domain. PIMv1, together with the Auto-RP feature, can perform the same tasks as the PIMv2 BSR. However, Auto-RP is a standalone protocol, separate from PIMv1, and is a proprietary Cisco protocol. PIMv2 is a standards track protocol in the IETF. We recommend that you use PIMv2. The BSR mechanism interoperates with Auto-RP on Cisco routers and multilayer switches. For more information, see the “Auto-RP and BSR Configuration Guidelines” section.

When PIMv2 devices interoperate with PIMv1 devices, Auto-RP should have already been deployed. A PIMv2 BSR that is also an Auto-RP mapping agent automatically advertises the RP elected by Auto-RP. That is, Auto-RP sets its single RP on every router or multilayer switch in the group. Not all routers and switches in the domain use the PIMv2 hash function to select multiple RPs.

Dense-mode groups in a mixed PIMv1 and PIMv2 region need no special configuration; they automatically interoperate.

Sparse-mode groups in a mixed PIMv1 and PIMv2 region are possible because the Auto-RP feature in PIMv1 interoperates with the PIMv2 RP feature. Although all PIMv2 devices can also use PIMv1, we recommend that the RPs be upgraded to PIMv2. To ease the transition to PIMv2, we have these recommendations:

- Use Auto-RP throughout the region.

- Configure sparse-dense mode throughout the region.

If Auto-RP is not already configured in the PIMv1 regions, configure Auto-RP. For more information, see the “Configuring Auto-RP” section.

Auto-RP and BSR Configuration Guidelines

There are two approaches to using PIMv2. You can use Version 2 exclusively in your network or migrate to Version 2 by employing a mixed PIM version environment.

- If your network is all Cisco routers and multilayer switches, you can use either Auto-RP or BSR.

- If you have non-Cisco routers in your network, you must use BSR.

- If you have Cisco PIMv1 and PIMv2 routers and multilayer switches and non-Cisco routers, you must use both Auto-RP and BSR. If your network includes routers from other vendors, configure the Auto-RP mapping agent and the BSR on a Cisco PIMv2 device. Ensure that no PIMv1 device is located in the path a between the BSR and a non-Cisco PIMv2 device.

- Because bootstrap messages are sent hop-by-hop, a PIMv1 device prevents these messages from reaching all routers and multilayer switches in your network. Therefore, if your network has a PIMv1 device in it and only Cisco routers and multilayer switches, it is best to use Auto-RP.

- If you have a network that includes non-Cisco routers, configure the Auto-RP mapping agent and the BSR on a Cisco PIMv2 router or multilayer switch. Ensure that no PIMv1 device is on the path between the BSR and a non-Cisco PIMv2 router.

- If you have non-Cisco PIMv2 routers that need to interoperate with Cisco PIMv1 routers and multilayer switches, both Auto-RP and a BSR are required. We recommend that a Cisco PIMv2 device be both the Auto-RP mapping agent and the BSR. For more information, see the “Using Auto-RP and a BSR” section.

PIM Stub Routing Configuration Guidelines

Guidelines and limitations for PIM stub routing are as follows:

- Before configuring PIM stub routing, you must have IP multicast routing configured on both the stub router and the central router. You must also have PIM mode (dense-mode, sparse-mode, or dense-sparse-mode) configured on the uplink interface of the stub router.

- The PIM stub router does not route the transit traffic between the distribution routers. Unicast (EIGRP) stub routing enforces this behavior. You must configure unicast stub routing to assist the PIM stub router behavior. For more information, see the “Configuring EIGRP Stub Routing” section in the Unicast Routing Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

- Only directly connected multicast (IGMP) receivers and sources are allowed in the Layer 2 access domains. The PIM protocol is not supported in access domains.

- The redundant PIM stub router topology is not supported.

Restrictions for Legacy Applications Within the SSM Range

Existing applications in a network predating Source-Specific Multicast (SSM) do not work within the SSM range unless they are modified to support (S, G) channel subscriptions. Therefore, enabling SSM in a network can cause problems for existing applications if they use addresses within the designated SSM range.

Address Management Restrictions

Address management is still necessary to some degree when SSM is used with Layer 2 switching mechanisms. Cisco Group Management Protocol (CGMP), IGMP snooping, or Router-Port Group Management Protocol (RGMP) support only group-specific filtering, not (S, G) channel-specific filtering. If different receivers in a switched network request different (S, G) channels sharing the same group, they do not benefit from these existing mechanisms. Instead, both receivers receive all (S, G) channel traffic and filter out the unwanted traffic on input. Because SSM can re-use the group addresses in the SSM range for many independent applications, this situation can lead to decreased traffic filtering in a switched network. For this reason, it is important to use random IP addresses from the SSM range for an application to minimize the chance for re-use of a single address within the SSM range between different applications. For example, an application service providing a set of television channels should, even with SSM, use a different group for each television (S, G) channel. This setup guarantees that multiple receivers to different channels within the same application service never experience traffic aliasing in networks that include Layer 2 switches.

IGMP Snooping and CGMP Limitations

IGMPv3 uses new membership report messages that might not be correctly recognized by older IGMP snooping switches.

For more information about switching issues related to IGMP (especially with CGMP), refer to the “Configuring IGMP Version 3” section of the “Configuring IP Multicast Routing” chapter.

State Maintenance Limitations

In PIM-SSM, the last hop router continues to periodically send (S, G) join messages if appropriate (S, G) subscriptions are on the interfaces. Therefore, as long as receivers send (S, G) subscriptions, the shortest path tree (SPT) state from the receivers to the source is maintained, even if the source does not send traffic for longer periods of time (or even never).

This case is opposite to PIM-SM, where (S, G) state is maintained only if the source is sending traffic and receivers are joining the group. If a source stops sending traffic for more than 3 minutes in PIM-SM, the (S, G) state is deleted and only re-established after packets from the source arrive again through the RPT. Because no mechanism in PIM-SSM notifies a receiver that a source is active, the network must maintain the (S, G) state in PIM-SSM as long as receivers are requesting receipt of that channel.

SSM Mapping Configuration Guidelines

Guidelines and limitations for SSM mapping:

- The SSM mapping feature does not have all the benefits of full SSM. Because SSM mapping takes a group join from a host and identifies this group with an application associated with one or more sources, it can only support one such application per group. Full SSM applications can still share the same group as in SSM mapping.

- Enable IGMPv3 with care on the last hop router when you rely solely on SSM mapping as a transition solution for full SSM. When you enable both SSM mapping and IGMPv3 and the hosts already support IGMPv3 (but not SSM), the hosts send IGMPv3 group reports. SSM mapping does not support these IGMPv3 group reports, and the router does not correctly associate sources with these reports.

Default Settings

Feature

Default Setting

Multicast routing

Disabled on all interfaces.

PIM version

Version 2.

PIM mode

No mode is defined.

PIM RP address

None configured.

PIM domain border

Disabled.

PIM multicast boundary

None.

Candidate BSRs

Disabled.

Candidate RPs

Disabled.

Shortest-path tree threshold rate

0 kbps.

PIM router query message interval

30 seconds.

Configuring IP Multicast Routing

This section includes the following topics:

- Configuring Basic Multicast Routing (required)

- Configuring PIM Stub Routing (optional)

- Configuring Source-Specific Multicast

- Configuring SSM Mapping

- Configuring a Rendezvous Point (required if the interface is in sparse-dense mode, and you want to treat the group as a sparse group)

- Using Auto-RP and a BSR (required for non-Cisco PIMv2 devices to interoperate with Cisco PIM v1 devices))

- Monitoring the RP Mapping Information (optional)

- Troubleshooting PIMv1 and PIMv2 Interoperability Problems (optional)

Configuring Basic Multicast Routing

You must enable IP multicast routing and configure the PIM version and the PIM mode. Then the software can forward multicast packets, and the switch can populate its multicast routing table.

Note To enable IP multicast routing, the switch must be running the IP services image.

You can configure an interface to be in PIM dense mode, sparse mode, or sparse-dense mode. The switch populates its multicast routing table and forwards multicast packets it receives from its directly connected LANs according to the mode setting. You must enable PIM in one of these modes for an interface to perform IP multicast routing. Enabling PIM on an interface also enables IGMP operation on that interface.

Note If you enable PIM on multiple interfaces and most of these interfaces are not part of the outgoing interface list, when IGMP snooping is disabled the outgoing interface might not be able to sustain line rate for multicast traffic because of the extra, unnecessary replication.

In populating the multicast routing table, dense-mode interfaces are always added to the table. Sparse-mode interfaces are added to the table only when periodic join messages are received from downstream devices or when there is a directly connected member on the interface. When forwarding from a LAN, sparse-mode operation occurs if there is an RP known for the group. If so, the packets are encapsulated and sent toward the RP. When no RP is known, the packet is flooded in a dense-mode fashion. If the multicast traffic from a specific source is sufficient, the receiver’s first-hop router might send join messages toward the source to build a source-based distribution tree.

By default, multicast routing is disabled, and there is no default mode setting. Follow this procedure to enable IP multicasting, to configure a PIM version, and to configure a PIM mode. This procedure is required.

BEFORE YOU BEGIN

- Decide which PIM mode to use.

- Ensure that the interface on which you are enabling multicast routing has an IP address assigned to it. For more information, see the “Configuring Layer 3 Interfaces” section in the “Configuring Interfaces” chapter in the Interfaces Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip multicast-routing distributed

Enable IP multicast distributed switching.

Step 3

interface interface-id

Specify the Layer 3 interface on which you want to enable multicast routing, and enter interface configuration mode.

The specified interface must be one of the following:

- A routed port: a physical port that has been configured as a Layer 3 port by entering the no switchport interface configuration command.

- An SVI: a VLAN interface created by using the interface vlan vlan-id global configuration command.

Step 4

no shutdown

Enable the port, if necessary. By default, user network interfaces (UNIs) and enhanced network interfaces (ENIs) are disabled, and network node interfaces (NNIs) are enabled.

Step 5

ip pim version [ 1 | 2 ]

Configure the PIM version on the interface.

By default, Version 2 is enabled and is the recommended setting.

An interface in PIMv2 mode automatically downgrades to PIMv1 mode if that interface has a PIMv1 neighbor. The interface returns to Version 2 mode after all Version 1 neighbors are shut down or upgraded.

For more information, see the “PIMv1 and PIMv2 Interoperability” section.

Step 6

ip pim { dense-mode | sparse-mode | sparse-dense-mode }

Enable a PIM mode on the interface.

By default, no mode is configured.

The keywords have these meanings:

- dense-mode —Enables dense mode of operation.

- sparse-mode —Enables sparse mode of operation. If you configure sparse-mode, you must also configure an RP. For more information, see the “Configuring a Rendezvous Point” section.

- sparse-dense-mode —Causes the interface to be treated in the mode in which the group belongs. Sparse-dense-mode is the recommended setting.

Step 7

end

Return to privileged EXEC mode.

Step 8

show running-config

Verify your entries.

Step 9

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable multicasting, use the no ip multicast-routing distributed global configuration command. To return to the default PIM version, use the no ip pim version interface configuration command. To disable PIM on an interface, use the no ip pim interface configuration command.

EXAMPLE

This example enables IP multicast distributed switching and specifies the PIM mode:

Switch# configure terminal

Switch(config)# ip multicast-routing distributed

Switch(config)# interface Gigabitethernet 1/0/0

Switch(config-if)# ip pim sparse-dense-mode

Switch(config-if)# end

Configuring PIM Stub Routing

The PIM Stub routing feature supports multicast routing between the distribution layer and the access layer. It supports two types of PIM interfaces, uplink PIM interfaces, and PIM passive interfaces. A routed interface configured with the PIM passive mode does not pass or forward PIM control traffic, it only passes and forwards IGMP traffic.

This procedure is optional.

BEFORE YOU BEGIN

- You must have IP multicast routing configured on both the stub router and the central router.

- You must have PIM mode (dense-mode, sparse-mode, or dense-sparse-mode) configured on the uplink interface of the stub router.

- You must configure EIGRP stub routing to assist the PIM stub router behavior.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface on which you want to enable PIM stub routing, and enter interface configuration mode.

Step 3

ip pim passive

Configure the PIM stub feature on the interface.

Step 4

end

Return to privileged EXEC mode.

Step 5

show ip pim interface

Display the PIM stub that is enabled on each interface.

Step 6

show running-config

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable PIM stub routing on an interface, use the no ip pim passive interface configuration command.

EXAMPLE

In this example, IP multicast routing is enabled, Switch A PIM uplink port 25 is configured as a routed uplink port with spare-dense-mode enabled. PIM stub routing is enabled on the VLAN 100 interfaces and on Gigabit Ethernet port 20 in Figure 2-1:

Switch(config)# ip multicast-routing distributed

Switch(config)# interface GigabitEthernet0/25

Switch(config-if)# no switchport

Switch(config-if)# ip address 3.1.1.2 255.255.255.0

Switch(config-if)# ip pim sparse-dense-mode

Switch(config-if)# exit

Switch(config)# interface vlan100

Switch(config-if)# ip pim passive

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet0/20

Switch(config-if)# ip pim passive

Switch(config-if)# exit

Switch(config)# interface vlan100

Switch(config-if)# ip address 100.1.1.1 255.255.255.0

Switch(config-if)# ip pim passive

Switch(config-if)# exit

Switch(config)# interface GigabitEthernet0/20

Switch(config-if)# no switchport

Switch(config-if)# ip address 10.1.1.1 255.255.255.0

Switch(config-if)# ip pim passive

Switch(config-if)# end

To verify that PIM stub is enabled for each interface, use the show ip pim interface privileged EXEC command:

Switch# show ip pim interface

Address Interface Ver/ Nbr Query DR DR

Mode Count Intvl Prior

3.1.1.2 GigabitEthernet0/25 v2/SD 1 30 1 3.1.1.2

100.1.1.1 Vlan100 v2/P 0 30 1 100.1.1.1

10.1.1.1 GigabitEthernet0/20 v2/P 0 30 1 10.1.1.1

Use these privileged EXEC commands to display information about PIM stub configuration and status:

- show ip pim interface displays the PIM stub that is enabled on each interface.

- show ip igmp detail displays the interested clients that have joined the specific multicast source group.

- show ip igmp mroute verifies that the multicast stream forwards from the source to the interested clients.

Configuring Source-Specific Multicast

This section describes how to configure source-specific multicast (SSM).

BEFORE YOU BEGIN

See the “Information About Source-Specific Multicast” section and “Guidelines and Limitations” section.

DETAILED STEPS

Command

Purpose

Step 1

ip pim ssm [ default | range access-list ]

Define the SSM range of IP multicast addresses.

Step 2

interface type number

Select an interface that is connected to hosts on which IGMPv3 can be enabled, and enter the interface configuration mode.

Step 3

ip pim { sparse-mode | sparse-dense-mode }

Enable PIM on an interface. You must use either sparse mode or sparse-dense mode .

Step 4

ip igmp version 3

Enable IGMPv3 on this interface. The default version of IGMP is set to Version 2.

EXAMPLE

The following example shows how to configure a device (running IGMPv3) for SSM:

ip multicast-routing

ip pim ssm default

!

interface GigabitEthernet3/1/0

ip address 172.21.200.203 255.255.255.0

description backbone interface

ip pim sparse-mode

!

interface GigabitEthernet3/2/0

ip address 131.108.1.2 255.255.255.0

ip pim sparse-mode

description ethernet connected to hosts

ip igmp version 3

!

Verifying SSM Configuration

Command

Purpose

show ip igmp groups detail

Display the (S, G) channel subscription through IGMPv3.

show ip mroute

Display whether a multicast group supports SSM service or whether a source-specific host report was received.

Configuring SSM Mapping

This section includes the following topics:

- Configuring Static SSM Mapping (required)

- Configuring DNS-Based SSM Mapping (required)

- Configuring Static Traffic Forwarding with SSM Mapping (optional)

Configuring Static SSM Mapping

BEFORE YOU BEGIN

- See the “Information About Source Specific Multicast Mapping” section and “SSM Mapping Configuration Guidelines” section.

- Before you configure SSM mapping, enable IP multicast routing, enable PIM sparse mode, and configure SSM. For information on enabling IP multicast routing and PIM sparse mode, see the “Configuring Basic Multicast Routing” section.

- Before you configure static SSM mapping, you must configure access control lists (ACLs) that define the group ranges to be mapped to source addresses. For information on configuring an ACL, see the chapter “Configuring Network Security with ACLs” in the Security Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp ssm-map enable

Enable SSM mapping for groups in the configured SSM range.

Note By default, this command enables DNS-based SSM mapping.

Step 3

no ip igmp ssm-map query dns

(Optional) Disable DNS-based SSM mapping.
global configuration command enables DNS-based SSM mapping.

Step 4

ip igmp ssm-map static access-list source-address

Configure static SSM mapping.

The ACL supplied for access-list defines the groups to be mapped to the source IP address entered for the source-address .
command. The switch associates up to 20 sources per group.

Step 5

Repeat Step 4 to configure additional static SSM mappings, if required.

—

Step 6

end

Return to privileged EXEC mode.

Step 7

show running-config

Verify your entries.

Step 8

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

The following example shows how to enable static SSM mapping. In this example, the router is configured to statically map groups that match ACL 11 to source address 172.16.8.11 and to statically map groups that match ACL 10 to source address 172.16.8.10.

Switch(config)# ip igmp ssm-map enable

Switch(config)# ip igmp ssm-map static 11 172.16.8.11

Switch(config)# ip igmp ssm-map static 10 172.16.8.10

Switch(config)# end

Configuring DNS-Based SSM Mapping

To configure DNS-based SSM mapping, you need to create a DNS server zone or add records to an existing zone. If the routers that are using DNS-based SSM mapping are also using DNS for other purposes, you should use a normally configured DNS server. If DNS-based SSM mapping is the only DNS implementation being used on the router, you can configure a false DNS setup with an empty root zone or a root zone that points back to itself.

BEFORE YOU BEGIN

- See the “Information About Source Specific Multicast Mapping” section and “SSM Mapping Configuration Guidelines” section.

- Before you configure SSM mapping, enable IP multicast routing, enable PIM sparse mode, and configure SSM. For information on enabling IP multicast routing and PIM sparse mode, see the “Configuring Basic Multicast Routing” section.

- Before you can configure and use SSM mapping with DNS lookups, you must be able to add records to a running DNS server. If you do not already have a DNS server running, you need to install one.

You can use a product such as Cisco Network Registrar. Go to this URL for more information:

http://www.cisco.com/en/US/products/sw/netmgtsw/ps1982/index.html

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp ssm-map enable

Enable SSM mapping for groups in a configured SSM range.

Step 3

ip igmp ssm-map query dns

(Optional) Enable DNS-based SSM mapping.

By default, the ip igmp ssm-map command enables DNS-based SSM mapping. Only the no form of this command is saved to the running configuration.

Note Use this command to re-enable DNS-based SSM mapping if DNS-based SSM mapping is disabled.

Step 4

ip domain multicast domain-prefix

(Optional) Change the domain prefix used by the switch for DNS-based SSM mapping.

By default, the switch uses the ip-addr.arpa domain prefix.

Step 5

ip name-server server-address1 [ server-address2... server-address6 ]

Specify the address of one or more name servers to use for name and address resolution.

Step 6

Repeat Step 5 to configure additional DNS servers for redundancy, if required.

—

Step 7

end

Return to privileged EXEC mode.

Step 8

show running-config

Verify your entries.

Step 9

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

The following example shows how to configure DNS-based SSM mapping:

Switch(config)# ip igmp ssm-map enable

Switch(config)# ip name-server 10.0.0.0

Switch(config)# end

Configuring Static Traffic Forwarding with SSM Mapping

Use static traffic forwarding with SSM mapping to statically forward SSM traffic for certain groups. When static traffic forwarding with SSM mapping is configured, the last hop router uses Domain Name System (DNS)-based SSM mapping to determine the sources associated with a group. The resulting (S, G) channels are then statically forwarded.

BEFORE YOU BEGIN

Configure DNS-based SSM mapping as described in the “Configuring DNS-Based SSM Mapping” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface type number

Select an interface on which to statically forward traffic for a multicast group using SSM mapping, and enter interface configuration mode.

Note Static forwarding of traffic with SSM mapping works with either DNS-based SSM mapping or statically configured SSM mapping.

Step 3

ip igmp static-group group-address source ssm-map

Configure SSM mapping to statically forward a (S, G) channel from the interface.

Use this command if you want to statically forward SSM traffic for certain groups. Use DNS-based SSM mapping to determine the source addresses of the channels.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

The following example shows how to configure group address 239.1.2.1 to use SSM mapping for statically forwarded groups on Ethernet interface 0:

interface ethernet 0

ip igmp static-group 239.1.2.1 source ssm-map

Verifying SSM Mapping Configuration

Command

Purpose

show ip igmp ssm-mapping

Display information about SSM mapping.

show ip igmp ssm-mapping group-address

Display the sources that SSM mapping uses for a particular group.

show ip igmp groups [ group-name | group-address | interface-type interface-number ] [ detail ]

Display the multicast groups with receivers that are directly connected to the router and that were learned through IGMP.

show host

Display the default domain name, the style of name lookup service, a list of name server hosts, and the cached list of hostnames and addresses.

debug ip igmp group-address

Display the IGMP packets received and sent and IGMP host-related events.

Configuring a Rendezvous Point

You must have an RP if the interface is in sparse-dense mode and if you want to treat the group as a sparse group. You can use several methods, as described in these sections:

- Manually Assigning an RP to Multicast Groups

- Configuring Auto-RP (a standalone, Cisco-proprietary protocol separate from PIMv1)

- Configuring PIMv2 BSR (a standards track protocol in the Internet Engineering Task Force (IETF)

You can use Auto-RP, BSR, or a combination of both, depending on the PIM version you are running and the types of routers in your network. For more information, see the “PIMv1 and PIMv2 Interoperability” section and the “Auto-RP and BSR Configuration Guidelines” section.

Manually Assigning an RP to Multicast Groups

This section explains how to manually configure an RP. If the RP for a group is learned through a dynamic mechanism (such as Auto-RP or BSR), you need not perform this task for that RP.

Senders of multicast traffic announce their existence through register messages received from the source’s first-hop router (designated router) and forwarded to the RP. Receivers of multicast packets use RPs to join a multicast group by using explicit join messages. RPs are not members of the multicast group; rather, they serve as a meeting place for multicast sources and group members.

You can configure a single RP for multiple groups defined by an access list. If there is no RP configured for a group, the multilayer switch treats the group as dense and uses the dense-mode PIM techniques. This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About PIM” section and “Guidelines and Limitations” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip pim rp-address ip-address [ access-list-number ] [ override ]

Configure the address of a PIM RP.

By default, no PIM RP address is configured. You must configure the IP address of RPs on all routers and multilayer switches (including the RP). If there is no RP configured for a group, the switch treats the group as dense, using the dense-mode PIM techniques.

A PIM device can be an RP for more than one group. Only one RP address can be used at a time within a PIM domain. The access-list conditions specify for which groups the device is an RP.

- For ip-address , enter the unicast address of the RP in dotted-decimal notation.

- (Optional) For access-list-number , enter an IP standard access list number from 1 to 99. If no access list is configured, the RP is used for all groups.

- (Optional) The override keyword means that if there is a conflict between the RP configured with this command and one learned by Auto-RP or BSR, the RP configured with this command prevails.

Step 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , enter the access list number specified in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , enter the multicast group address for which the RP should be used.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove an RP address, use the no ip pim rp-address ip-address [ access-list-number ] [ override ] global configuration command.

EXAMPLE

This example shows how to configure the address of the RP to 147.106.6.22 for multicast group 225.2.2.2 only:

Switch(config)# access-list 1 permit 225.2.2.2 0.0.0.0

Switch(config)# ip pim rp-address 147.106.6.22 1

Configuring Auto-RP

Auto-RP uses IP multicast to automate the distribution of group-to-RP mappings to all Cisco routers and multilayer switches in a PIM network. It has these benefits:

- It is easy to use multiple RPs within a network to serve different group ranges.

- It provides load splitting among different RPs and arrangement of RPs according to the location of group participants.

- It avoids inconsistent, manual RP configurations on every router and multilayer switch in a PIM network, which can cause connectivity problems.

Note If you configure PIM in sparse mode or sparse-dense mode and do not configure Auto-RP, you must manually configure an RP as described in the “Manually Assigning an RP to Multicast Groups” section.

Note If routed interfaces are configured in sparse mode, Auto-RP can still be used if all devices are configured with a manual RP address for the Auto-RP groups.

These sections describe how to configure Auto-RP:

- Setting up Auto-RP in a New Internetwork (optional)

- Adding Auto-RP to an Existing Sparse-Mode Cloud (optional)

- Preventing Join Messages to False RPs (optional)

- Filtering Incoming RP Announcement Messages (optional)

Setting up Auto-RP in a New Internetwork

If you are setting up Auto-RP in a new internetwork, you do not need a default RP because you configure all the interfaces for sparse-dense mode. Follow the process described in the “Adding Auto-RP to an Existing Sparse-Mode Cloud” section. However, omit Step 3 if you want to configure a PIM router as the RP for the local group.

Adding Auto-RP to an Existing Sparse-Mode Cloud

This section contains some suggestions for the initial deployment of Auto-RP into an existing sparse-mode cloud to minimize disruption of the existing multicast infrastructure. This procedure is optional.

BEFORE YOU BEGIN

- Review the “Auto-RP” section and “Guidelines and Limitations” section.

- Configure a default RP as described in the “Manually Assigning an RP to Multicast Groups” section.

DETAILED STEPS

Command

Purpose

Step 1

show running-config

Verify that a default RP is already configured on all PIM devices and the RP in the sparse-mode network. It was previously configured with the ip pim rp-address global configuration command.

This step is not required for spare-dense-mode environments.

The selected RP should have good connectivity and be available across the network. Use this RP for the global groups (for example 224.x.x.x and other global groups). Do not reconfigure the group address range that this RP serves. RPs dynamically discovered through Auto-RP take precedence over statically configured RPs. Assume that it is desirable to use a second RP for the local groups.

Step 2

configure terminal

Enter global configuration mode.

Step 3

ip pim send-rp-announce interface-id scope ttl group-list access-list-number interval seconds

Configure another PIM device to be the candidate RP for local groups.

- For interface-id , enter the interface type and number that identifies the RP address. Valid interfaces include physical ports, port channels, and VLANs.

- For scope ttl , specify the time-to-live value in hops. Enter a hop count that is high enough so that the RP-announce messages reach all mapping agents in the network. There is no default setting. The range is 1 to 255.

- For group-list access-list-number , enter an IP standard access list number from 1 to 99. If no access list is configured, the RP is used for all groups.

- For interval seconds , specify how often the announcement messages must be sent. The default is 60 seconds. The range is 1 to 16383.

Step 4

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , enter the access list number specified in Step 3.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , enter the multicast group address range for which the RP should be used.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 5

ip pim send-rp-discovery scope ttl

Find a switch whose connectivity is not likely to be interrupted, and assign it the role of RP-mapping agent.

For scope ttl , specify the time-to-live value in hops to limit the RP discovery packets. All devices within the hop count from the source device receive the Auto-RP discovery messages. These messages tell other devices which group-to-RP mapping to use to avoid conflicts (such as overlapping group-to-RP ranges). There is no default setting. The range is 1 to 255.

Step 6

end

Return to privileged EXEC mode.

Step 7

show running-config

show ip pim rp mapping

show ip pim rp

Verify your entries.

Display active RPs that are cached with associated multicast routing entries.

Display the information cached in the routing table.

Step 8

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the PIM device configured as the candidate RP, use the no ip pim send-rp-announce interface-id global configuration command. To remove the switch as the RP-mapping agent, use the no ip pim send-rp-discovery global configuration command.

EXAMPLE

This example shows how to send RP announcements out all PIM-enabled interfaces for a maximum of 31 hops. The IP address of port 1 is the RP. Access list 5 describes the group for which this switch serves as RP:

Switch(config)# ip pim send-rp-announce gigabitethernet0/1 scope 31 group-list 5

Switch(config)# access-list 5 permit 224.0.0.0 15.255.255.255

Preventing Join Messages to False RPs

Find whether the ip pim accept-rp command was previously configured throughout the network by using the show running-config privileged EXEC command. If the ip pim accept-rp command is not configured on any device, this problem can be addressed later. In those routers or multilayer switches already configured with the ip pim accept-rp command, you must enter the command again to accept the newly advertised RP.

To accept all RPs advertised with Auto-RP and reject all other RPs by default, use the ip pim accept-rp auto-rp global configuration command. This procedure is optional.

If all interfaces are in sparse mode, use a default-configured RP to support the two well-known groups 224.0.1.39 and 224.0.1.40. Auto-RP uses these two well-known groups to collect and distribute RP-mapping information. When this is the case and the ip pim accept-rp auto-rp command is configured, another ip pim accept-rp command accepting the RP must be configured as follows:

Switch(config)# ip pim accept-rp 172.10.20.1 1

Switch(config)# access-list 1 permit 224.0.1.39

Switch(config)# access-list 1 permit 224.0.1.40

Filtering Incoming RP Announcement Messages

You can add configuration commands to the mapping agents to prevent a maliciously configured router from masquerading as a candidate RP and causing problems. This procedure is optional.

BEFORE YOU BEGIN

- This command should only be configured on RP mapping agents.

- If you use more than one RP-mapping agent, you must configure the same filters on all mapping agents to avoid inconsistencies in Auto-RP operations.

- An improperly configured ip pim rp-announce-filter command may result in RP announcements being ignored. In addition, the ip pim rp-announce-filter command should only be configured on the mapping agent; if not, the command will fail because non-mapping agents do not listen to group 224.0.1.39 and do not know how to distribute the necessary group-to-RP mappings.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip pim rp-announce-filter rp-list access-list-number group-list access-list-number

Filter incoming RP announcement messages.

Enter this command on each mapping agent in the network. Without this command, all incoming RP-announce messages are accepted by default.

For rp-list access-list-number , configure an access list of candidate RP addresses that, if permitted, is accepted for the group ranges supplied in the group-list access-list-number variable. If this variable is omitted, the filter applies to all multicast groups.

If more than one mapping agent is used, the filters must be consistent across all mapping agents to ensure that no conflicts occur in the Group-to-RP mapping information.

Step 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , enter the access list number specified in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- Create an access list that specifies from which routers and multilayer switches the mapping agent accepts candidate RP announcements (rp-list ACL).

- Create an access list that specifies the range of multicast groups from which to accept or deny (group-list ACL).

- For source , enter the multicast group address range for which the RP should be used.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove a filter on incoming RP announcement messages, use the no ip pim rp-announce-filter rp-list access-list-number [ group-list access-list-number ] global configuration command.

EXAMPLE

This example shows a sample configuration on an Auto-RP mapping agent that is used to prevent candidate RP announcements from being accepted from unauthorized candidate RPs:

Switch(config)# ip pim rp-announce-filter rp-list 10 group-list 20

Switch(config)# access-list 10 permit host 172.16.5.1

Switch(config)# access-list 10 permit host 172.16.2.1

Switch(config)# access-list 20 deny 239.0.0.0 0.0.255.255

Switch(config)# access-list 20 permit 224.0.0.0 15.255.255.255

In this example, the mapping agent accepts candidate RP announcements from only two devices, 172.16.5.1 and 172.16.2.1. The mapping agent accepts candidate RP announcements from these two devices only for multicast groups that fall in the group range of 224.0.0.0 to 239.255.255.255. The mapping agent does not accept candidate RP announcements from any other devices in the network. Furthermore, the mapping agent does not accept candidate RP announcements from 172.16.5.1 or 172.16.2.1 if the announcements are for any groups in the 239.0.0.0 through 239.255.255.255 range. This range is the administratively scoped address range.

Configuring PIMv2 BSR

These sections describe how to set up BSR in your PIMv2 network:

- Defining the PIM Domain Border (optional)

- Defining the IP Multicast Boundary (optional)

- Configuring Candidate BSRs (optional)

- Configuring Candidate RPs (optional)

Defining the PIM Domain Border

As IP multicast becomes more widespread, the chance of one PIMv2 domain bordering another PIMv2 domain is increasing. Because these two domains probably do not share the same set of RPs, BSR, candidate RPs, and candidate BSRs, you need to constrain PIMv2 BSR messages from flowing into or out of the domain. Allowing these messages to leak across the domain borders could adversely affect the normal BSR election mechanism and elect a single BSR across all bordering domains and co-mingle candidate RP advertisements, resulting in the election of RPs in the wrong domain. This procedure is optional.

BEFORE YOU BEGIN

Review the “Bootstrap Router” section and “Guidelines and Limitations” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip pim bsr-border

Define a PIM bootstrap message boundary for the PIM domain.

Enter this command on each interface that connects to other bordering PIM domains. This command instructs the switch to neither send or receive PIMv2 BSR messages on this interface as shown in Figure 2-5.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the PIM border, use the no ip pim bsr-border interface configuration command.

Figure 2-5 Constraining PIMv2 BSR Messages

EXAMPLE

The following example configures the interface to be the PIM domain border:

interface ethernet 1

ip pim bsr-border

Defining the IP Multicast Boundary

You define a multicast boundary to prevent Auto-RP messages from entering the PIM domain. You create an access list to deny packets destined for 224.0.1.39 and 224.0.1.40, which carry Auto-RP information. This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About PIM” section and the “Guidelines and Limitations” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

access-list access-list-number deny source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , the range is 1 to 99.

- The deny keyword denies access if the conditions are matched.

- For source , enter multicast addresses 224.0.1.39 and 224.0.1.40, which carry Auto-RP information.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 3

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 4

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 5

ip multicast boundary access-list-number

Configure the boundary, specifying the access list you created in Step 2.

Step 6

end

Return to privileged EXEC mode.

Step 7

show running-config

Verify your entries.

Step 8

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the boundary, use the no ip multicast boundary interface configuration command.

EXAMPLE

This example shows a portion of an IP multicast boundary configuration that denies Auto-RP information:

Switch(config)# access-list 1 deny 224.0.1.39

Switch(config)# access-list 1 deny 224.0.1.40

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip multicast boundary 1

Configuring Candidate BSRs

You can configure one or more candidate BSRs. The devices serving as candidate BSRs should have good connectivity to other devices and be in the backbone portion of the network. This procedure is optional.

BEFORE YOU BEGIN

Enable PIM on the interface using the ip pim command as described in the “Configuring Basic Multicast Routing” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip pim bsr-candidate interface-id hash-mask-length [ priority ]

Configure your switch to be a candidate BSR.

- For interface-id, enter the interface on this switch from which the BSR address is derived to make it a candidate. This interface must be enabled with PIM. Valid interfaces include physical ports, port channels, and VLANs.

- For hash-mask-length , specify the mask length (32 bits maximum) that is to be ANDed with the group address before the hash function is called. All groups with the same seed hash correspond to the same RP. For example, if this value is 24, only the first 24 bits of the group addresses matter.

- (Optional) For priority , enter a number from 0 to 255. The BSR with the larger priority is preferred. If the priority values are the same, the device with the highest IP address is selected as the BSR. The default is 0.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove this device as a candidate BSR, use the no ip pim bsr-candidate global configuration command.

EXAMPLE

This example shows how to configure a candidate BSR, which uses the IP address 172.21.24.18 on a port as the advertised BSR address, uses 30 bits as the hash-mask-length, and has a priority of 10:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip address 172.21.24.18 255.255.255.0

Switch(config-if)# ip pim sparse-dense-mode

Switch(config-if)# ip pim bsr-candidate gigabitethernet0/2 30 10

Configuring Candidate RPs

You can configure one or more candidate RPs. Similar to BSRs, the RPs should also have good connectivity to other devices and be in the backbone portion of the network. An RP can serve the entire IP multicast address space or a portion of it. Candidate RPs send candidate RP advertisements to the BSR. When deciding which devices should be RPs, consider these options:

- In a network of Cisco routers and multilayer switches where only Auto-RP is used, any device can be configured as an RP.

- In a network that includes only Cisco PIMv2 routers and multilayer switches and with routers from other vendors, any device can be used as an RP.

- In a network of Cisco PIMv1 routers, Cisco PIMv2 routers, and routers from other vendors, configure only Cisco PIMv2 routers and multilayer switches as RPs.

This procedure is optional.

BEFORE YOU BEGIN

Enable PIM on the interface using the ip pim command as described in the “Configuring Basic Multicast Routing” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip pim rp-candidate interface-id [ group-list access-list-number ]

Configure your switch to be a candidate RP.

- For interface-id, specify the interface whose associated IP address is advertised as a candidate RP address. Valid interfaces include physical ports, port channels, and VLANs.

- (Optional) For group-list access-list-number , enter an IP standard access list number from 1 to 99. If no group-list is specified, the switch is a candidate RP for all groups.

Step 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , enter the access list number specified in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , enter the number of the network or host from which the packet is being sent.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove this device as a candidate RP, use the no ip pim rp-candidate interface-id global configuration command.

EXAMPLE

This example shows how to configure the switch to advertise itself as a candidate RP to the BSR in its PIM domain. Standard access list number 4 specifies the group prefix associated with the RP that has the address identified by a port. That RP is responsible for the groups with the prefix 239.

Switch(config)# ip pim rp-candidate gigabitethernet0/2 group-list 4

Switch(config)# access-list 4 permit 239.0.0.0 0.255.255.255

Using Auto-RP and a BSR

If there are only Cisco devices in you network (no routers from other vendors), there is no need to configure a BSR. Configure Auto-RP in a network that is running both PIMv1 and PIMv2.

If you have non-Cisco PIMv2 routers that need to interoperate with Cisco PIMv1 routers and multilayer switches, both Auto-RP and a BSR are required. We recommend that a Cisco PIMv2 router or multilayer switch be both the Auto-RP mapping agent and the BSR.

If you must have one or more BSRs, we have these recommendations:

- Configure the candidate BSRs as the RP-mapping agents for Auto-RP. For more information, see the “Configuring Auto-RP” section and the “Configuring Candidate BSRs” section.

- For group prefixes advertised through Auto-RP, the PIMv2 BSR mechanism should not advertise a subrange of these group prefixes served by a different set of RPs. In a mixed PIMv1 and PIMv2 domain, have backup RPs serve the same group prefixes. This prevents the PIMv2 DRs from selecting a different RP from those PIMv1 DRs, due to the longest match lookup in the RP-mapping database.

Follow this procedure to verify the consistency of group-to-RP mappings. This procedure is optional.

BEFORE YOU BEGIN

Review the “Auto-RP and BSR Configuration Guidelines” section.

DETAILED STEPS

Command

Purpose

Step 1

show ip pim rp [[ group-name | group-address ] | mapping ]

On any Cisco device, display the available RP mappings.

- (Optional) For group-name , specify the name of the group about which to display RPs.

- (Optional) For group-address , specify the address of the group about which to display RPs.

- (Optional) Use the mapping keyword to display all group-to-RP mappings of which the Cisco device is aware (either configured or learned from Auto-RP).

Step 2

show ip pim rp-hash group

On a PIMv2 router or multilayer switch, confirm that the same RP is the one that a PIMv1 system chooses.

For group , enter the group address for which to display RP information.

Monitoring the RP Mapping Information

To monitor the RP mapping information, use these commands in privileged EXEC mode:

- show ip pim bsr displays information about the elected BSR.

- show ip pim rp-hash group displays the RP that was selected for the specified group.

- show ip pim rp [ group-name | group-address | mapping ] displays how the switch learns of the RP (through the BSR or the Auto-RP mechanism).

Troubleshooting PIMv1 and PIMv2 Interoperability Problems

When debugging interoperability problems between PIMv1 and PIMv2, check these in the order shown:

1. Verify RP mapping with the show ip pim rp-hash privileged EXEC command, making sure that all systems agree on the same RP for the same group.

2. Verify interoperability between different versions of DRs and RPs. Make sure the RPs are interacting with the DRs properly (by responding with register-stops and forwarding decapsulated data packets from registers).

Configuring Advanced PIM Features

This section includes the following topics:

- Delaying the Use of PIM Shortest-Path Tree (optional)

- Modifying the PIM Router-Query Message Interval (optional)

Delaying the Use of PIM Shortest-Path Tree

The change from shared to source tree happens when the first data packet arrives at the last-hop router (Router C in Figure 2-4 in the “Information About PIM Shared Tree and Source Tree” section). This change occurs because the ip pim spt-threshold global configuration command controls that timing.

The shortest-path tree requires more memory than the shared tree but reduces delay. You might want to postpone its use. Instead of allowing the leaf router to immediately move to the shortest-path tree, you can specify that the traffic must first reach a threshold.

You can configure when a PIM leaf router should join the shortest-path tree for a specified group. If a source sends at a rate greater than or equal to the specified kbps rate, the multilayer switch triggers a PIM join message toward the source to construct a source tree (shortest-path tree). If the traffic rate from the source drops below the threshold value, the leaf router switches back to the shared tree and sends a prune message toward the source.

You can specify to which groups the shortest-path tree threshold applies by using a group list (a standard access list). If a value of 0 is specified or if the group list is not used, the threshold applies to all groups.

This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About PIM Shared Tree and Source Tree” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list.

- For access-list-number , the range is 1 to 99.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , specify the multicast group to which the threshold will apply.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 3

ip pim spt-threshold { kbps | infinity } [ group-list access-list-number ]

Specify the threshold that must be reached before moving to shortest-path tree (spt).

- For kbps , specify the traffic rate in kilobits per second. The default is 0 kbps.

Note Because of switch hardware limitations, 0 kbps is the only valid entry even though the range is 0 to 4294967.

- Specify infinity if you want all sources for the specified group to use the shared tree, never switching to the source tree.

- (Optional) For group-list access-list-number , specify the access list created in Step 2. If the value is 0 or if the group-list is not used, the threshold applies to all groups.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip pim spt-threshold { kbps | infinity } global configuration command.

EXAMPLE

The following example shows how to set a threshold of 4 kbps. If the traffic rate exceeds this threshold, the traffic to a group from a source causes the router to switch to the shortest path tree to that source.

Switch# configure terminal

Switch(config)# ip pim spt-threshold 4

Modifying the PIM Router-Query Message Interval

PIM routers and multilayer switches send PIM router-query messages to find which device will be the DR for each LAN segment (subnet). The DR is responsible for sending IGMP host-query messages to all hosts on the directly connected LAN.

With PIM DM operation, the DR has meaning only if IGMPv1 is in use. IGMPv1 does not have an IGMP querier election process, so the elected DR functions as the IGMP querier. With PIM SM operation, the DR is the device that is directly connected to the multicast source. It sends PIM register messages to notify the RP that multicast traffic from a source needs to be forwarded down the shared tree. In this case, the DR is the device with the highest IP address.

Follow this procedure to modify the router-query message interval. This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About PIM” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip pim query-interval seconds

Configure the frequency at which the switch sends PIM router-query messages.

The default is 30 seconds. The range is 1 to 65535.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip pim query-interval [ seconds ] interface configuration command.

EXAMPLE

The following example shows how to set the PIM hello interval to 45 seconds:

interface FastEthernet0/1

ip pim query-interval 45

Configuring Optional IGMP Features

This section includes the following topics:

- Default IGMP Configuration

- Configuring the Switch as a Member of a Group (optional)

- Controlling Access to IP Multicast Groups (optional)

- Changing the IGMP Version (optional)

- Modifying the IGMP Host-Query Message Interval (optional)

- Changing the IGMP Query Timeout for IGMPv2 (optional)

- Changing the Maximum Query Response Time for IGMPv2 (optional)

- Configuring the Switch as a Statically Connected Member (optional)

Default IGMP Configuration

Feature

Default Setting

Multilayer switch as a member of a multicast group

No group memberships are defined.

Access to multicast groups

All groups are allowed on an interface.

IGMP version

Version 2 on all interfaces.

IGMP host-query message interval

60 seconds on all interfaces.

IGMP query timeout

60 seconds on all interfaces.

IGMP maximum query response time

10 seconds on all interfaces.

Multilayer switch as a statically connected member

Disabled.

Configuring the Switch as a Member of a Group

You can configure the switch as a member of a multicast group and discover multicast reachability in a network. If all the multicast-capable routers and multilayer switches that you administer are members of a multicast group, pinging that group causes all these devices to respond. The devices respond to IGMP echo-request packets addressed to a group of which they are members. Another example is the multicast trace-route tools provided in the software.

This procedure is optional.

BEFORE YOU BEGIN

Caution Performing this procedure might impact the CPU performance because the CPU will receive all data traffic for the group address.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp join-group group-address

Configure the switch to join a multicast group.

By default, no group memberships are defined.

For group-address , specify the multicast IP address in dotted decimal notation.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To cancel membership in a group, use the no ip igmp join-group group-address interface configuration command.

EXAMPLE

This example shows how to enable the switch to join multicast group 255.2.2.2:

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip igmp join-group 255.2.2.2

Controlling Access to IP Multicast Groups

The switch sends IGMP host-query messages to find which multicast groups have members on attached local networks. The switch then forwards to these group members all packets addressed to the multicast group. You can place a filter on each interface to restrict the multicast groups that hosts on the subnet serviced by the interface can join.

This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About IGMP” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp access-group access-list-number

Specify the multicast groups that hosts on the subnet serviced by an interface can join.

By default, all groups are allowed on an interface.

For access-list-number , specify an IP standard access list number. The range is 1 to 99.

Step 5

exit

Return to global configuration mode.

Step 6

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list.

- For access-list-number , specify the access list created in Step 3.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , specify the multicast group that hosts on the subnet can join.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 7

end

Return to privileged EXEC mode.

Step 8

show ip igmp interface [ interface-id ]

Verify your entries.

Step 9

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable groups on an interface, use the no ip igmp access-group interface configuration command.

EXAMPLE

This example shows how to configure hosts attached to a port as able to join only group 255.2.2.2:

Switch(config)# access-list 1 255.2.2.2 0.0.0.0

Switch(config-if)# interface gigabitethernet0/1

Switch(config-if)# ip igmp access-group 1

Changing the IGMP Version

By default, the switch uses IGMP Version 2, which provides features such as the IGMP query timeout and the maximum query response time.

All systems on the subnet must support the same version. The switch does not automatically detect Version 1 systems and switch to Version 1. You can mix Version 1 and Version 2 hosts on the subnet because Version 2 routers or switches always work correctly with IGMPv1 hosts.

Configure the switch for Version 1 if your hosts do not support Version 2.

This procedure is optional.

BEFORE YOU BEGIN

Review the “Information About IGMP” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp version { 1 | 2 }

Specify the IGMP version that the switch uses.
interface configuration commands.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip igmp version interface configuration command.

EXAMPLE

The following example configures the router to use IGMP Version 2:

ip igmp version 2

Modifying the IGMP Host-Query Message Interval

The switch periodically sends IGMP host-query messages to discover which multicast groups are present on attached networks. These messages are sent to the all-hosts multicast group (224.0.0.1) with a time-to-live (TTL) of 1. The switch sends host-query messages to refresh its knowledge of memberships present on the network. If, after some number of queries, the software discovers that no local hosts are members of a multicast group, the software stops forwarding multicast packets to the local network from remote origins for that group and sends a prune message upstream toward the source.

The switch elects a PIM designated router (DR) for the LAN (subnet). The DR is the router or multilayer switch with the highest IP address for IGMPv2. For IGMPv1, the DR is elected according to the multicast routing protocol that runs on the LAN. The designated router is responsible for sending IGMP host-query messages to all hosts on the LAN. In sparse mode, the designated router also sends PIM register and PIM join messages toward the RP router.

This procedure is optional.

BEFORE YOU BEGIN

We recommend that you do not modify the IGMP query interval and IGMP querier timeout values. However, if you configure the appropriate commands to change the query interval and querier timeout default values, the following conditions apply:

- If you use the ip igmp query-interval command to configure the query interval, the timeout value is automatically adjusted to two times the query interval; the adjusted timeout value, however, is not reflected in the interface configuration.

Note To confirm that the timeout value adjusted to two times the modified query interval, use the show ip igmp interface command to display the query interval and timeout values being used for the interface.

- Conversely, if you use the ip igmp querier-timeout command to configure the timeout value, the query interval does not automatically adjust to half of the modified timeout value, so it is possible to override the default timeout period of two times the query interval. If you must configure the timeout period, we recommend that you configure the timeout value in proportion to the query interval value.

- The query interval must be greater than the IGMP maximum query response time. Use the ip igmp query-max-response-time command to change the maximum query response time value from the default (10 seconds) to a specified length of time, if required.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp query-interval seconds

Configure the frequency at which the designated router sends IGMP host-query messages.

By default, the designated router sends IGMP host-query messages every 60 seconds to keep the IGMP overhead very low on hosts and networks. The range is 1 to 65535.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip igmp query-interval interface configuration command.

EXAMPLE

The following example shows how to configure the switch to wait 240 seconds from the time it received the last query before it triggers the IGMP election process. In this example, the timeout period is manually modified in proportion to the IGMP query interval by using the ip igmp querier-timeout command.

interface GigabitEthernet1/1

ip igmp query-interval 120

ip igmp querier-timeout 240

The following example shows how to configure the switch to wait 250 seconds from the time it received the last query until the time that it triggers the IGMP election process. When the timeout value is explicitly configured, the query interval does not automatically adjust. Because the query interval was not explicitly configured to change the default value (60 seconds), the default timeout period of two times the query interval, or 120 seconds, is overridden by the specified value.

interface GigabitEthernet0/1

ip igmp querier-timeout 250

Changing the IGMP Query Timeout for IGMPv2

If you are using IGMPv2, you can specify the period of time before the switch takes over as the querier for the interface. By default, the switch waits twice the query interval controlled by the ip igmp query-interval interface configuration command. After that time, if the switch has received no queries, it becomes the querier.

You can configure the query interval by entering the show ip igmp interface interface-id privileged EXEC command. This procedure is optional.

BEFORE YOU BEGIN

We recommend that you do not modify the IGMP query interval and IGMP querier timeout values. However, if you configure the appropriate commands to change the query interval and querier timeout default values, the following conditions apply:

- If you use the ip igmp query-interval command to configure the query interval, the timeout value is automatically adjusted to two times the query interval; the adjusted timeout value, however, is not reflected in the interface configuration.

Note To confirm that the timeout value adjusted to two times the modified query interval, use the show ip igmp interface command to display the query interval and timeout values being used for the interface.

- Conversely, if you use the ip igmp querier-timeout command to configure the timeout value, the query interval does not automatically adjust to half of the modified timeout value, so it is possible to override the default timeout period of two times the query interval. If you must configure the timeout period, we recommend that you configure the timeout value in proportion to the query interval value.

- The query interval must be greater than the IGMP maximum query response time. Use the ip igmp query-max-response-time command to change the maximum query response time value from the default (10 seconds) to a specified length of time, if required.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp querier-timeout seconds

Specify the IGMP query timeout.

The default is 60 seconds (twice the query interval). The range is 60 to 300.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip igmp querier-timeout interface configuration command.

EXAMPLE

The following example shows how to configure the switch to wait 240 seconds from the time it received the last query before it triggers the IGMP election process. In this example, the timeout period is manually modified in proportion to the IGMP query interval by using the ip igmp querier-timeout command.

interface GigabitEthernet1/1

ip igmp query-interval 120

ip igmp querier-timeout 240

The following example shows how to configure the switch to wait 250 seconds from the time it received the last query until the time that it triggers the IGMP election process. When the timeout value is explicitly configured, the query interval does not automatically adjust. Because the query interval was not explicitly configured to change the default value (60 seconds), the default timeout period of two times the query interval, or 120 seconds, is overridden by the specified value.

interface GigabitEthernet0/1

ip igmp querier-timeout 250

Changing the Maximum Query Response Time for IGMPv2

If you are using IGMPv2, you can change the maximum query response time advertised in IGMP queries. The maximum query response time enables the switch to quickly detect that there are no more directly connected group members on a LAN. Decreasing the value enables the switch to prune groups faster.

This procedure is optional.

BEFORE YOU BEGIN

The query interval (see the “Modifying the IGMP Host-Query Message Interval” section) must be greater than the IGMP maximum query response time.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp query-max-response-time seconds

Change the maximum query response time advertised in IGMP queries.

The default is 10 seconds. The range is 1 to 25.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip igmp query-max-response-time interface configuration command.

EXAMPLE

The following example configures a maximum response time of 8 seconds:

ip igmp query-max-response-time 8

Configuring the Switch as a Statically Connected Member

Sometimes there is either no group member on a network segment or a host cannot report its group membership by using IGMP. However, you might want multicast traffic to go to that network segment. These are ways to pull multicast traffic down to a network segment:

- Use the ip igmp join-group interface configuration command. With this method, the switch accepts the multicast packets in addition to forwarding them. Accepting the multicast packets prevents the switch from fast switching.

- Use the ip igmp static-group interface configuration command. With this method, the switch does not accept the packets itself, but only forwards them. This method enables fast switching. The outgoing interface appears in the IGMP cache, but the switch itself is not a member, as evidenced by lack of an L (local) flag in the multicast route entry.

This procedure is optional.

BEFORE YOU BEGIN

If you configure the ip igmp join-group command for the same group address as the ip igmp static-group command, the ip igmp join-group command takes precedence, and the group behaves like a locally joined group.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp static-group group-address

Configure the switch as a statically connected member of a group.

By default, this feature is disabled.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp interface [ interface-id ]

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the switch as a member of the group, use the no ip igmp static-group group-address interface configuration command.

EXAMPLE

The following example shows how to configure group address 239.100.100.101 on Ethernet interface 0:

interface ethernet 0

ip igmp static-group 239.100.100.101

Configuring Optional Multicast Routing Features

This section includes the following topics:

- Configuring Session Directory Announcement Support (optional)—for MBONE multimedia conference session and set up

- Configuring an IP Multicast Boundary (optional)—to control bandwidth utilization.

Configuring Session Directory Announcement Support

The MBONE (multicast backbone of the Internet) is the small subset of Internet routers and hosts that are interconnected and capable of forwarding IP multicast traffic. Other multimedia content is often broadcast over the MBONE. Before you can join a multimedia session, you need to know what multicast group address and port are being used for the session, when the session is going to be active, and what sort of applications (audio, video, and so forth) are required on your workstation. The MBONE Session Directory Version 2 (sdr) tool provides this information. This freeware application can be downloaded from several sites on the World Wide Web, one of which is http://www.video.ja.net/mice/index.html.

SDR is a multicast application that listens to a well-known multicast group address and port for Session Announcement Protocol (SAP) multicast packets from SAP clients, which announce their conference sessions. These SAP packets contain a session description, the time the session is active, its IP multicast group addresses, media format, contact person, and other information about the advertised multimedia session. The information in the SAP packet is displayed in the SDR Session Announcement window.

Enabling Listening to Session Directory Announcements

By default, the switch does not listen to session directory advertisements. Follow this procedure to enable the switch to join the default session directory group (224.2.127.254) on the interface and listen to session directory advertisements. This procedure is optional.

BEFORE YOU BEGIN

Enable multicast routing on the interface as described in the “Configuring Basic Multicast Routing” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface on which the well-known session directory groups can receive and store session announcements, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip sap listen

Enable the switch to listen to session directory announcements.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable listening to session directory announcements, use the no ip sap listen interface configuration command.

EXAMPLE

The following example shows how to enable the switch to listen to session directory announcements:

ip routing

interface loopback 0

ip address 10.0.0.51 255.255.255.0

ip pim sparse-dense mode

ip sap listen

Limiting How Long an SAP Cache Entry Exists

You can limit how long an SAP entry remains active so that if a source stops advertising SAP information, old advertisements are not needlessly kept. This procedure is optional.

BEFORE YOU BEGIN

Setting the cache timeout to a value less than 30 minutes is not recommended.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip sap cache-timeout minutes

Limit how long an SAP cache entry stays active in the cache.

By default, session announcements remain for 1440 minutes (24 hours) in the cache.

For minutes , the range is 1 to 4294967295.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip sap cache-timeout global configuration command. To delete the entire cache, use the clear ip sap privileged EXEC command.

To display the session directory cache, use the show ip sap privileged EXEC command.

EXAMPLE

The following example causes SAP cache entries to remain in the cache for 30 minutes:

ip sap cache-timeout 30

Configuring an IP Multicast Boundary

Administratively-scoped boundaries can be used to limit the forwarding of multicast traffic outside of a domain or subdomain. This approach uses a special range of multicast addresses, called administratively-scoped addresses , as the boundary mechanism. If you configure an administratively-scoped boundary on a routed interface, multicast traffic whose multicast group addresses fall in this range cannot enter or exit this interface, thereby providing a firewall for multicast traffic in this address range.

Note Multicast boundaries and TTL thresholds control the scoping of multicast domains; however, TTL thresholds are not supported by the switch. You should use multicast boundaries instead of TTL thresholds to limit the forwarding of multicast traffic outside of a domain or a subdomain.

Figure 2-6 shows that Company XYZ has an administratively-scoped boundary set for the multicast address range 239.0.0.0/8 on all routed interfaces at the perimeter of its network. This boundary prevents any multicast traffic in the range 239.0.0.0 through 239.255.255.255 from entering or leaving the network. Similarly, the engineering and marketing departments have an administratively-scoped boundary of 239.128.0.0/16 around the perimeter of their networks. This boundary prevents multicast traffic in the range of 239.128.0.0 through 239.128.255.255 from entering or leaving their respective networks.

Figure 2-6 Administratively-Scoped Boundaries

You can define an administratively-scoped boundary on a routed interface for multicast group addresses. A standard access list defines the range of addresses affected. When a boundary is defined, no multicast data packets are allowed to flow across the boundary from either direction. The boundary allows the same multicast group address to be reused in different administrative domains.

The IANA has designated the multicast address range 239.0.0.0 to 239.255.255.255 as the administratively-scoped addresses. This range of addresses can then be reused in domains administered by different organizations. The addresses would be considered local, not globally unique.

This procedure is optional.

BEFORE YOU BEGIN

Enable multicast routing on the interface as described in the “Configuring Basic Multicast Routing” section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create a standard access list, repeating the command as many times as necessary.

- For access-list-number , the range is 1 to 99.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , enter the number of the network or host from which the packet is being sent.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 3

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 4

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 5

ip multicast boundary access-list-number

Configure the boundary, specifying the access list you created in Step 2.

Step 6

end

Return to privileged EXEC mode.

Step 7

show running-config

Verify your entries.

Step 8

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the boundary, use the no ip multicast boundary interface configuration command.

EXAMPLE

This example shows how to set up a boundary for all administratively-scoped addresses:

Switch(config)# access-list 1 deny 239.0.0.0 0.255.255.255

Switch(config)# access-list 1 permit 224.0.0.0 15.255.255.255

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip multicast boundary 1

Verifying Configuration

This section includes the following topics:

- Clearing Caches, Tables, and Databases

- Displaying System and Network Statistics

- Monitoring IP Multicast Routing

Clearing Caches, Tables, and Databases

You can remove all contents of a particular cache, table, or database. Clearing a cache, table, or database might be necessary when the contents of the particular structure are or suspected to be invalid.

Command

Purpose

clear ip igmp group [ group-name | group-address | interface ]

Delete entries from the IGMP cache.

clear ip mroute { * | group [ source ]}

Delete entries from the IP multicast routing table.

clear ip pim auto-rp rp-address

Clear the Auto-RP cache.

clear ip sdr [ group-address | “ session-nam e ” ]

Delete the Session Directory Protocol Version 2 cache or an sdr cache entry.

Displaying System and Network Statistics

You can display specific statistics, such as the contents of IP routing tables, caches, and databases.

Note This release does not support per-route statistics.

You can display information to learn resource utilization and solve network problems. You can also display information about node reachability and discover the routing path your device’s packets are taking through the network.

Command

Purpose

ping [ group-name | group-address ]

Send an ICMP Echo Request to a multicast group address.

show ip igmp groups [ group-name | group-address | type number ]

Display the multicast groups that are directly connected to the switch and that were learned through IGMP.

show ip igmp interface [ type number ]

Display multicast-related information about an interface.

show ip mcache [ group [ source ]]

Display the contents of the IP fast-switching cache.

show ip mpacket [ source-address | name ] [ group-address | name ] [ detail ]

Display the contents of the circular cache-header buffer.

show ip mroute [ group-name | group-address ] [ source ] [ summary ] [ count ] [ active kbps ]

Display the contents of the IP multicast routing table.

show ip pim interface [ type number ] [ count ]

Display information about interfaces configured for PIM.

show ip pim neighbor [ type number ]

List the PIM neighbors discovered by the switch.

show ip pim rp [ group-name | group-addres s ]

Display the RP routers associated with a sparse-mode multicast group.

show ip rpf { source-address | name }

Display how the switch is doing Reverse-Path Forwarding (that is, from the unicast routing table or static mroutes).

show ip sap [ group | “ session-name ” | detail ]

Display the Session Directory Protocol Version 2 cache.

Monitoring IP Multicast Routing

Command

Purpose

mrinfo [ hostname | address ] [ source-address | interface ]

Query a multicast router or multilayer switch about which neighboring multicast devices are peering with it.

mstat source [ destination ] [ group ]

Display IP multicast packet rate and loss information.

mtrace source [ destination ] [ group ]

Trace the path from a source to a destination branch for a multicast distribution tree for a given group.

Configuration Example

This example enables IP multicast distributed switching and specifies the PIM mode:

Switch# configure terminal

Switch(config)# ip multicast-routing distributed

Switch(config)# interface Gigabitethernet 1/0/0

Switch(config-if)# ip pim sparse-dense-mode

Switch(config-if)# end

In this example, IP multicast routing is enabled, Switch A PIM uplink port 25 is configured as a routed uplink port with spare-dense-mode enabled. PIM stub routing is enabled on the VLAN 100 interfaces and on Gigabit Ethernet port 20 inTo verify that PIM stub is enabled for each interface, use the show ip pim interface privileged EXEC command:

Switch# show ip pim interface

Address Interface Ver/ Nbr Query DR DR

Mode Count Intvl Prior

3.1.1.2 GigabitEthernet0/25 v2/SD 1 30 1 3.1.1.2

100.1.1.1 Vlan100 v2/P 0 30 1 100.1.1.1

10.1.1.1 GigabitEthernet0/20 v2/P 0 30 1 10.1.1.1

The following example shows how to configure a device (running IGMPv3) for SSM:

ip multicast-routing

ip pim ssm default

!

interface GigabitEthernet3/1/0

ip address 172.21.200.203 255.255.255.0

description backbone interface

ip pim sparse-mode

!

interface GigabitEthernet3/2/0

ip address 131.108.1.2 255.255.255.0

ip pim sparse-mode

description ethernet connected to hosts

ip igmp version 3

!

The following example shows how to enable static SSM mapping. In this example, the router is configured to statically map groups that match ACL 11 to source address 172.16.8.11 and to statically map groups that match ACL 10 to source address 172.16.8.10.

Switch(config)# ip igmp ssm-map enable

Switch(config)# ip igmp ssm-map static 11 172.16.8.11

Switch(config)# ip igmp ssm-map static 10 172.16.8.10

Switch(config)# end

The following example shows how to configure DNS-based SSM mapping:

Switch(config)# ip igmp ssm-map enable

Switch(config)# ip name-server 10.0.0.0

Switch(config)# end

The following example shows how to configure group address 239.1.2.1 to use SSM mapping for statically forwarded groups on Ethernet interface 0:

interface ethernet 0

ip igmp static-group 239.1.2.1 source ssm-map

This example shows how to configure the address of the RP to 147.106.6.22 for multicast group 225.2.2.2 only:

Switch(config)# access-list 1 permit 225.2.2.2 0.0.0.0

Switch(config)# ip pim rp-address 147.106.6.22 1

This example shows how to send RP announcements out all PIM-enabled interfaces for a maximum of 31 hops. The IP address of port 1 is the RP. Access list 5 describes the group for which this switch serves as RP:

Switch(config)# ip pim send-rp-announce gigabitethernet0/1 scope 31 group-list 5

Switch(config)# access-list 5 permit 224.0.0.0 15.255.255.255

This example shows a sample configuration on an Auto-RP mapping agent that is used to prevent candidate RP announcements from being accepted from unauthorized candidate RPs. In this example, the mapping agent accepts candidate RP announcements from only two devices, 172.16.5.1 and 172.16.2.1. The mapping agent accepts candidate RP announcements from these two devices only for multicast groups that fall in the group range of 224.0.0.0 to 239.255.255.255. The mapping agent does not accept candidate RP announcements from any other devices in the network. Furthermore, the mapping agent does not accept candidate RP announcements from 172.16.5.1 or 172.16.2.1 if the announcements are for any groups in the 239.0.0.0 through 239.255.255.255 range. This range is the administratively scoped address range.

Switch(config)# ip pim rp-announce-filter rp-list 10 group-list 20

Switch(config)# access-list 10 permit host 172.16.5.1

Switch(config)# access-list 10 permit host 172.16.2.1

Switch(config)# access-list 20 deny 239.0.0.0 0.0.255.255

Switch(config)# access-list 20 permit 224.0.0.0 15.255.255.255

The following example configures the interface to be the PIM domain border:

interface ethernet 1

ip pim bsr-border

This example shows a portion of an IP multicast boundary configuration that denies Auto-RP information:

Switch(config)# access-list 1 deny 224.0.1.39

Switch(config)# access-list 1 deny 224.0.1.40

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip multicast boundary 1

This example shows how to configure a candidate BSR, which uses the IP address 172.21.24.18 on a port as the advertised BSR address, uses 30 bits as the hash-mask-length, and has a priority of 10:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip address 172.21.24.18 255.255.255.0

Switch(config-if)# ip pim sparse-dense-mode

Switch(config-if)# ip pim bsr-candidate gigabitethernet0/2 30 10

This example shows how to configure the switch to advertise itself as a candidate RP to the BSR in its PIM domain. Standard access list number 4 specifies the group prefix associated with the RP that has the address identified by a port. That RP is responsible for the groups with the prefix 239.

Switch(config)# ip pim rp-candidate gigabitethernet0/2 group-list 4

Switch(config)# access-list 4 permit 239.0.0.0 0.255.255.255

The following example shows how to set a threshold of 4 kbps. If the traffic rate exceeds this threshold, the traffic to a group from a source causes the router to switch to the shortest path tree to that source.

Switch# configure terminal

Switch(config)# ip pim spt-threshold 4

The following example shows how to set the PIM hello interval to 45 seconds:

interface FastEthernet0/1

ip pim query-interval 45

This example shows how to enable the switch to join multicast group 255.2.2.2:

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip igmp join-group 255.2.2.2

The following example configures the router to use IGMP Version 2:

ip igmp version 2

The following example shows how to configure the switch to wait 240 seconds from the time it received the last query before it triggers the IGMP election process. In this example, the timeout period is manually modified in proportion to the IGMP query interval by using the ip igmp querier-timeout command.

interface GigabitEthernet1/1

ip igmp query-interval 120

ip igmp querier-timeout 240

The following example shows how to configure the switch to wait 250 seconds from the time it received the last query until the time that it triggers the IGMP election process. When the timeout value is explicitly configured, the query interval does not automatically adjust. Because the query interval was not explicitly configured to change the default value (60 seconds), the default timeout period of two times the query interval, or 120 seconds, is overridden by the specified value.

interface GigabitEthernet0/1

ip igmp querier-timeout 250

The following example configures a maximum response time of 8 seconds:

ip igmp query-max-response-time 8

The following example shows how to configure group address 239.100.100.101 on Ethernet interface 0:

interface ethernet 0

ip igmp static-group 239.100.100.101

The following example shows how to enable the switch to listen to session directory announcements:

ip routing

interface loopback 0

ip address 10.0.0.51 255.255.255.0

ip pim sparse-dense mode

ip sap listen

The following example causes SAP cache entries to remain in the cache for 30 minutes:

ip sap cache-timeout 30

This example shows how to set up a boundary for all administratively-scoped addresses:

Switch(config)# access-list 1 deny 239.0.0.0 0.255.255.255

Switch(config)# access-list 1 permit 224.0.0.0 15.255.255.255

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip multicast boundary 1

Related Documents

- Cisco IOS IP Multicast Command Reference

- IP Multicast Configuration Guide Library, Cisco IOS Release 15M&T

- Unicast Routing Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

- Interfaces Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

- Security Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

- Cisco IOS Master Command List, All Releases

Feature History

Platform

First Supported Release

IE 2000U

Cisco IOS Release 15.0(2)EH

CGS 2520

Cisco IOS Release 12.2(53)EX

Ethernet Switch Module (ESM) for CGR 2010

Cisco IOS Release 12.2(53)EX

Configuring IGMP Snooping and MVR

This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping and an application of local IGMP snooping, Multicast VLAN Registration (MVR), on the Cisco Industrial Ethernet 2000U Series (IE 2000U) and Connected Grid Switches, hereafter referred to as switch . This chapter also includes procedures for controlling multicast group membership by using IGMP filtering and procedures for configuring the IGMP throttling action.

Note For complete syntax and usage information for the commands used in this chapter, see the documents listed in the “Related Documents” section.

- Information About IGMP Snooping

- Information About Multicast VLAN Registration

- Prerequisites

- Guidelines and Limitations

- Default Settings

- Configuring IGMP Snooping

- Configuring MVR

- Configuring IGMP Filtering and Throttling

- Verifying Configuration

- Configuration Example

- Related Documents

- Feature History

Note You can either manage IP multicast group addresses through features such as IGMP snooping and MVR, or you can use static IP addresses.

Information About IGMP Snooping

Layer 2 switches can use IGMP snooping to constrain the flooding of multicast traffic by dynamically configuring Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast devices. As the name implies, IGMP snooping requires the LAN switch to snoop on the IGMP transmissions between the host and the router and to keep track of multicast groups and member ports. When the switch receives an IGMP report from a host for a particular multicast group, the switch adds the host port number to the forwarding table entry; when it receives an IGMP Leave Group message from a host, it removes the host port from the table entry. It also periodically deletes entries if it does not receive IGMP membership reports from the multicast clients.

Note For more information on IP multicast and IGMP, see RFC 1112 and RFC 2236.

The multicast router sends out periodic general queries to all VLANs. All hosts interested in this multicast traffic send join requests and are added to the forwarding table entry. The switch creates one entry per VLAN in the IGMP snooping IP multicast forwarding table for each group from which it receives an IGMP join request.

The switch supports IP multicast group-based bridging, rather than MAC-addressed based groups. With multicast MAC address-based groups, if an IP address being configured translates (aliases) to a previously configured MAC address or to any reserved multicast MAC addresses (in the range 224.0.0.xxx), the command fails. Because the switch uses IP multicast groups, there are no address aliasing issues.

The IP multicast groups learned through IGMP snooping are dynamic. However, you can statically configure multicast groups by using the ip igmp snooping vlan vlan-id static ip_address interface interface-id global configuration command. If you specify group membership for a multicast group address statically, your setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can consist of both user-defined and IGMP snooping-learned settings.

You can configure an IGMP snooping querier to support IGMP snooping in subnets without multicast interfaces because the multicast traffic does not need to be routed. For more information about the IGMP snooping querier, see the “Configuring the IGMP Snooping Querier” section.

If a port spanning-tree, a port group, or a VLAN ID change occurs, the IGMP snooping-learned multicast groups from this port on the VLAN are deleted.

These sections describe IGMP snooping characteristics:

- IGMP Versions

- Joining a Multicast Group

- Leaving a Multicast Group

- Immediate Leave

- IGMP Configurable-Leave Timer

- IGMP Report Suppression

IGMP Versions

The switch supports IGMP Version 1, IGMP Version 2, and IGMP Version 3. These versions are interoperable on the switch. For example, if IGMP snooping is enabled on an IGMPv2 switch and the switch receives an IGMPv3 report from a host, the switch can forward the IGMPv3 report to the multicast router.

Note The switches support IGMPv3 snooping based only on the destination multicast MAC address. They do not support snooping based on the source MAC address or on proxy reports.

An IGMPv3 switch supports Basic IGMPv3 Snooping Support (BISS), which includes support for the snooping features on IGMPv1 and IGMPv2 switches and for IGMPv3 membership report messages. BISS constrains the flooding of multicast traffic when your network includes IGMPv3 hosts. It constrains traffic to approximately the same set of ports as the IGMP snooping feature on IGMPv2 or IGMPv1 hosts.

Note IGMPv3 join and leave messages are not supported on switches running IGMP filtering or MVR.

An IGMPv3 switch can receive messages from and forward messages to a device running the Source Specific Multicast (SSM) feature. For more information about source-specific multicast with IGMPv3 and IGMP, see the “Information About Source-Specific Multicast” section.

Joining a Multicast Group

When a host connected to the switch wants to join an IP multicast group and it is an IGMP Version 2 client, it sends an unsolicited IGMP join message, specifying the IP multicast group to join. Alternatively, when the switch receives a general query from the router, it forwards the query to all ports in the VLAN. IGMP Version 1 or Version 2 hosts wanting to join the multicast group respond by sending a join message to the switch. The switch CPU creates a multicast forwarding-table entry for the group if it is not already present. The CPU also adds the interface where the join message was received to the forwarding-table entry. The host associated with that interface receives multicast traffic for that multicast group. See Figure 3-1.

Figure 3-1 Initial IGMP Join Message

Router A sends a general query to the switch, which forwards the query to ports 2 through 5, which are all members of the same VLAN. Host 1 wants to join multicast group 224.1.2.3 and multicasts an IGMP membership report (IGMP join message) to the group. The switch CPU uses the information in the IGMP report to set up a forwarding-table entry, as shown in Table 3-1 , that includes the port numbers connected to Host 1 and the router.

Table 3-1 IGMP Snooping Forwarding Table

Destination Address

Type of Packet

Ports

224.1.2.3

IGMP

1, 2

The switch hardware can distinguish IGMP information packets from other packets for the multicast group. The information in the table tells the switching engine to send frames addressed to the 224.1.2.3 multicast IP address that are not IGMP packets to the router and to the host that has joined the group.

If another host (for example, Host 4) sends an unsolicited IGMP join message for the same group (Figure 3-2), the CPU receives that message and adds the port number of Host 4 to the forwarding table as shown in Table 3-2 . Note that because the forwarding table directs IGMP messages to only the CPU, the message is not flooded to other ports on the switch. Any known multicast traffic is forwarded to the group and not to the CPU.

Figure 3-2 Second Host Joining a Multicast Group

Table 3-2 Updated IGMP Snooping Forwarding Table

Destination Address

Type of Packet

Ports

224.1.2.3

IGMP

1, 2, 5

Multicast-capable router ports are added to the forwarding table for every Layer 2 multicast entry. The switch learns of such ports through one of these methods:

- Snooping on IGMP queries and Protocol Independent Multicast (PIM) packets

- Statically connecting to a multicast router port with the ip igmp snooping mrouter global configuration command

Leaving a Multicast Group

The router sends periodic multicast general queries, and the switch forwards these queries through all ports in the VLAN. Interested hosts respond to the queries. If at least one host in the VLAN wishes to receive multicast traffic, the router continues forwarding the multicast traffic to the VLAN. The switch forwards multicast group traffic only to those hosts listed in the forwarding table for that IP multicast group maintained by IGMP snooping.

When hosts want to leave a multicast group, they can silently leave, or they can send a leave message. When the switch receives a leave message from a host, it sends a group-specific query to learn if any other devices connected to that interface are interested in traffic for the specific multicast group. The switch then updates the forwarding table for that MAC group so that only those hosts interested in receiving multicast traffic for the group are listed in the forwarding table. If the router receives no reports from a VLAN, it removes the group for the VLAN from its IGMP cache.

Immediate Leave

Immediate Leave is only supported on IGMP Version 2 hosts.

The switch uses IGMP snooping Immediate Leave to remove from the forwarding table an interface that sends a leave message without the switch sending group-specific queries to the interface. The VLAN interface is pruned from the multicast tree for the multicast group specified in the original leave message. Immediate Leave ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are simultaneously in use.

Note You should only use the Immediate Leave feature on VLANs where a single host is connected to each port. If Immediate Leave is enabled in VLANs where more than one host is connected to a port, some hosts might inadvertently be dropped.

For configuration steps, see the “Enabling IGMP Immediate Leave” section.

IGMP Configurable-Leave Timer

You can configure the time that the switch waits after sending a group-specific query to determine if hosts are still interested in a specific multicast group. The IGMP leave response time can be configured from 100 to 5000 milliseconds. The timer can be set either globally or on a per-VLAN basis. The VLAN configuration of the leave time overrides the global configuration.

For configuration steps, see the “Configuring the IGMP Leave Timer” section.

IGMP Report Suppression

Note IGMP report suppression is supported only when the multicast query has IGMPv1 and IGMPv2 reports. This feature is not supported when the query includes IGMPv3 reports.

The switch uses IGMP report suppression to forward only one IGMP report per multicast router query to multicast devices. When IGMP router suppression is enabled (the default), the switch sends the first IGMP report from all hosts for a group to all the multicast routers. The switch does not send the remaining IGMP reports for the group to the multicast routers. This feature prevents duplicate reports from being sent to the multicast devices.

If the multicast router query includes requests only for IGMPv1 and IGMPv2 reports, the switch forwards only the first IGMPv1 or IGMPv2 report from all hosts for a group to all the multicast routers.

If the multicast router query also includes requests for IGMPv3 reports, the switch forwards all IGMPv1, IGMPv2, and IGMPv3 reports for a group to the multicast devices.

If you disable IGMP report suppression, all IGMP reports are forwarded to the multicast routers. For configuration steps, see the “Disabling IGMP Report Suppression” section.

Information About Multicast VLAN Registration

Multicast VLAN Registration (MVR) is designed for applications using wide-scale deployment of multicast traffic across an Ethernet ring-based service-provider network (for example, the broadcast of multiple television channels over a service-provider network). MVR allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide multicast VLAN. It allows the single multicast VLAN to be shared in the network while subscribers remain in separate VLANs. MVR provides the ability to continuously send multicast streams in the multicast VLAN, but to isolate the streams from the subscriber VLANs for bandwidth and security reasons.

MVR assumes that subscriber ports subscribe and unsubscribe (join and leave) these multicast streams by sending out IGMP join and leave messages. These messages can originate from an IGMP Version-2-compatible host with an Ethernet connection. Although MVR operates on the underlying mechanism of IGMP snooping, the two features operate independently of each other. One can be enabled or disabled without affecting the behavior of the other feature. However, if IGMP snooping and MVR are both enabled, MVR reacts only to join and leave messages from multicast groups configured under MVR. Join and leave messages from all other multicast groups are managed by IGMP snooping.

The switch CPU identifies the MVR IP multicast streams and their associated IP multicast group in the switch forwarding table, intercepts the IGMP messages, and modifies the forwarding table to include or remove the subscriber as a receiver of the multicast stream, even though the receivers might be in a different VLAN from the source. This forwarding behavior selectively allows traffic to cross between different VLANs.

You can set the switch for compatible or dynamic mode of MVR operation:

- In compatible mode, multicast data received by MVR hosts is forwarded to all MVR data ports, regardless of MVR host membership on those ports. The multicast data is forwarded only to those receiver ports that MVR hosts have joined, either by IGMP reports or by MVR static configuration. IGMP reports received from MVR hosts are never forwarded from MVR data ports that were configured in the switch.

- In dynamic mode, multicast data received by MVR hosts on the switch is forwarded from only those MVR data and client ports that the MVR hosts have joined, either by IGMP reports or by MVR static configuration. Any IGMP reports received from MVR hosts are also forwarded from all the MVR data ports in the switch. This eliminates using unnecessary bandwidth on MVR data port links, which occurs when the switch runs in compatible mode.

Only Layer 2 ports take part in MVR. You must configure ports as MVR receiver ports. Only one MVR multicast VLAN per switch is supported.

Using MVR in a Multicast Television Application

In a multicast television application, a PC or a television with a set-top box can receive the multicast stream. Multiple set-top boxes or PCs can be connected to one subscriber port, which is a switch port configured as an MVR receiver port. Figure 3-3 is an example configuration. DHCP assigns an IP address to the set-top box or the PC. When a subscriber selects a channel, the set-top box or PC sends an IGMP report to Switch A to join the appropriate multicast. If the IGMP report matches one of the configured IP multicast group addresses, the switch CPU modifies the hardware address table to include this receiver port and VLAN as a forwarding destination of the specified multicast stream when it is received from the multicast VLAN. Uplink ports that send and receive multicast data to and from the multicast VLAN are called MVR source ports.

Figure 3-3 Multicast VLAN Registration Example

When a subscriber changes channels or turns off the television, the set-top box sends an IGMP leave message for the multicast stream. The switch CPU sends a MAC-based general query through the receiver port VLAN. If there is another set-top box in the VLAN still subscribing to this group, that set-top box must respond within the maximum response time specified in the query. If the CPU does not receive a response, it eliminates the receiver port as a forwarding destination for this group.

Without Immediate Leave, when the switch receives an IGMP leave message from a subscriber on a receiver port, it sends out an IGMP query on that port and waits for IGMP group membership reports. If no reports are received in a configured time period, the receiver port is removed from multicast group membership. With Immediate Leave, an IGMP query is not sent from the receiver port on which the IGMP leave was received. As soon as the leave message is received, the receiver port is removed from multicast group membership, which speeds up leave latency. Enable the Immediate-Leave feature only on receiver ports to which a single receiver device is connected.

MVR eliminates the need to duplicate television-channel multicast traffic for subscribers in each VLAN. Multicast traffic for all channels is only sent around the VLAN trunk once—only on the multicast VLAN. The IGMP leave and join messages are in the VLAN to which the subscriber port is assigned. These messages dynamically register for streams of multicast traffic in the multicast VLAN on the Layer 3 device. Switch B. The access layer switch, Switch A, modifies the forwarding behavior to allow the traffic to be forwarded from the multicast VLAN to the subscriber port in a different VLAN, selectively allowing traffic to cross between two VLANs.

IGMP reports are sent to the same IP multicast group address as the multicast data. The Switch A CPU must capture all IGMP join and leave messages from receiver ports and forward them to the multicast VLAN of the source (uplink) port, based on the MVR mode.

Prerequisites

Review the “Information About IGMP Snooping” section and “Information About Multicast VLAN Registration” section.

Guidelines and Limitations

MVR

- Receiver ports on a switch can be in different VLANs, but they should not belong to the multicast VLAN.

- Trunk ports or access ports can be configured as receiver ports.

- When MVR mode is compatible (the default), you can configure only 512 MVR groups.

- When MVR mode is dynamic, the maximum number of multicast entries (MVR group addresses) that can be configured on a switch is 2000. The maximum number of simultaneous active multicast streams (that is, the maximum number of television channels that can be receiving) is 512. When this limit is reached, a message is generated that the Maximum hardware limit of groups had been reached . Note that a hardware entry occurs when there is an IGMP join on a port or when you have configured the port to join a group by entering the mvr vlan vlan-id group ip-address interface configuration command.

- The maximum number of multicast entries (MVR group addresses) that can be configured on a switch (that is, the maximum number of television channels that can be received) is 512.

- MVR multicast data received in the source VLAN and leaving from receiver ports has its time-to-live (TTL) decremented by 1 in the switch.

- Because MVR on the switch uses IP multicast addresses instead of MAC multicast addresses, aliased IP multicast addresses are allowed on the switch. However, if the switch is interoperating with Catalyst 3550 or Catalyst 3500 XL switches, you should not configure IP addresses that alias between themselves or with the reserved IP multicast addresses (in the range 224.0.0.xxx).

- Do not configure MVR on private VLAN ports.

- MVR is not supported when multicast routing is enabled on a switch. If you enable multicast routing and a multicast routing protocol while MVR is enabled, MVR is disabled, and you receive a warning message. If you try to enable MVR while multicast routing and a multicast routing protocol are enabled, the operation to enable MVR is cancelled, and you receive an error message.

- MVR can coexist with IGMP snooping on a switch.

- MVR data received on an MVR receiver port is not forwarded to MVR source ports.

- MVR does not support IGMPv3 messages.

- You can enter the mvr ringmode flood global configuration to ensure that data forwarding in a ring topology is limited to ports detected as members and excludes forwarding to multicast router ports. This prevents unicast traffic from being dropped in a ring environment when MVR multicast traffic flows in one direction and unicast traffic flows in the other direction.

Default Settings

Feature

Default Setting

IGMP Snooping

IGMP snooping

Enabled globally and per VLAN

Multicast routers

None configured

Multicast router learning (snooping) method

PIM

IGMP snooping Immediate Leave

Disabled

Static groups

None configured

TCN1 flood query count

2

TCN query solicitation

Disabled

IGMP snooping querier

Disabled

IGMP report suppression

Enabled

MVR

MVR

Disabled globally and per interface

Multicast addresses

None configured

Query response time

0.5 second

Multicast VLAN

VLAN 1

Mode

Compatible

Interface (per port) default

Neither a receiver nor a source port

Immediate Leave

Disabled on all ports

IGMP Filtering and Throttling

IGMP filters

None applied

IGMP maximum number of IGMP groups

No maximum set

IGMP profiles

None defined

IGMP profile action

Deny the range addresses

1.TCN = Topology Change Notification

Configuring IGMP Snooping

IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on their content.

- Enabling or Disabling IGMP Snooping

- Configuring a Multicast Router Port

- Configuring a Host Statically to Join a Group

- Enabling IGMP Immediate Leave

- Configuring the IGMP Leave Timer

- Configuring TCN-Related Commands

- Configuring the IGMP Snooping Querier

- Disabling IGMP Report Suppression

Enabling or Disabling IGMP Snooping

By default, IGMP snooping is globally enabled on the switch. When globally enabled or disabled, it is also enabled or disabled in all existing VLAN interfaces. IGMP snooping is by default enabled on all VLANs, but can be enabled and disabled on a per-VLAN basis.

Enabling IGMP Snooping

BEFORE YOU BEGIN

Global IGMP snooping overrides the VLAN IGMP snooping. If global snooping is disabled, you cannot enable VLAN snooping. If global snooping is enabled, you can enable or disable VLAN snooping.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping

Globally enable IGMP snooping in all existing VLAN interfaces.

Step 3

end

Return to privileged EXEC mode.

Step 4

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To globally disable IGMP snooping on all VLAN interfaces, use the no ip igmp snooping global configuration command.

EXAMPLE

This example shows how to enable IGMP snooping globally:

Switch(config)# ip igmp snooping

Switch(config)# end

Enabling IGMP Snooping on a VLAN Interface

BEFORE YOU BEGIN

Enable IGMP snooping globally.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping vlan vlan-id

Enable IGMP snooping on the VLAN interface.The VLAN ID range is 1 to 1001 and 1006 to 4094.

Note IGMP snooping must be globally enabled before you can enable VLAN snooping.

Step 3

end

Return to privileged EXEC mode.

Step 4

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable IGMP snooping on a VLAN interface, use the no ip igmp snooping vlan vlan-id global configuration command for the specified VLAN number .

EXAMPLE

This example shows how to enable IGMP snooping on a VLAN:

Switch(config)# ip igmp snooping vlan 100

Switch(config)# end

Configuring a Multicast Router Port

To add a multicast router port (add a static connection to a multicast router), use the ip igmp snooping vlan mrouter global configuration command on the switch.

BEFORE YOU BEGIN

Note Static connections to multicast routers are supported only on switch ports.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping vlan vlan-id mrouter interface interface-id

Specify the multicast router VLAN ID and the interface to the multicast router.

- The VLAN ID range is 1 to 1001 and 1006 to 4094.

- The interface can be a physical interface or a port channel. The port-channel range is 1 to 48.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping mrouter [ vlan vlan-id ]

Verify that IGMP snooping is enabled on the VLAN interface.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove a multicast router port from the VLAN, use the no ip igmp snooping vlan vlan-id mrouter interface interface-id global configuration command.

EXAMPLE

This example shows how to enable a static connection to a multicast router:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet0/2

Switch(config)# end

Configuring a Host Statically to Join a Group

Hosts or Layer 2 ports normally join multicast groups dynamically, but you can also statically configure a host on an interface. Follow this procedure to add a Layer 2 port as a member of a multicast group.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping vlan vlan-id static ip_address interface interface-id

Statically configure a Layer 2 port as a member of a multicast group:

- vlan-id is the multicast group VLAN ID. The range is 1 to 1001 and 1006 to 4094.

- ip-address is the group IP address.

- interface-id is the member port. It can be a physical interface or a port channel (1 to 48).

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping groups

Verify the member port and the IP address.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the Layer 2 port from the multicast group, use the no ip igmp snooping vlan vlan-id static mac-address interface interface-id global configuration command.

EXAMPLE

This example shows how to statically configure a host on a port:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet0/1

Switch(config)# end

Enabling IGMP Immediate Leave

When you enable IGMP Immediate Leave, the switch immediately removes a port when it detects an IGMP Version 2 leave message on that port. You should only use the Immediate-Leave feature when there is a single receiver present on every port in the VLAN.

BEFORE YOU BEGIN

Note Immediate Leave is supported only on IGMP Version 2 hosts.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping vlan vlan-id immediate-leave

Enable IGMP Immediate Leave on the VLAN interface.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping vlan vlan-id

Verify that Immediate Leave is enabled on the VLAN interface.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable IGMP Immediate Leave on a VLAN, use the no ip igmp snooping vlan vlan-id immediate-leave global configuration command.

EXAMPLE

This example shows how to enable IGMP Immediate Leave on VLAN 130:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 130 immediate-leave

Switch(config)# end

Configuring the IGMP Leave Timer

BEFORE YOU BEGIN

Follow these guidelines when configuring the IGMP leave timer:

- You can configure the leave time globally or on a per-VLAN basis.

- Configuring the leave time on a VLAN overrides the global setting.

- The default leave time is 1000 milliseconds.

- The IGMP configurable leave time is only supported on hosts running IGMP Version 2.

- The actual leave latency in the network is usually the configured leave time. However, the leave time might vary around the configured time, depending on real-time CPU load conditions, network delays and the amount of traffic sent through the interface.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping last-member-query-interval time

Configure the IGMP leave timer globally. The range is 100 to 32768 milliseconds. The default is 1000 seconds.

Step 3

ip igmp snooping vlan vlan-id last-member-query-interval time

(Optional) Configure the IGMP leave time on the VLAN interface. The range is 100 to 32768 milliseconds.

Note Configuring the leave time on a VLAN overrides the globally configured timer.

Step 4

end

Return to privileged EXEC mode.

Step 5

show ip igmp snooping

(Optional) Display the configured IGMP leave time.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no ip igmp snooping last-member-query-interva l global configuration command to globally reset the IGMP leave timer to the default setting.

Use the no ip igmp snooping vlan vlan-id last-member-query-interval global configuration command to remove the configured IGMP leave-time setting from the specified VLAN.

EXAMPLE

The following example changes the IGMP group-specific host query message interval to 2000 milliseconds (2 seconds):

interface tunnel 0

ip igmp last-member-query-interval 2000

Configuring TCN-Related Commands

These sections describe how to control flooded multicast traffic during a Topology Change Notification (TCN) event:

- Controlling the Multicast Flooding Time After a TCN Event

- Recovering from Flood Mode

- Disabling Multicast Flooding During a TCN Event

Controlling the Multicast Flooding Time After a TCN Event

You can control the time that multicast traffic is flooded after a TCN event by using the ip igmp snooping tcn flood query count global configuration command. This command configures the number of general queries for which multicast data traffic is flooded after a TCN event. Some examples of TCN events are the client changed its location and the receiver is on same port that was blocked but is now forwarding, and a port went down without sending a leave message.

If you set the TCN flood query count to 1 by using the ip igmp snooping tcn flood query count command, the flooding stops after receiving one general query. If you set the count to 7, the flooding of multicast traffic due to the TCN event lasts until 7 general queries are received. Groups are relearned based on the general queries received during the TCN event.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping tcn flood query count count

Specify the number of IGMP general queries for which the multicast traffic is flooded. The range is 1 to 10. By default, the flooding query count is 2.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping

Verify the TCN settings.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default flooding query count, use the no ip igmp snooping tcn flood query count global configuration command.

EXAMPLE

This example sets the flooding query count to 5:

Switch(config)# ip igmp snooping tcn flood query count 5

Switch(config)#

Recovering from Flood Mode

When a topology change occurs, the spanning-tree root sends a special IGMP leave message (also known as global leave) with the group multicast address 0.0.0.0. However, when you enable the ip igmp snooping tcn query solicit global configuration command, the switch sends the global leave message whether or not it is the spanning-tree root. When the router receives this special leave, it immediately sends general queries, which expedite the process of recovering from the flood mode during the TCN event. Leaves are always sent if the switch is the spanning-tree root regardless of this configuration command. By default, query solicitation is disabled.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping tcn query solicit

Send an IGMP leave message (global leave) to speed the process of recovering from the flood mode caused during a TCN event. By default, query solicitation is disabled.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping

Verify the TCN settings.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default query solicitation, use the no ip igmp snooping tcn query solicit global configuration command.

EXAMPLE

This example shows how to enable query solicitation:

Switch(config)# ip igmp snooping tcn query solicit

Disabling Multicast Flooding During a TCN Event

When the switch receives a TCN, multicast traffic is flooded to all the ports until two general queries are received. If the switch has many ports with attached hosts that are subscribed to different multicast groups, the flooding might exceed the capacity of the link and cause packet loss. You can use the ip igmp snooping tcn flood interface configuration command to control this behavior.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode.

Step 3

no shutdown

Enable the port, if necessary. By default, user network interfaces (UNIs) and enhanced network interfaces (ENIs) are disabled, and network node interfaces (NNIs) are enabled.

Step 4

no ip igmp snooping tcn flood

Disable the flooding of multicast traffic during a spanning-tree TCN event.

By default, multicast flooding is enabled on an interface.

Step 5

exit

Return to privileged EXEC mode.

Step 6

show ip igmp snooping

Verify the TCN settings.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To re-enable multicast flooding on an interface, use the ip igmp snooping tcn flood interface configuration command.

EXAMPLE

This example shows how to disable multicast flooding during a a spanning-tree TCN event:

Switch(config)# interface ethernet 1

Switch(config-if)# no ip igmp snooping tcn flood

Configuring the IGMP Snooping Querier

BEFORE YOU BEGIN

Follow these guidelines when configuring the IGMP snooping querier:

- Configure the VLAN in global configuration mode.

- Configure an IP address on the VLAN interface. When enabled, the IGMP snooping querier uses the IP address as the query source address.

- If there is no IP address configured on the VLAN interface, the IGMP snooping querier tries to use the configured global IP address for the IGMP querier. If there is no global IP address specified, the IGMP querier tries to use the VLAN switch virtual interface (SVI) IP address (if one exists). If there is no SVI IP address, the switch uses the first available IP address configured on the switch. The first IP address available appears in the output of the show ip interface privileged EXEC command. The IGMP snooping querier does not generate an IGMP general query if it cannot find an available IP address on the switch.

- The IGMP snooping querier supports IGMP Versions 1 and 2.

- When administratively enabled, the IGMP snooping querier moves to the nonquerier state if it detects the presence of a multicast router in the network.

- When it is administratively enabled, the IGMP snooping querier moves to the operationally disabled state under these conditions:

– IGMP snooping is disabled in the VLAN.

– PIM is enabled on the SVI of the corresponding VLAN.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp snooping querier

Enable the IGMP snooping querier.

Step 3

ip igmp snooping querier ip_address

(Optional) Specify an IP address for the IGMP snooping querier. If you do not specify an IP address, the querier tries to use the global IP address configured for the IGMP querier.

Note The IGMP snooping querier does not generate an IGMP general query if it cannot find an IP address on the switch.

Step 4

ip igmp snooping querier query-interval interval-count

(Optional) Set the interval between IGMP queriers. The range is 1 to 18000 seconds.

Step 5

ip igmp snooping querier tcn query [ count count | interval interval ]

(Optional) Set the time between Topology Change Notification (TCN) queries. The count range is 1 to 10. The interval range is 1 to 255 seconds.

Step 6

ip igmp snooping querier timer expiry timeout

(Optional) Set the length of time until the IGMP querier expires.The range is 60 to 300 seconds.

Step 7

ip igmp snooping querier version version

(Optional) Select the IGMP version number that the querier feature uses. Select 1 or 2.

Step 8

end

Return to privileged EXEC mode.

Step 9

show ip igmp snooping vlan vlan-id

(Optional) Verify that the IGMP snooping querier is enabled on the VLAN interface. The VLAN ID range is 1 to 1001 and 1006 to 4094.

Step 10

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

This example shows how to set the IGMP snooping querier source address to 10.0.0.64:

Switch# configure terminal

Switch(config)# ip igmp snooping querier 10.0.0.64

Switch(config)# end

This example shows how to set the IGMP snooping querier maximum response time to 25 seconds:

Switch# configure terminal

Switch(config)# ip igmp snooping querier query-interval 25

Switch(config)# end

This example shows how to set the IGMP snooping querier timeout to 60 seconds:

Switch# configure terminal

Switch(config)# ip igmp snooping querier timeout expiry 60

Switch(config)# end

This example shows how to set the IGMP snooping querier feature to version 2:

Switch# configure terminal

Switch(config)# no ip igmp snooping querier version 2

Switch(config)# end

Disabling IGMP Report Suppression

IGMP report suppression is enabled by default. When it is enabled, the switch forwards only one IGMP report per multicast router query. When report suppression is disabled, all IGMP reports are forwarded to the multicast routers.

BEFORE YOU BEGIN

Note IGMP report suppression is supported only when the multicast query has IGMPv1 and IGMPv2 reports. This feature is not supported when the query includes IGMPv3 reports.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

no ip igmp snooping report-suppression

Disable IGMP report suppression.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ip igmp snooping

Verify that IGMP report suppression is disabled.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To re-enable IGMP report suppression, use the ip igmp snooping report-suppression global configuration command.

EXAMPLE

This example shows how to disable IP IGMP snooping report suppression:

Switch(config)# no ip igmp snooping report-suppression

Configuring MVR

This section includes the following topics:

- Configuring MVR Global Parameters

- Configuring MVR on Access Ports

- Configuring MVR on Trunk Ports

Configuring MVR Global Parameters

You do not need to set the optional MVR parameters if you choose to use the default settings. If you do want to change the default parameters (except for the MVR VLAN), you must first enable MVR.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

mvr

Enable MVR on the switch.

Step 3

mvr group ip-address [ count ]

Configure an IP multicast address on the switch or use the count parameter to configure a contiguous series of MVR group addresses. The range for count is 1 to 2000. However, when the MVR mode is compatible, the switch allows a maximum count of 512. When the mode is dynamic, you can create 2000 MVR groups. The default is 1.

Any multicast data sent to this address is sent to all source ports on the switch and all receiver ports that have elected to receive data on that multicast address. Each multicast address would correspond to one television channel.

Step 4

mvr querytime value

(Optional) Define the maximum time to wait for IGMP report memberships on a receiver port before removing the port from multicast group membership. The value is in units of tenths of a second. The range is 1 to 100, and the default is 5 tenths or one-half second.

Step 5

mvr vlan vlan-id

(Optional) Specify the VLAN in which multicast data is received; all source ports must belong to this VLAN. The VLAN range is 1 to 1001 and 1006 to 4094. The default is VLAN 1.

Step 6

mvr mode { dynamic | compatible }

(Optional) Specify the MVR mode of operation:

- dynamic —Allow dynamic MVR membership on source ports. To configure 2000 MVR groups, the mode must be dynamic .

- compatible —Is compatible with Catalyst 3500 XL and Catalyst 2900 XL switches and does not support IGMP dynamic joins on source ports.

The default is compatible mode.

Step 7

mvr ringmode flood

(Optional) Enable MVR ringmode flooding for access rings. Entering this command controls traffic flow in egress ports in a ring environment to prevent the dropping of unicast traffic.

Step 8

end

Return to privileged EXEC mode.

Step 9

show mvr or show mvr members

Verify the configuration.

Step 10

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return the switch to its default settings, use the no mvr [ mode | group ip-address | querytime | vlan ] global configuration commands.

EXAMPLE

This example shows how to enable MVR, configure the group address, set the query time to 1 second (10 tenths), specify the MVR multicast VLAN as VLAN 22, and set the MVR mode as dynamic:

Switch(config)# mvr

Switch(config)# mvr group 228.1.23.4

Switch(config)# mvr querytime 10

Switch(config)# mvr vlan 22

Switch(config)# mvr mode dynamic

Switch(config)# end

You can use the show mvr members privileged EXEC command to verify the MVR multicast group addresses on the switch.

Configuring MVR on Access Ports

BEFORE YOU BEGIN

For more information about access and trunk ports, see the “Configuring Interfaces” chapter in the Interfaces Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

mvr

Enable MVR on the switch.

Step 3

interface interface-id

Specify the Layer 2 port to configure, and enter interface configuration mode.

Step 4

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 5

mvr typ e { source | receiver }

Configure an MVR port as one of these:

- source —Configure uplink ports that receive and send multicast data as source ports. Subscribers cannot be directly connected to source ports. All source ports on a switch belong to the single multicast VLAN.

- receiver —Configure a port as a receiver port if it is a subscriber port and should only receive multicast data. It does not receive data unless it becomes a member of the multicast group, either statically or by using IGMP leave and join messages. Receiver ports cannot belong to the multicast VLAN.

The default configuration is as a non-MVR port. If you attempt to configure a non-MVR port with MVR characteristics, the operation fails.

Step 6

mvr vlan vlan-id group [ ip-address ]

(Optional) Statically configure a port to receive multicast traffic sent to the multicast VLAN and the IP multicast address. A port statically configured as a member of a group remains a member of the group until statically removed.

Note In compatible mode, this command applies to only receiver ports. In dynamic mode, it applies to receiver ports and source ports.
Receiver ports can also dynamically join multicast groups by using IGMP join and leave messages.

Step 7

mvr immediate

(Optional) Enable the Immediate-Leave feature of MVR on the port.

Note This command applies to only receiver ports and should only be enabled on receiver ports to which a single receiver device is connected.

Step 8

end

Return to privileged EXEC mode.

Step 9

show mvr

show mvr interface

or

show mvr members

Verify the configuration.

Step 10

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return the interface to its default settings, use the no mvr [ type | immediate | vlan vlan-id | group ] interface configuration commands.

EXAMPLE

This example shows how to configure a port as a receiver port, statically configure the port to receive multicast traffic sent to the multicast group address, configure Immediate Leave on the port, and verify the results:

Switch(config)# mvr

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# mvr type receiver

Switch(config-if)# mvr vlan 22 group 228.1.23.4

Switch(config-if)# mvr immediate

Switch(config)# end

Switch# show mvr interface

Port Type Mode VLAN Status Immediate Leave

---- ---- ---- ---- ------- ---------------

Gia0/2 RECEIVER Trunk 201 ACTIVE/DOWN DISABLED

Configuring MVR on Trunk Ports

BEFORE YOU BEGIN

For more information about access and trunk ports, see the “Configuring Interfaces” chapter in the Interfaces Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

mvr

Enable MVR on the switch.

Step 3

interface interface-id

Enter the Layer 2 port to configure and enter interface configuration mode.

Step 4

switchport mode trunk

Set trunking mode to TRUNK unconditionally.

Note When you are configuring a trunk port as an MVR receiver port, we recommend that the source port is configured as a network node interface (NNI) and the MVR trunk receiver port is configured as a user node interface (UNI) or enhanced network interface (ENI).

Step 5

mvr type receiver

Specify that the trunk port is an MVR receiver port.

Step 6

mvr vlan source-vlan-id receiver vlan receiver-vlan-id

Enable this trunk port to distribute MVR traffic coming from the MVR VLAN to the VLAN on the trunk identified by the receiver VLAN.

Step 7

mvr vlan vlan-id group ip-address receiver vlan-id

(Optional) Configure the trunk port to be a static member of the group on the receiver VLAN.

Step 8

end

Return to privileged EXEC mode.

Step 9

show mvr

show mvr interface

show mvr members

Verify the configuration.

Step 10

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

This example shows how to configure a port as an MVR trunk receiver port, assign it to a VLAN, configure the port to be a static member of a group, and verify the results:

Switch(config)# mvr

Switch(config)# interface fastethernet 0/10

Switch(config)# switchport mode trunk

Switch(config)# mvr type receiver

Switch(config)# mvr vlan 100 receiver vlan 201

Switch(config)# mvr vlan 100 group 239.1.1.1 receiver vlan 201

Switch(config)# end

Switch# show mvr interface

To return the interface to its default settings, use the no mvr [ type | immediate | vlan vlan-id | group ] interface configuration command.

Configuring IGMP Filtering and Throttling

In some environments, for example, metropolitan or multiple-dwelling unit (MDU) installations, you might want to control the set of multicast groups to which a user on a switch port can belong. You can control the distribution of multicast services, such as IP/TV, based on some type of subscription or service plan. You might also want to limit the number of multicast groups to which a user on a switch port can belong.

With the IGMP filtering feature, you can filter multicast joins on a per-port basis by configuring IP multicast profiles and associating them with individual switch ports. An IGMP profile can contain one or more multicast groups and specifies whether access to the group is permitted or denied. If an IGMP profile denying access to a multicast group is applied to a switch port, the IGMP join report requesting the stream of IP multicast traffic is dropped, and the port is not allowed to receive IP multicast traffic from that group. If the filtering action permits access to the multicast group, the IGMP report from the port is forwarded for normal processing. You can also set the maximum number of IGMP groups that a Layer 2 interface can join.

IGMP filtering controls only group-specific query and membership reports, including join and leave reports. It does not control general IGMP queries. IGMP filtering has no relationship with the function that directs the forwarding of IP multicast traffic. The filtering feature operates in the same manner whether IGMP or MVR is used to forward the multicast traffic.

IGMP filtering is applicable only to the dynamic learning of IP multicast group addresses, not static configuration.

With the IGMP throttling feature, you can set the maximum number of IGMP groups that a Layer 2 interface can join. If the maximum number of IGMP groups is set, the IGMP snooping forwarding table contains the maximum number of entries, and the interface receives an IGMP join report, you can configure an interface to drop the IGMP report or to replace the randomly selected multicast entry with the received IGMP report.

Note IGMPv3 join and leave messages are not supported on switches running IGMP filtering.

This section includes the following topics:

- Configuring IGMP Profiles (optional)

- Applying IGMP Profiles (optional)

- Setting the Maximum Number of IGMP Groups (optional)

- Configuring the IGMP Throttling Action (optional)

When the maximum number of groups is in the forwarding table, the default IGMP throttling action is to deny the IGMP report. For configuration guidelines, see the “Configuring the IGMP Throttling Action” section.

Configuring IGMP Profiles

To configure an IGMP profile, use the ip igmp profile global configuration command with a profile number to create an IGMP profile and to enter IGMP profile configuration mode. From this mode, you can specify the parameters of the IGMP profile to be used for filtering IGMP join requests from a port. When you are in IGMP profile configuration mode, you can create the profile by using these commands:

- deny : Specifies that matching addresses are denied; this is the default.

- exit : Exits from igmp-profile configuration mode.

- no : Negates a command or returns to its defaults.

- permit : Specifies that matching addresses are permitted.

- range : Specifies a range of IP addresses for the profile. You can enter a single IP address or a range with a start and an end address.

The default is for the switch to have no IGMP profiles configured. When a profile is configured, if neither the permit nor deny keyword is included, the default is to deny access to the range of IP addresses.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip igmp profile profile number

Assign a number to the profile you are configuring, and enter IGMP profile configuration mode. The profile umber range is 1 to 4294967295.

Step 3

permit | deny

(Optional) Set the action to permit or deny access to the IP multicast address. If no action is configured, the default for the profile is to deny access.

Step 4

range ip multicast address

Enter the IP multicast address or range of IP multicast addresses to which access is being controlled. If entering a range, enter the low IP multicast address, a space, and the high IP multicast address.

You can use the range command multiple times to enter multiple addresses or ranges of addresses.

Step 5

end

Return to privileged EXEC mode.

Step 6

show ip igmp profile profile number

Verify the profile configuration.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To delete a profile, use the no ip igmp profile profile number global configuration command.

To delete an IP multicast address or range of IP multicast addresses, use the no range ip multicast address IGMP profile configuration command.

EXAMPLE

This example shows how to create IGMP profile 4 allowing access to the single IP multicast address and how to verify the configuration. If the action was to deny (the default), it would not appear in the show ip igmp profile output display.

Switch(config)# ip igmp profile 4

Switch(config-igmp-profile)# permit

Switch(config-igmp-profile)# range 229.9.9.0

Switch(config-igmp-profile)# end

Switch# show ip igmp profile 4

IGMP Profile 4

permit

range 229.9.9.0 229.9.9.0

Applying IGMP Profiles

To control access as defined in an IGMP profile, use the ip igmp filter interface configuration command to apply the profile to the appropriate interfaces.

BEFORE YOU BEGIN

- You can apply IGMP profiles only to Layer 2 access ports; you cannot apply IGMP profiles to routed ports or SVIs.

- You cannot apply profiles to ports that belong to an EtherChannel port group.

- You can apply a profile to multiple interfaces, but each interface can have only one profile applied to it.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the physical interface, and enter interface configuration mode. The interface must be a Layer 2 port that does not belong to an EtherChannel port group.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp filter profile number

Apply the specified IGMP profile to the interface. The range is 1 to 4294967295.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config interface interface-id

Verify the configuration.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove a profile from an interface, use the no ip igmp filter profile number interface configuration command.

EXAMPLE

This example shows how to apply IGMP profile 4 to a port:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip igmp filter 4

Switch(config-if)# end

Setting the Maximum Number of IGMP Groups

You can set the maximum number of IGMP groups that a Layer 2 interface can join by using the ip igmp max-groups interface configuration command. Use the no form of this command to set the maximum back to the default, which is no limit.

BEFORE YOU BEGIN

- This restriction can be applied to Layer 2 ports only; you cannot set a maximum number of IGMP groups on routed ports or SVIs.

- You can use this command on a logical EtherChannel interface but cannot use it on ports that belong to an EtherChannel port group.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the interface to be configured, and enter interface configuration mode. The interface can be a Layer 2 port that does not belong to an EtherChannel group or a EtherChannel interface.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp max-groups number

Set the maximum number of IGMP groups that the interface can join. The range is 0 to 4294967294. The default is to have no maximum set.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config interface interface-id

Verify the configuration.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the maximum group limitation and return to the default of no maximum, use the no ip igmp max-groups interface configuration command.

EXAMPLE

This example shows how to limit to 25 the number of IGMP groups that a port can join:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip igmp max-groups 25

Switch(config-if)# end

Configuring the IGMP Throttling Action

After you set the maximum number of IGMP groups that a Layer 2 interface can join, you can configure an interface to replace the existing group with the new group for which the IGMP report was received by using the ip igmp max-groups action replace interface configuration command. Use the no form of this command to return to the default, which is to drop the IGMP join report.

BEFORE YOU BEGIN

Follow these guidelines when configuring the IGMP throttling action:

- This restriction can be applied only to Layer 2 ports. You can use this command on a logical EtherChannel interface but cannot use it on ports that belong to an EtherChannel port group.

- When the maximum group limitation is set to the default (no maximum), entering the ip igmp max-groups action { deny | replace } command has no effect.

- If you configure the throttling action and set the maximum group limitation after an interface has added multicast entries to the forwarding table, the forwarding-table entries are either aged out or removed, depending on the throttling action.

– If you configure the throttling action as deny , the entries that were previously in the forwarding table are not removed but are aged out. After these entries are aged out and the maximum number of entries is in the forwarding table, the switch drops the next IGMP report received on the interface.

– If you configure the throttling action as replace , the entries that were previously in the forwarding table are removed. When the maximum number of entries is in the forwarding table, the switch replaces a randomly selected entry with the received IGMP report.

To prevent the switch from removing the forwarding-table entries, you can configure the IGMP throttling action before an interface adds entries to the forwarding table.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

interface interface-id

Specify the physical interface to be configured, and enter interface configuration mode. The interface can be a Layer 2 port that does not belong to an EtherChannel group or an EtherChannel interface. The interface cannot be a trunk port.

Step 3

no shutdown

Enable the port, if necessary. By default, UNIs and ENIs are disabled, and NNIs are enabled.

Step 4

ip igmp max-groups action { deny | replace }

When an interface receives an IGMP report and the maximum number of entries is in the forwarding table, specify the action that the interface takes:

- deny —Drop the report.

- replace —Replace the existing group with the new group for which the IGMP report was received.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config interface interface-id

Verify the configuration.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default action of dropping the report, use the no ip igmp max-groups action interface configuration command.

EXAMPLE

This example shows how to configure a port to remove a randomly selected multicast entry in the forwarding table and to add an IGMP group to the forwarding table when the maximum number of entries is in the table:

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip igmp max-groups action replace

Switch(config-if)# end

Verifying Configuration

IGMP Snooping

You can display IGMP snooping information for dynamically learned and statically configured router ports and VLAN interfaces. You can also display MAC address multicast entries for a VLAN configured for IGMP snooping.

Command

Purpose

show ip igmp snooping [ vlan vlan-id ]

Display the snooping configuration information for all VLANs on the switch or for a specified VLAN.

(Optional) Enter vlan vlan-id to display information for a single VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

show ip igmp snooping groups [ count | dynamic [ count ] | user [ count ]]

Display multicast table information for the switch or about a specific parameter:

- count —Display the total number of entries for the specified command options instead of the actual entries.

- dynamic —Display entries learned through IGMP snooping.

- user —Display only the user-configured multicast entries.

show ip igmp snooping groups vlan vlan-id

[ ip_address | count | dynamic [ count ] | user [ count ]]

Display multicast table information for a multicast VLAN or about a specific parameter for the VLAN:

- vlan-id —The VLAN ID range is 1 to 1001 and 1006 to 4094.

- count —Display the total number of entries for the specified command options instead of the actual entries.

- dynamic —Display entries learned through IGMP snooping.

- ip_address —Display characteristics of the multicast group with the specified group IP address.

- user —Display only the user-configured multicast entries.

show ip igmp snooping mrouter [ vlan vlan-id ]

Display information on dynamically learned and manually configured multicast router interfaces.

Note When you enable IGMP snooping, the switch automatically learns the interface to which a multicast router is connected. These are dynamically learned interfaces.
(Optional) Enter vlan vlan-id to display information for a single VLAN.

show ip igmp snooping querier [ vlan vlan-id ]

Display information about the IP address and incoming port for the most-recently received IGMP query messages in the VLAN.

(Optional) Enter vlan vlan-id to display information for a single VLAN.

show ip igmp snooping querier [ vlan vlan-id ] detail

Display information about the IP address and incoming port of the most-recently received IGMP query message in the VLAN,and the configuration and operational state of the IGMP snooping querier in the VLAN.

MVR

You can display MVR information for the switch or for a specified interface.

Command

Purpose

show mvr

Displays MVR status and values for the switch—whether MVR is enabled or disabled, the multicast VLAN, the maximum (512) and current (0 through 512) number of multicast groups, the query response time, and the MVR mode.

show mvr interface [ interface-id ] [ members [ vlan vlan-id ]]

Displays all MVR interfaces and their MVR configurations.

When a specific interface is entered, displays this information:

- Type—Receiver or Source

- Mode—Access or Trunk

- VLAN—The MVR VLAN for the source port and the receiver VLAN for the receiver port

- Status—One of these:

– Active means the port is part of a VLAN.

– Up/Down means that the port is forwarding or nonforwarding.

– Inactive means that the port is not part of any VLAN.

- Immediate Leave—Enabled or Disabled

If the members keyword is entered, displays all multicast group members on this port or, if a VLAN identification is entered, all multicast group members on the VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

show mvr members [ ip-address ]

Displays all receiver and source ports that are members of any IP multicast group or the specified IP multicast group IP address.

IGMP Filtering and Throttling

You can display IGMP profile characteristics, and you can display the IGMP profile and maximum group configuration for all interfaces on the switch or for a specified interface. You can also display the IGMP throttling configuration for all interfaces on the switch or for a specified interface.

Command

Purpose

show ip igmp profile [ profile number ]

Displays the specified IGMP profile or all the IGMP profiles defined on the switch.

show running-config [ interface interface-id ]

Displays the configuration of the specified interface or the configuration of all interfaces on the switch, including (if configured) the maximum number of IGMP groups to which an interface can belong and the IGMP profile applied to the interface.

Configuration Example

This example shows how to enable IGMP snooping globally:

Switch(config)# ip igmp snooping

Switch(config)# end

This example shows how to enable IGMP snooping on a VLAN:

Switch(config)# ip igmp snooping vlan 100

Switch(config)# end

This example shows how to enable a static connection to a multicast router:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet0/2

Switch(config)# end

This example shows how to statically configure a host on a port:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet0/1

Switch(config)# end

This example shows how to enable IGMP Immediate Leave on VLAN 130:

Switch# configure terminal

Switch(config)# ip igmp snooping vlan 130 immediate-leave

Switch(config)# end

The following example changes the IGMP group-specific host query message interval to 2000 milliseconds (2 seconds):

interface tunnel 0

ip igmp last-member-query-interval 2000

This example sets the flooding query count to 5:

Switch(config)# ip igmp snooping tcn flood query count 5

Switch(config)#

This example shows how to enable query solicitation:

Switch(config)# ip igmp snooping tcn query solicit

This example shows how to disable multicast flooding during a a spanning-tree TCN event:

Switch(config)# interface ethernet 1

Switch(config-if)# no ip igmp snooping tcn flood

This example shows how to set the IGMP snooping querier source address to 10.0.0.64:

Switch# configure terminal

Switch(config)# ip igmp snooping querier 10.0.0.64

Switch(config)# end

This example shows how to set the IGMP snooping querier maximum response time to 25 seconds:

Switch# configure terminal

Switch(config)# ip igmp snooping querier query-interval 25

Switch(config)# end

This example shows how to set the IGMP snooping querier timeout to 60 seconds:

Switch# configure terminal

Switch(config)# ip igmp snooping querier timeout expiry 60

Switch(config)# end

This example shows how to set the IGMP snooping querier feature to version 2:

Switch# configure terminal

Switch(config)# no ip igmp snooping querier version 2

Switch(config)# end

This example shows how to disable IP IGMP snooping report suppression:

Switch(config)# no ip igmp snooping report-suppression

This example shows how to enable MVR, configure the group address, set the query time to 1 second (10 tenths), specify the MVR multicast VLAN as VLAN 22, and set the MVR mode as dynamic:

Switch(config)# mvr

Switch(config)# mvr group 228.1.23.4

Switch(config)# mvr querytime 10

Switch(config)# mvr vlan 22

Switch(config)# mvr mode dynamic

Switch(config)# end

This example shows how to configure a port as a receiver port, statically configure the port to receive multicast traffic sent to the multicast group address, configure Immediate Leave on the port, and verify the results:

Switch(config)# mvr

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# mvr type receiver

Switch(config-if)# mvr vlan 22 group 228.1.23.4

Switch(config-if)# mvr immediate

Switch(config)# end

Switch# show mvr interface

Port Type Mode VLAN Status Immediate Leave

---- ---- ---- ---- ------- ---------------

Gia0/2 RECEIVER Trunk 201 ACTIVE/DOWN DISABLED

This example shows how to configure a port as an MVR trunk receiver port, assign it to a VLAN, configure the port to be a static member of a group, and verify the results:

Switch(config)# mvr

Switch(config)# interface fastethernet 0/10

Switch(config)# switchport mode trunk

Switch(config)# mvr type receiver

Switch(config)# mvr vlan 100 receiver vlan 201

Switch(config)# mvr vlan 100 group 239.1.1.1 receiver vlan 201

Switch(config)# end

Switch# show mvr interface

This example shows how to create IGMP profile 4 allowing access to the single IP multicast address and how to verify the configuration. If the action was to deny (the default), it would not appear in the show ip igmp profile output display.

Switch(config)# ip igmp profile 4

Switch(config-igmp-profile)# permit

Switch(config-igmp-profile)# range 229.9.9.0

Switch(config-igmp-profile)# end

Switch# show ip igmp profile 4

IGMP Profile 4

permit

range 229.9.9.0 229.9.9.0

This example shows how to apply IGMP profile 4 to a port:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip igmp filter 4

Switch(config-if)# end

This example shows how to limit to 25 the number of IGMP groups that a port can join:

Switch(config)# interface gigabitethernet0/2

Switch(config-if)# ip igmp max-groups 25

Switch(config-if)# end

This example shows how to configure a port to remove a randomly selected multicast entry in the forwarding table and to add an IGMP group to the forwarding table when the maximum number of entries is in the table:

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# ip igmp max-groups action replace

Switch(config-if)# end

Related Documents

- Cisco IOS IP Multicast Command Reference

- IP Multicast Configuration Guide Library, Cisco IOS Release 15M&T

- Cisco IOS Master Command List, All Releases

- Interfaces Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

Feature History

Platform

First Supported Release

IE 2000U

Cisco IOS Release 15.0(2)EH

CGS 2520

Cisco IOS Release 12.2(53)EX

Ethernet Switch Module (ESM) for CGR 2010

Cisco IOS Release 12.2(53)EX

Configuring IPv6 MLD Snooping

This chapter describes how to configure Multicast Listener Discovery (MLD) snooping on the Cisco Industrial Ethernet 2000U Series (IE 2000U) and Connected Grid Switches, hereafter referred to as switch . When the switch is running the IP services image, you can use MLD snooping to enable efficient distribution of IP version 6 (IPv6) multicast data to clients and routers in a switched network.

Note To use IPv6, you must configure the dual IPv4 and IPv6 Switch Database Management (SDM) template on the switch. You select the template by entering the sdm prefer dual-ipv4-and-ipv6 global configuration command.

For more information about SDM templates, see the chapter “Configuring SDM Templates” in the System Management Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches . For information about IPv6 on the switch, see the chapter “Configuring IPv6 Unicast Routing” in the Unicast Routing Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches .

Note For complete syntax and usage information for the commands used in this chapter, see the documents listed in the “Related Documents” section.

This chapter includes the following sections:

- Information About MLD Snooping

- Prerequisites

- Guidelines and Limitations

- Default Settings

- Configuring IPv6 MLD Snooping

- Verifying Configuration

- Related Documents

- Feature History

Information About MLD Snooping

In IP version 4 (IPv4), Layer 2 switches can use Internet Group Management Protocol (IGMP) snooping to limit the flooding of multicast traffic by dynamically configuring Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast devices. In IPv6, MLD snooping performs a similar function. With MLD snooping, IPv6 multicast data is selectively forwarded to a list of ports that want to receive the data, instead of being flooded to all ports in a VLAN. This list is constructed by snooping IPv6 multicast control packets.

MLD is a protocol used by IPv6 multicast routers to discover the presence of multicast listeners (nodes wishing to receive IPv6 multicast packets) on its directly attached links and to discover which multicast packets are of interest to neighboring nodes. MLD is derived from IGMP; MLD version 1 (MLDv1) is equivalent to IGMPv2 and MLD version 2 (MLDv2) is equivalent to IGMPv3. MLD is a subprotocol of Internet Control Message Protocol version 6 (ICMPv6), and MLD messages are a subset of ICMPv6 messages, identified in IPv6 packets by a preceding Next Header value of 58.

The switch supports two versions of MLD snooping:

- MLDv1 snooping detects MLDv1 control packets and sets up traffic bridging based on IPv6 destination multicast addresses.

- MLDv2 basic snooping (MBSS) uses MLDv2 control packets to set up traffic forwarding based on IPv6 destination multicast addresses.

The switch can snoop on both MLDv1 and MLDv2 protocol packets and bridge IPv6 multicast data based on destination IPv6 multicast addresses.

Note The switch does not support MLDv2 enhanced snooping (MESS), which sets up IPv6 source and destination multicast address-based forwarding.

MLD snooping can be enabled or disabled globally or per VLAN. When MLD snooping is enabled, a per-VLAN IPv6 multicast MAC address table is constructed in software and a per-VLAN IPv6 multicast address table is constructed in software and hardware. The switch then performs IPv6 multicast-address based bridging in hardware.

These sections describe some parameters of IPv6 MLD snooping:

- MLD Messages

- MLD Queries

- Multicast Client Aging Robustness

- Multicast Router Discovery

- MLD Reports

- MLD Done Messages and Immediate-Leave

- Topology Change Notification Processing

MLD Messages

MLDv1 supports three types of messages:

- Listener Queries are the equivalent of IGMPv2 queries and are either General Queries or Multicast-Address-Specific Queries (MASQs).

- Multicast Listener Reports are the equivalent of IGMPv2 reports.

- Multicast Listener Done messages are the equivalent of IGMPv2 leave messages.

MLDv2 supports MLDv2 queries and reports, as well as MLDv1 Report and Done messages.

Message timers and state transitions resulting from messages being sent or received are the same as those of IGMPv2 messages. MLD messages that do not have valid link-local IPv6 source addresses are ignored by MLD routers and switches.

MLD Queries

The switch sends out MLD queries, constructs an IPv6 multicast address database, and generates MLD group-specific and MLD group-and-source-specific queries in response to MLD Done messages. The switch also supports report suppression, report proxying, Immediate-Leave functionality, and static IPv6 multicast MAC-address configuration.

When MLD snooping is disabled, all MLD queries are flooded in the ingress VLAN.

When MLD snooping is enabled, received MLD queries are flooded in the ingress VLAN, and a copy of the query is sent to the CPU for processing. From the received query, MLD snooping builds the IPv6 multicast address database. It detects multicast router ports, maintains timers, sets report response time, learns the querier IP source address for the VLAN, learns the querier port in the VLAN, and maintains multicast-address aging.

Note When the IPv6 multicast router is a Catalyst 6500 switch and you are using extended VLANs (in the range 1006 to 4094), IPv6 MLD snooping must be enabled on the extended VLAN on the Catalyst 6500 switch in order for this switch to receive queries on the VLAN. For normal-range VLANs (1 to 1005), it is not necessary to enable IPv6 MLD snooping on the VLAN on the Catalyst 6500 switch.

When a group exists in the MLD snooping database, the switch responds to a group-specific query by sending an MLDv1 report. When the group is unknown, the group-specific query is flooded to the ingress VLAN.

When a host wants to leave a multicast group, it can send out an MLD Done message (equivalent to IGMP Leave message). When the switch receives an MLDv1 Done message, if Immediate- Leave is not enabled, the switch sends an MASQ to the port from which the message was received to determine if other devices connected to the port should remain in the multicast group.

Multicast Client Aging Robustness

You can configure port membership removal from addresses based on the number of queries. A port is removed from membership to an address only when there are no reports to the address on the port for the configured number of queries. The default number is 2.

Multicast Router Discovery

Like IGMP snooping, MLD snooping performs multicast router discovery, with these characteristics:

- Ports configured by a user never age out.

- Dynamic port learning results from MLDv1 snooping queries and IPv6 PIMv2 packets.

- If there are multiple routers on the same Layer 2 interface, MLD snooping tracks a single multicast router on the port (the router that most recently sent a router control packet).

- Dynamic multicast router port aging is based on a default timer of 5 minutes; the multicast router is deleted from the router port list if no control packet is received on the port for 5 minutes.

- IPv6 multicast router discovery only takes place when MLD snooping is enabled on the switch.

- Received IPv6 multicast router control packets are always flooded to the ingress VLAN, whether or not MLD snooping is enabled on the switch.

- After the discovery of the first IPv6 multicast router port, unknown IPv6 multicast data is forwarded only to the discovered router ports (before that time, all IPv6 multicast data is flooded to the ingress VLAN).

MLD Reports

The processing of MLDv1 join messages is essentially the same as with IGMPv2. When no IPv6 multicast routers are detected in a VLAN, reports are not processed or forwarded from the switch. When IPv6 multicast routers are detected and an MLDv1 report is received, an IPv6 multicast group address and an IPv6 multicast MAC address are entered in the VLAN MLD database. Then all IPv6 multicast traffic to the group within the VLAN is forwarded using this address. When MLD snooping is disabled, reports are flooded in the ingress VLAN.

When MLD snooping is enabled, MLD report suppression, called listener message suppression, is automatically enabled. With report suppression, the switch forwards the first MLDv1 report received by a group to IPv6 multicast routers; subsequent reports for the group are not sent to the routers. When MLD snooping is disabled, report suppression is disabled, and all MLDv1 reports are flooded to the ingress VLAN.

The switch also supports MLDv1 proxy reporting. When an MLDv1 MASQ is received, the switch responds with MLDv1 reports for the address on which the query arrived if the group exists in the switch on another port and if the port on which the query arrived is not the last member port for the address.

MLD Done Messages and Immediate-Leave

When the Immediate-Leave feature is enabled and a host sends an MLDv1 Done message (equivalent to an IGMP leave message), the port on which the Done message was received is immediately deleted from the group.You enable Immediate-Leave on VLANs and (as with IGMP snooping), you should only use the feature on VLANs where a single host is connected to the port. If the port was the last member of a group, the group is also deleted, and the leave information is forwarded to the detected IPv6 multicast routers.

When Immediate Leave is not enabled in a VLAN (which would be the case when there are multiple clients for a group on the same port) and a Done message is received on a port, an MASQ is generated on that port. The user can control when a port membership is removed for an existing address in terms of the number of MASQs. A port is removed from membership to an address when there are no MLDv1 reports to the address on the port for the configured number of queries.

The number of MASQs generated is configured by using the ipv6 mld snooping last-listener-query count global configuration command. The default number is 2.

The MASQ is sent to the IPv6 multicast address for which the Done message was sent. If there are no reports sent to the IPv6 multicast address specified in the MASQ during the switch maximum response time, the port on which the MASQ was sent is deleted from the IPv6 multicast address database. The maximum response time is the time configured by using the ipv6 mld snooping last-listener-query-interval global configuration command. If the deleted port is the last member of the multicast address, the multicast address is also deleted, and the switch sends the address leave information to all detected multicast routers.

Topology Change Notification Processing

When topology change notification (TCN) solicitation is enabled by using the ipv6 mld snooping tcn query solicit global configuration command, MLDv1 snooping sets the VLAN to flood all IPv6 multicast traffic with a configured number of MLDv1 queries before it begins sending multicast data only to selected ports. You set this value by using the ipv6 mld snooping tcn flood query count global configuration command. The default is to send two queries. The switch also generates MLDv1 global Done messages with valid link-local IPv6 source addresses when the switch becomes the STP root in the VLAN or when it is configured by the user. This is same as done in IGMP snooping.

Prerequisites

Review the “Information About MLD Snooping” section.

Guidelines and Limitations

- You can configure MLD snooping characteristics at any time, but you must globally enable MLD snooping by using the ipv6 mld snooping global configuration command for the configuration to take effect.

- When the IPv6 multicast router is a Catalyst 6500 switch and you are using extended VLANs (in the range 1006 to 4094), IPv6 MLD snooping must be enabled on the extended VLAN on the Catalyst 6500 switch in order for this switch to receive queries on the VLAN. For normal-range VLANs (1 to 1005), it is not necessary to enable IPv6 MLD snooping on the VLAN on the Catalyst 6500 switch.

- MLD snooping and IGMP snooping act independently of each other. You can enable both features at the same time on the switch.

- The maximum number of multicast entries allowed on the switch is determined by the configured SDM template.

- The maximum number of address entries allowed for the switch is 1000.

Default Settings

Feature

Default Setting

MLD snooping (Global)

Disabled.

MLD snooping (per VLAN)

Enabled. MLD snooping must be globally enabled for VLAN MLD snooping to take place.

IPv6 Multicast addresses

None configured.

IPv6 Multicast router ports

None configured.

MLD snooping Immediate Leave

Disabled.

MLD snooping robustness variable

Global: 2; Per VLAN: 0.

Note The VLAN value overrides the global setting. When the VLAN value is 0, the VLAN uses the global count.

Last listener query count

Global: 2; Per VLAN: 0.

Note The VLAN value overrides the global setting. When the VLAN value is 0, the VLAN uses the global count.

Last listener query interval

Global: 1000 (1 second); VLAN: 0.

Note The VLAN value overrides the global setting. When the VLAN value is 0, the VLAN uses the global interval.

TCN query solicit

Disabled.

TCN query count

2.

MLD listener suppression

Enabled.

Configuring IPv6 MLD Snooping

These sections describe how to configure IPv6 MLD snooping:

- Enabling or Disabling MLD Snooping

- Configuring a Static Multicast Group

- Configuring a Multicast Router Port

- Enabling MLD Immediate Leave

- Configuring MLD Snooping Queries

- Disabling MLD Listener Message Suppression

Enabling or Disabling MLD Snooping

By default, IPv6 MLD snooping is globally disabled on the switch and enabled on all VLANs. When MLD snooping is globally disabled, it is also disabled on all VLANs. When you globally enable MLD snooping, the VLAN configuration overrides the global configuration. That is, MLD snooping is enabled only on VLAN interfaces in the default state (enabled).

You can enable and disable MLD snooping on a per-VLAN basis or for a range of VLANs, but if you globally disable MLD snooping, it is disabled in all VLANs. If global snooping is enabled, you can enable or disable VLAN snooping.

Enabling MLD Snooping

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ipv6 mld snooping

Globally enable MLD snooping on the switch.

Step 3

end

Return to privileged EXEC mode.

Step 4

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Step 5

reload

Reload the operating system.

To globally disable MLD snooping on the switch, use the no ipv6 mld snooping global configuration command.

EXAMPLE

This example shows how to enable MLD snooping globally:

Switch(config)# ipv6 mld snooping

Enabling MLD Snooping on a VLAN

DETAILED STEPS

Note When the IPv6 multicast router is a Catalyst 6500 switch and you are using extended VLANs (in the range 1006 to 4094), IPv6 MLD snooping must be enabled on the extended VLAN on the Catalyst 6500 switch in order for this switch to receive queries on the VLAN. For normal-range VLANs (1 to 1005), it is not necessary to enable IPv6 MLD snooping on the VLAN on the Catalyst 6500 switch.

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ipv6 mld snooping

Globally enable MLD snooping on the switch.

Step 3

ipv6 mld snooping vlan vlan-id

Enable MLD snooping on the VLAN.The VLAN ID range is 1 to 1001 and 1006 to 4094.

Note MLD snooping must be globally enabled for VLAN snooping to be enabled.

Step 4

end

Return to privileged EXEC mode.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable MLD snooping on a VLAN interface, use the no ipv6 mld snooping vlan vlan-id global configuration command for the specified VLAN number .

EXAMPLE

This example shows how to enable MLD snooping on a VLAN:

Switch(config)# ipv6 mld snooping vlan 100

Configuring a Static Multicast Group

Hosts or Layer 2 ports normally join multicast groups dynamically, but you can also statically configure an IPv6 multicast address and member ports for a VLAN. Follow this procedure to add a Layer 2 port as a member of a multicast group.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode

Step 2

ipv6 mld snooping vlan vlan-id static ipv6_multicast_address interface interface-id

Statically configure a multicast group with a Layer 2 port as a member of a multicast group:

- vlan-id is the multicast group VLAN ID. The VLAN ID range is 1 to 1001 and 1006 to 4094.

- ipv6_multicast_address is the 128-bit group IPv6 address. The address must be in the form specified in RFC 2373.

- interface-id is the member port. It can be a physical interface or a port channel (1 to 48).

Step 3

end

Return to privileged EXEC mode.

Step 4

show ipv6 mld snooping multicast-address user

or

show ipv6 mld snooping multicast-address vlan vlan-id user

Verify the static member port and the IPv6 address.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove a Layer 2 port from the multicast group, use the no ipv6 mld snooping vlan vlan-id static mac-address interface interface-id global configuration command. If all member ports are removed from a group, the group is deleted.

EXAMPLE

This example shows how to statically configure an IPv6 multicast group:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 2 static FF12::3 interface gigabitethernet0/1

Switch(config)# end

Configuring a Multicast Router Port

Although MLD snooping learns about router ports through MLD queries and PIMv6 queries, you can also use the command-line interface (CLI) to add a multicast router port to a VLAN. To add a multicast router port (add a static connection to a multicast router), use the ipv6 mld snooping vlan mrouter global configuration command on the switch.

BEFORE YOU BEGIN

Static connections to multicast routers are supported only on switch ports.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ipv6 mld snooping vlan vlan-id mrouter interface interface-id

Specify the multicast router VLAN ID, and specify the interface to the multicast router.

- The VLAN ID range is 1 to 1001 and 1006 to 4094.

- The interface can be a physical interface or a port channel. The port-channel range is 1 to 48.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ipv6 mld snooping mrouter [ vlan vlan-id ]

Verify that IPv6 MLD snooping is enabled on the VLAN interface.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove a multicast router port from the VLAN, use the no ipv6 mld snooping vlan vlan-id mrouter interface interface-id global configuration command.

EXAMPLE

This example shows how to add a multicast router port to VLAN 200:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 200 mrouter interface gigabitethernet0/2

Switch(config)# exit

Enabling MLD Immediate Leave

When you enable MLDv1 Immediate Leave, the switch immediately removes a port from a multicast group when it detects an MLD Done message on that port.

BEFORE YOU BEGIN

You should only use the Immediate-Leave feature when there is a single receiver present on every port in the VLAN. When there are multiple clients for a multicast group on the same port, you should not enable Immediate-Leave in a VLAN.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ipv6 mld snooping vlan vlan-id immediate-leave

Enable MLD Immediate Leave on the VLAN interface.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ipv6 mld snooping vlan vlan-id

Verify that Immediate Leave is enabled on the VLAN interface.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable MLD Immediate Leave on a VLAN, use the no ipv6 mld snooping vlan vlan-id immediate-leave global configuration command.

EXAMPLE

This example shows how to enable MLD Immediate Leave on VLAN 130:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 130 immediate-leave

Switch(config)# exit

Configuring MLD Snooping Queries

When Immediate Leave is not enabled and a port receives an MLD Done message, the switch generates MASQs on the port and sends them to the IPv6 multicast address for which the Done message was sent. You can optionally configure the number of MASQs that are sent and the length of time the switch waits for a response before deleting the port from the multicast group.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ipv6 mld snooping robustness-variable value

(Optional) Set the number of queries that are sent before switch will deletes a listener (port) that does not respond to a general query. The range is 1 to 3; the default is 2.

Step 3

ipv6 mld snooping vlan vlan-id robustness-variable value

(Optional) Set the robustness variable on a VLAN basis, which determines the number of general queries that MLD snooping sends before aging out a multicast address when there is no MLD report response. The range is 1 to 3; the default is 0. When set to 0, the number used is the global robustness variable value.

Step 4

ipv6 mld snooping last-listener-query-count count

(Optional) Set the number of MASQs that the switch sends before aging out an MLD client. The range is 1 to 7; the default is 2. The queries are sent 1 second apart.

Step 5

ipv6 mld snooping vlan vlan-id last-listener-query-count count

(Optional) Set the last-listener query count on a VLAN basis. This value overrides the value configured globally. The range is 1 to 7; the default is 0. When set to 0, the global count value is used. Queries are sent 1 second apart.

Step 6

ipv6 mld snooping last-listener-query-interval interval

(Optional) Set the maximum response time that the switch waits after sending out a MASQ before deleting a port from the multicast group. The range is 100 to 32,768 thousands of a second. The default is 1000 (1 second).

Step 7

ipv6 mld snooping vlan vlan-id last-listener-query-interval interval

(Optional) Set the last-listener query interval on a VLAN basis. This value overrides the value configured globally. The range is 0 to 32,768 thousands of a second. The default is 0. When set to 0, the global last-listener query interval is used.

Step 8

ipv6 mld snooping tcn query solicit

(Optional) Enable topology change notification (TCN) solicitation, which means that VLANs flood all IPv6 multicast traffic for the configured number of queries before sending multicast data to only those ports requesting to receive it. The default is for TCN to be disabled.

Step 9

ipv6 mld snooping tcn flood query count count

(Optional) When TCN is enabled, specify the number of TCN queries to be sent. The range is from 1 to 10; the default is 2.

Step 10

end

Return to privileged EXEC mode.

Step 11

show ipv6 mld snooping querier [ vlan vlan-id ]

(Optional) Verify that the MLD snooping querier information for the switch or for the VLAN.

Step 12

copy running-config startup-config

(Optional) Save your entries in the configuration file.

EXAMPLE

This example shows how to set the MLD snooping global robustness variable to 3:

Switch# configure terminal

Switch(config)# ipv6 mld snooping robustness-variable 3

Switch(config)# exit

This example shows how to set the MLD snooping last-listener query count for a VLAN to 3:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 200 last-listener-query-count 3

Switch(config)# exit

This example shows how to set the MLD snooping last-listener query interval (maximum response time) to 2000 (2 seconds):

Switch# configure terminal

Switch(config)# ipv6 mld snooping last-listener-query-interval 2000

Switch(config)# exit

Disabling MLD Listener Message Suppression

MLD snooping listener message suppression is enabled by default. When it is enabled, the switch forwards only one MLD report per multicast router query. When message suppression is disabled, multiple MLD reports could be forwarded to the multicast routers.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

no ipv6 mld snooping listener-message-suppression

Disable MLD message suppression.

Step 3

end

Return to privileged EXEC mode.

Step 4

show ipv6 mld snooping

Verify that IPv6 MLD snooping report suppression is disabled.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To re-enable MLD message suppression, use the ipv6 mld snooping listener-message-suppression global configuration command.

EXAMPLE

This example shows how to disable MLD message suppression:

Switch# configure terminal

Switch(config)# no ipv6 mld snooping listener-message-suppression

Switch(config)# end

Verifying Configuration

You can display MLD snooping information for dynamically learned and statically configured router ports and VLAN interfaces. You can also display MAC address multicast entries for a VLAN configured for MLD snooping.

Command

Purpose

show ipv6 mld snooping [ vlan vlan-id ]

Display the MLD snooping configuration information for all VLANs on the switch or for a specified VLAN.

(Optional) Enter vlan vlan-id to display information for a single VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

show ipv6 mld snooping mrouter [ vlan vlan-id ]

Display information on dynamically learned and manually configured multicast router interfaces. When you enable MLD snooping, the switch automatically learns the interface to which a multicast router is connected. These are dynamically learned interfaces.

(Optional) Enter vlan vlan-id to display information for a single VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

show ipv6 mld snooping querier [ vlan vlan-id ]

Display information about the IPv6 address and incoming port for the most-recently received MLD query messages in the VLAN.

(Optional) Enter vlan vlan-id to display information for a single VLAN.The VLAN ID range is 1 to 1001 and 1006 to 4094.

show ipv6 mld snooping multicast-address [ vlan vlan-id ] [ count | dynamic | user ]

Display all IPv6 multicast address information or specific IPv6 multicast address information for the switch or a VLAN.

- Enter count to show the group count on the switch or in a VLAN.

- Enter dynamic to display MLD snooping learned group information for the switch or for a VLAN.

- Enter user to display MLD snooping user-configured group information for the switch or for a VLAN.

show ipv6 mld snooping multicast-address vlan vlan-id [ ipv6-multicast-address ]

Display MLD snooping for the specified VLAN and IPv6 multicast address.

Configuration Example

This example shows how to enable MLD snooping globally:

Switch(config)# ipv6 mld snooping

This example shows how to enable MLD snooping on a VLAN:

Switch(config)# ipv6 mld snooping vlan 100

This example shows how to statically configure an IPv6 multicast group:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 2 static FF12::3 interface gigabitethernet0/1

Switch(config)# end

This example shows how to add a multicast router port to VLAN 200:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 200 mrouter interface gigabitethernet0/2

Switch(config)# exit

This example shows how to enable MLD Immediate Leave on VLAN 130:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 130 immediate-leave

Switch(config)# exit

This example shows how to set the MLD snooping global robustness variable to 3:

Switch# configure terminal

Switch(config)# ipv6 mld snooping robustness-variable 3

Switch(config)# exit

This example shows how to set the MLD snooping last-listener query count for a VLAN to 3:

Switch# configure terminal

Switch(config)# ipv6 mld snooping vlan 200 last-listener-query-count 3

Switch(config)# exit

This example shows how to set the MLD snooping last-listener query interval (maximum response time) to 2000 (2 seconds):

Switch# configure terminal

Switch(config)# ipv6 mld snooping last-listener-query-interval 2000

Switch(config)# exit

This example shows how to disable MLD message suppression:

Switch# configure terminal

Switch(config)# no ipv6 mld snooping listener-message-suppression

Switch(config)# end

Related Documents

- Cisco IOS IPv6 Command Reference

- Cisco IOS Master Command List, All Releases

- System Management Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

- Unicast Routing Software Configuration Guide for Cisco IE 2000U and Connected Grid Switches

Feature History

Platform

First Supported Release

IE 2000U

Cisco IOS Release 15.0(2)EH

CGS 2520

Cisco IOS Release 12.2(53)EX

Ethernet Switch Module (ESM) for CGR 2010

Cisco IOS Release 12.2(53)EX

Configuring MSDP

This chapter describes how to configure Multicast Source Discovery Protocol (MSDP) on the Cisco Industrial Ethernet 2000U (IE 2000U) and Connected Grid Switches, hereafter referred to as switch . MSDP connects multiple Protocol-Independent Multicast sparse-mode (PIM-SM) domains.

MSDP is not fully supported in this software release because of a lack of support for Multicast Border Gateway Protocol (MBGP), which works closely with MSDP. However, it is possible to create default peers that MSDP can operate with if MBGP is not running.

To use this feature, the switch must be running the IP services image.

Note For complete syntax and usage information for the commands used in this chapter, see the documents listed in the “Related Documents” section.

This chapter includes the following sections:

- Information About MSDP

- Prerequisites

- Guidelines and Limitations

- Default Settings

- Configuring MSDP

- Verifying Configuration

- Configuration Example

- Related Documents

- Feature History

Information About MSDP

MSDP allows multicast sources for a group to be known to all rendezvous points (RPs) in different domains. Each PIM-SM domain uses its own RPs and does not depend on RPs in other domains. An RP runs MSDP over the Transmission Control Protocol (TCP) to discover multicast sources in other domains.

An RP in a PIM-SM domain has an MSDP peering relationship with MSDP-enabled devices in another domain. The peering relationship occurs over a TCP connection, primarily exchanging a list of sources sending to multicast groups. The TCP connections between RPs are achieved by the underlying routing system. The receiving RP uses the source lists to establish a source path.

The purpose of this topology is to have domains discover multicast sources in other domains. If the multicast sources are of interest to a domain that has receivers, multicast data is delivered over the normal, source-tree building mechanism in PIM-SM. MSDP is also used to announce sources sending to a group. These announcements must originate at the domain’s RP.

MSDP depends heavily on the Border Gateway Protocol (BGP) or MBGP for interdomain operation. We recommend that you run MSDP in RPs in your domain that are RPs for sources sending to global groups to be announced to the Internet.

MSDP Operation

Figure 5-1 shows MSDP operating between two MSDP peers. PIM uses MSDP as the standard mechanism to register a source with the RP of a domain. When MSDP is configured, this sequence occurs.

When a source sends its first multicast packet, the first-hop router ( designated router or RP) directly connected to the source sends a PIM register message to the RP. The RP uses the register message to register the active source and to forward the multicast packet down the shared tree in the local domain. With MSDP configured, the RP also forwards a source-active (SA) message to all MSDP peers. The SA message identifies the source, the group the source is sending to, and the address of the RP or the originator ID (the IP address of the interface used as the RP address), if configured.

Each MSDP peer receives and forwards the SA message away from the originating RP to achieve peer reverse-path flooding (RPF). The MSDP device examines the BGP or MBGP routing table to discover which peer is the next hop toward the originating RP of the SA message. Such a peer is called an RPF peer (reverse-path forwarding peer). The MSDP device forwards the message to all MSDP peers other than the RPF peer. For information on how to configure an MSDP peer when BGP and MBGP are not supported, see the “Configuring a Default MSDP Peer” section.

Figure 5-1 MSDP Running Between RP Peers

If the MSDP peer receives the same SA message from a non-RPF peer toward the originating RP, it drops the message. Otherwise, it forwards the message to all its MSDP peers.

The RP for a domain receives the SA message from an MSDP peer. If the RP has any join requests for the group the SA message describes and if the (*,G) entry exists with a nonempty outgoing interface list, the domain is interested in the group, and the RP triggers an (S,G) join toward the source. After the (S,G) join reaches the source’s DR, a branch of the source tree has been built from the source to the RP in the remote domain. Multicast traffic can now flow from the source across the source tree to the RP and then down the shared tree in the remote domain to the receiver.

MSDP Benefits

MSDP has these benefits:

- It breaks up the shared multicast distribution tree. You can make the shared tree local to your domain. Your local members join the local tree, and join messages for the shared tree never need to leave your domain.

- PIM sparse-mode domains can rely only on their own RPs, decreasing reliance on RPs in another domain. This increases security because you can prevent your sources from being known outside your domain.

- Domains with only receivers can receive data without globally advertising group membership.

- Global source multicast routing table state is not required, saving memory.

Prerequisites

- The switch is running the IP services image.

- You have enabled IP multicast routing and configured PIM for the networks where you want to configure MSDP.

Guidelines and Limitations

MSDP is not fully supported in this software release because of a lack of support for Multicast Border Gateway Protocol (MBGP), which works closely with MSDP. However, it is possible to create default peers that MSDP can operate with if MBGP is not running.

Default Settings

MSDP is not enabled, and no default MSDP peer exists.

Configuring MSDP

This section includes the following topics:

- Configuring a Default MSDP Peer (required)

- Caching Source-Active State (optional)

- Requesting Source Information from an MSDP Peer (optional)

- Controlling Source Information that Your Switch Originates (optional)

- Controlling Source Information that Your Switch Forwards (optional)

- Controlling Source Information that Your Switch Receives (optional)

- Configuring an MSDP Mesh Group (optional)

- Shutting Down an MSDP Peer (optional)

- Including a Bordering PIM Dense-Mode Region in MSDP (optional)

- Configuring an Originating Address other than the RP Address (optional)

Configuring a Default MSDP Peer

In this software release, because BGP and MBGP are not supported, you cannot configure an MSDP peer on the local switch by using the ip msdp peer global configuration command. Instead, you define a default MSDP peer (by using the ip msdp default-peer global configuration command) from which to accept all SA messages for the switch. The default MSDP peer must be a previously configured MSDP peer. Configure a default MSDP peer when the switch is not BGP- or MBGP-peering with an MSDP peer. If a single MSDP peer is configured, the switch always accepts all SA messages from that peer.

Figure 5-2 shows a network in which default MSDP peers might be used. In Figure 5-2, a customer who owns Switch B is connected to the Internet through two Internet service providers (ISPs), one owning Router A and the other owning Router C. They are not running BGP or MBGP between them. To learn about sources in the ISP’s domain or in other domains, Switch B at the customer site identifies Router A as its default MSDP peer. Switch B advertises SA messages to both Router A and Router C but accepts SA messages only from Router A or only from Router C. If Router A is first in the configuration file, it is used if it is running. If Router A is not running, only then does Switch B accept SA messages from Router C. This is the default behavior without a prefix list.

If you specify a prefix list, the peer is a default peer only for the prefixes in the list. You can have multiple active default peers when you have a prefix list associated with each. When you do not have any prefix lists, you can configure multiple default peers, but only the first one is the active default peer as long as the router has connectivity to this peer and the peer is alive. If the first configured peer fails or the connectivity to this peer fails, the second configured peer becomes the active default, and so on.

The ISP probably uses a prefix list to define which prefixes it accepts from the customer’s router.

Figure 5-2 Default MSDP Peer Network

Follow this procedure to specify a default MSDP peer. This procedure is required.

BEFORE YOU BEGIN

An MSDP default peer must be a previously configured MSDP peer. Before configuring a default MSDP peer, you must first configure an MSDP peer.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp default-peer ip-address | name [ prefix-list list ]

Define a default peer from which to accept all MSDP SA messages.

- For ip-address | name , enter the IP address or Domain Name System (DNS) server name of the MSDP default peer.

- (Optional) For prefix-list list , enter the list name that specifies the peer to be the default peer only for the listed prefixes. You can have multiple active default peers when you have a prefix list associated with each.

When you enter multiple ip msdp default-peer commands with the prefix-list keyword, you use all the default peers at the same time for different RP prefixes. This syntax is typically used in a service provider cloud that connects stub site clouds.

When you enter multiple ip msdp default-peer commands without the prefix-list keyword, a single active peer accepts all SA messages. If that peer fails, the next configured default peer accepts all SA messages. This syntax is typically used at a stub site.

Step 3

ip prefix-list name [ description string ] | seq number { permit | deny } network length

(Optional) Create a prefix list using the name specified in Step 2.

- (Optional) For description string , enter a description of up to 80 characters to describe this prefix list.

- For seq number, enter the sequence number of the entry. The range is 1 to 4294967294.

- The deny keyword denies access to matching conditions.

- The permit keyword permits access to matching conditions.

- For network length , specify the network number and length (in bits) of the network mask that is permitted or denied.

Step 4

ip msdp description { peer-name | peer-address } text

(Optional) Configure a description for the specified peer to make it easier to identify in a configuration or in show command output.

By default, no description is associated with an MSDP peer.

Step 5

end

Return to privileged EXEC mode.

Step 6

show running-config

Verify your entries.

Step 7

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the default peer, use the no ip msdp default-peer ip-address | name global configuration command.

EXAMPLE

This example shows a partial configuration of Router A and Router C in Figure 5-2. Each of these ISPs have more than one customer (like the customer in Figure 5-2) who use default peering (no BGP or MBGP). In that case, they might have similar configurations. That is, they accept SAs only from a default peer if the SA is permitted by the corresponding prefix list.

Router A

Router(config)# ip msdp default-peer 10.1.1.1

Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a

Router(config)# ip prefix-list site-b permit 10.0.0.0/1

Router C

Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a

Router(config)# ip prefix-list site-b permit 10.0.0.0/1

Caching Source-Active State

By default, the switch does not cache source/group pairs from received SA messages. When the switch forwards the MSDP SA information, it does not store it in memory. Therefore, if a member joins a group soon after a SA message is received by the local RP, that member needs to wait until the next SA message to hear about the source. This delay is known as join latency.

If you want to sacrifice some memory in exchange for reducing the latency of the source information, you can configure the switch to cache SA messages. This procedure is optional.

Note An alternative to this command is the ip msdp sa-request global configuration command, which causes the switch to send an SA request message to the MSDP peer when a new member for a group becomes active. For more information, see the next section.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp cache-sa-state [ list access-list-number ]

Enable the caching of source/group pairs (create an SA state). Those pairs that pass the access list are cached.

For list access-list-number , the range is 100 to 199.

Step 3

access-list access-list-number { deny | permit } protocol source source-wildcard destination destination-wildcard

Create an IP extended access list, repeating the command as many times as necessary.

- For access-list-number , the range is 100 to 199. Enter the same number created in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For protocol , enter ip as the protocol name.

- For source , enter the number of the network or host from which the packet is being sent.

- For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

- For destination , enter the number of the network or host to which the packet is being sent.

- For destination-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the destination. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting (no SA state is created), use the no ip msdp cache-sa-state global configuration command.

EXAMPLE

This example shows how to enable the cache state for all sources in 171.69.0.0/16 sending to groups 224.2.0.0/16:

Switch(config)# ip msdp cache-sa-state 100

Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.2.0.0 0.0.255.255

Requesting Source Information from an MSDP Peer

Local RPs can send SA requests and get immediate responses for all active sources for a given group. By default, the switch does not send any SA request messages to its MSDP peers when a new member joins a group and wants to receive multicast traffic. The new member waits to receive the next periodic SA message.

If you want a new member of a group to learn the active multicast sources in a connected PIM sparse-mode domain that are sending to a group, configure the switch to send SA request messages to the specified MSDP peer when a new member joins a group. The peer replies with the information in its SA cache. If the peer does not have a cache configured, this command has no result. Configuring this feature reduces join latency but sacrifices memory.

Follow this procedure to configure the switch to send SA request messages to the MSDP peer when a new member joins a group and wants to receive multicast traffic. This procedure is optional.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp sa-request { ip-address | name }

Configure the switch to send SA request messages to the specified MSDP peer.

For ip-address | name , enter the IP address or name of the MSDP peer from which the local switch requests SA messages when a new member for a group becomes active.

Repeat the command for each MSDP peer that you want to supply with SA messages.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip msdp sa-request { ip-address | name } global configuration command.

EXAMPLE

This example shows how to configure the switch to send SA request messages to the MSDP peer at 171.69.1.1:

Switch(config)# ip msdp sa-request 171.69.1.1

Controlling Source Information that Your Switch Originates

You can control the multicast source information that originates with your switch:

- Sources you advertise (based on your sources)

- Receivers of source information (based on knowing the requestor)

For more information, see the “Redistributing Sources” section and the “Filtering Source-Active Request Messages” section.

Redistributing Sources

SA messages originate on RPs to which sources have registered. By default, any source that registers with an RP is advertised. The A flag is set in the RP when a source is registered, which means the source is advertised in an SA unless it is filtered. Follow this procedure to further restrict which registered sources are advertised. This procedure is optional.

BEFORE YOU BEGIN

For best practice information related to configuring MSDP SA message filters, see the Multicast Source Discovery Protocol SA Filter Recommendations tech note.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp redistribute [ list access-list-name ] [ asn aspath-access-list-number ] [ route-map map ]

Configure which (S,G) entries from the multicast routing table are advertised in SA messages.

By default, only sources within the local domain are advertised.

- (Optional) For list access-list-name , enter the name or number of an IP standard or extended access list. The range is 1 to 99 for standard access lists and 100 to 199 for extended lists. The access list controls which local sources are advertised and to which groups they send.

- (Optional) For asn aspath-access-list-number , enter the IP standard or extended access list number in the range 1 to 199. This access list number must also be configured in the ip as-path access-list command.

- (Optional) For route-map map , enter the IP standard or extended access list number in the range 1 to 199. This access list number must also be configured in the ip as-path access-list command.

The switch advertises (S,G) pairs according to the access list or autonomous system path access list.

Step 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

or

access-list access-list-number { deny | permit } protocol source source-wildcard destination destination-wildcard

Create an IP standard access list, repeating the command as many times as necessary.

or

Create an IP extended access list, repeating the command as many times as necessary.

- For access-list-number , the range is 1 to 99 for standard access lists and 100 to 199 for extended lists. Enter the same number created in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For protocol , enter ip as the protocol name.

- For source , enter the number of the network or host from which the packet is being sent.

- For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

- For destination , enter the number of the network or host to which the packet is being sent.

- For destination-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the destination. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the filter, use the no ip msdp redistribute global configuration command.

EXAMPLE

The following example shows how to configure which (S, G) entries from the mroute table are advertised in SA messages originated from AS 64512:

Switch(config)# ip msdp redistribute route-map customer-sources

Switch(config)# route-map customer-sources permit

Switch(config)# match as-path 100

Switch(config)# ip as-path access-list 100 permit ^64512$

Filtering Source-Active Request Messages

By default, only switches that are caching SA information can respond to SA requests. By default, such a switch honors all SA request messages from its MSDP peers and supplies the IP addresses of the active sources.

However, you can configure the switch to ignore all SA requests from an MSDP peer. You can also honor only those SA request messages from a peer for groups described by a standard access list. If the groups in the access list pass, SA request messages are accepted. All other such messages from the peer for other groups are ignored.

Follow this procedure to configure one of these options. This procedure is optional.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp filter-sa-request ip-address | name

or

ip msdp filter-sa-request { ip-address | name } list access-list-number

Filter all SA request messages from the specified MSDP peer.

or

Filter SA request messages from the specified MSDP peer for groups that pass the standard access list. The access list describes a multicast group address. The range for the access-list-number is 1 to 99.

Step 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

Create an IP standard access list, repeating the command as many times as necessary.

- For access-list-number , the range is 1 to 99.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For source , enter the number of the network or host from which the packet is being sent.

- (Optional) For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip msdp filter-sa-request { ip-address | name } global configuration command.

EXAMPLE

This example shows how to configure the switch to filter SA request messages from the MSDP peer at 171.69.2.2. SA request messages from sources on network 192.4.22.0 pass access list 1 and are accepted; all others are ignored.

Switch(config)# ip msdp filter sa-request 171.69.2.2 list 1

Switch(config)# access-list 1 permit 192.4.22.0 0.0.0.255

Controlling Source Information that Your Switch Forwards

By default, the switch forwards all SA messages it receives to all its MSDP peers. However, you can prevent outgoing messages from being forwarded to a peer by using a filter or by setting a time-to-live (TTL) value. These methods are described in the next sections.

Using a Filter

By creating a filter, you can perform one of these actions:

- Filter all source/group pairs

- Specify an IP extended access list to pass only certain source/group pairs

- Filter based on match criteria in a route map

Follow this procedure to apply a filter. This procedure is optional.

BEFORE YOU BEGIN

For best practice information related to configuring MSDP SA message filters, see the Multicast Source Discovery Protocol SA Filter Recommendations tech note.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp sa-filter out ip-address | name

or

ip msdp sa-filter out { ip-address | name } list access-list-number

or

ip msdp sa-filter out { ip-address | name } route-map map-tag

Filter all SA messages to the specified MSDP peer.

or

To the specified peer, pass only those SA messages that pass the IP extended access list. The range for the extended access-list-number is 100 to 199.

If both the list and the route-map keywords are used, all conditions must be true to pass any (S,G) pair in outgoing SA messages.

or

To the specified MSDP peer, pass only those SA messages that meet the match criteria in the route map map-tag .

If all match criteria are true, a permit from the route map passes routes through the filter. A deny filters routes.

Step 3

access-list access-list-number { deny | permit } protocol source source-wildcard destination destination-wildcard

(Optional) Create an IP extended access list, repeating the command as many times as necessary.

- For access-list-number , enter the number specified in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For protocol , enter ip as the protocol name.

- For source , enter the number of the network or host from which the packet is being sent.

- For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

- For destination , enter the number of the network or host to which the packet is being sent.

- For destination-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the destination. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the filter, use the no ip msdp sa-filter out { ip-address | name } [ list access-list-number ] [ route-map map-tag ] global configuration command.

EXAMPLE

This example shows how to allow only (S,G) pairs that pass access list 100 to be forwarded in an SA message to the peer named switch.cisco.com :

Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1

Switch(config)# ip msdp sa-filter out switch.cisco.com list 100

Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.20 0 0.0.255.255

Using TTL to Limit the Multicast Data Sent in SA Messages

You can use a TTL value to control what data is encapsulated in the first SA message for every source. Only multicast packets with an IP-header TTL greater than or equal to the ttl argument are sent to the specified MSDP peer. For example, you can limit internal traffic to a TTL of 8. If you want other groups to go to external locations, you must send those packets with a TTL greater than 8.

Follow this procedure to establish a TTL threshold. This procedure is optional.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp ttl-threshold { ip-address | name } ttl

Limit which multicast data is encapsulated in the first SA message to the specified MSDP peer.

- For ip-address | name , enter the IP address or name of the MSDP peer to which the TTL limitation applies.

- For ttl , enter the TTL value. The default is 0, which means all multicast data packets are forwarded to the peer until the TTL is exhausted. The range is 0 to 255.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting, use the no ip msdp ttl-threshold { ip-address | name } global configuration command.

EXAMPLE

The following example shows how to configure a TTL threshold of 8 hops:

Switch(config)# ip msdp ttl-threshold 192.168.1.5 8

Controlling Source Information that Your Switch Receives

By default, the switch receives all SA messages that its MSDP RPF peers send to it. However, you can control the source information that you receive from MSDP peers by filtering incoming SA messages. In other words, you can configure the switch to not accept them.

You can perform one of these actions:

- Filter all incoming SA messages from an MSDP peer

- Specify an IP extended access list to pass certain source/group pairs

- Filter based on match criteria in a route map

Follow this procedure to apply a filter. This procedure is optional.

BEFORE YOU BEGIN

For best practice information related to configuring MSDP SA message filters, see the Multicast Source Discovery Protocol SA Filter Recommendations tech note.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp sa-filter in ip-address | name

or

ip msdp sa-filter in { ip-address | name } list access-list-number

or

ip msdp sa-filter in { ip-address | name } route-map map-tag

Filter all SA messages from the specified MSDP peer.

or

From the specified peer, pass only those SA messages that pass the IP extended access list. The range for the extended access-list-number is 100 to 199.

If both the list and the route-map keywords are used, all conditions must be true to pass any (S,G) pair in incoming SA messages.

or

From the specified MSDP peer, pass only those SA messages that meet the match criteria in the route map map-tag .

If all match criteria are true, a permit from the route map passes routes through the filter. A deny will filter routes.

Step 3

access-list access-list-number { deny | permit } protocol source source-wildcard destination destination-wildcard

(Optional) Create an IP extended access list, repeating the command as many times as necessary.

- For access-list-number , enter the number specified in Step 2.

- The deny keyword denies access if the conditions are matched. The permit keyword permits access if the conditions are matched.

- For protocol , enter ip as the protocol name.

- For source , enter the number of the network or host from which the packet is being sent.

- For source-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the source. Place ones in the bit positions that you want to ignore.

- For destination , enter the number of the network or host to which the packet is being sent.

- For destination-wildcard , enter the wildcard bits in dotted decimal notation to be applied to the destination. Place ones in the bit positions that you want to ignore.

Recall that the access list is always terminated by an implicit deny statement for everything.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To remove the filter, use the no ip msdp sa-filter in { ip-address | name } [ list access-list-number ] [ route-map map-tag ] global configuration command.

EXAMPLE

This example shows how to filter all SA messages from the peer named switch.cisco.com :

Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1

Switch(config)# ip msdp sa-filter in switch.cisco.com

Configuring an MSDP Mesh Group

An MSDP mesh group is a group of MSDP speakers that have fully meshed MSDP connectivity among one another. Any SA messages received from a peer in a mesh group are not forwarded to other peers in the same mesh group. Thus, you reduce SA message flooding and simplify peer-RPF flooding. Use the ip msdp mesh-group global configuration command when there are multiple RPs within a domain. It is especially used to send SA messages across a domain. You can configure multiple mesh groups (with different names) in a single switch. This procedure is optional.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp mesh-group name { ip-address | name }

Configure an MSDP mesh group, and specify the MSDP peer belonging to that mesh group.

By default, the MSDP peers do not belong to a mesh group.

- For name , enter the name of the mesh group.

- For ip-address | name , enter the IP address or name of the MSDP peer to be a member of the mesh group.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Step 6

Repeat this procedure on each MSDP peer in the group.

To remove an MSDP peer from a mesh group, use the no ip msdp mesh-group name { ip-address | name } global configuration command.

EXAMPLE

The following example shows how to configure the MSDP peer at address 192.168.1.3 to be a member of the mesh group named internal:

Switch(config)# ip msdp mesh-group internal 192.168.1.3

Shutting Down an MSDP Peer

If you want to configure many MSDP commands for the same peer and you do not want the peer to become active, you can shut down the peer, configure it, and later bring it up. When a peer is shut down, the TCP connection is terminated and is not restarted. You can also shut down an MSDP session without losing configuration information for the peer. This procedure is optional.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp shutdown { peer-name | peer address }

Administratively shut down the specified MSDP peer without losing configuration information.

For peer-name | peer address, enter the IP address or name of the MSDP peer to shut down.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To bring the peer back up, use the no ip msdp shutdown { peer-name | peer address } global configuration command. The TCP connection is reestablished.

EXAMPLE

The following example shows how to shut down the MSDP peer at IP address 192.168.7.20:

Switch(config)# ip msdp shutdown 192.168.7.20

Including a Bordering PIM Dense-Mode Region in MSDP

You can configure MSDP on a switch that borders a PIM sparse-mode region with a dense-mode region. By default, active sources in the dense-mode region do not participate in MSDP.

Follow this procedure to configure the border router to send SA messages for sources active in the dense-mode region to the MSDP peers. This procedure is optional.

BEFORE YOU BEGIN

- We do not recommend using the ip msdp border sa-address global configuration command. It is better to configure the border router in the sparse-mode domain to proxy-register sources in the dense-mode domain to the RP of the sparse-mode domain and have the sparse-mode domain use standard MSDP procedures to advertise these sources.

- If you use the ip msdp border sa-address command, you must constrain the sources advertised by using the ip msdp redistribute command. Configure the ip msdp redistribute command to apply to only local sources. Be aware that this configuration can result in (S, G) state remaining long after a source in the dense mode domain has stopped sending.

- Note that the ip msdp originator-id global configuration command also identifies an interface to be used as the RP address. If both the ip msdp border sa-address and the ip msdp originator-id global configuration commands are configured, the address derived from the ip msdp originator-id command specifies the RP address.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp border sa-address interface-id

Configure the switch on the border between a dense-mode and sparse-mode region to send SA messages about active sources in the dense-mode region.

For interface-id , specify the interface from which the IP address is derived and used as the RP address in SA messages.

The IP address of the interface is used as the Originator-ID, which is the RP field in the SA message.

Step 3

ip msdp redistribute [ list access-list-name ] [ asn aspath-access-list-number ] [ route-map map ]

Configure which (S,G) entries from the multicast routing table are advertised in SA messages.

For more information, see the “Redistributing Sources” section.

Step 4

end

Return to privileged EXEC mode.

Step 5

show running-config

Verify your entries.

Step 6

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To return to the default setting (active sources in the dense-mode region do not participate in MSDP), use the no ip msdp border sa-address interface-id global configuration command.

EXAMPLE

In the following example, the local router is not an RP. It borders a PIM sparse mode region with a dense mode region. It uses the IP address of Ethernet interface 0 as the “RP” address in SA messages.

Switch(config)# ip msdp border sa-address ethernet0

Configuring an Originating Address other than the RP Address

You can allow an MSDP speaker that originates an SA message to use the IP address of the interface as the RP address in the SA message by changing the Originator ID. You might change the Originator ID in one of these cases:

- If you configure a logical RP on multiple switches in an MSDP mesh group.

- If you have a switch that borders a PIM sparse-mode domain and a dense-mode domain. If a switch borders a dense-mode domain for a site, and sparse-mode is being used externally, you might want dense-mode sources to be known to the outside world. Because this switch is not an RP, it would not have an RP address to use in an SA message. Therefore, this command provides the RP address by specifying the address of the interface.

This procedure is optional.

BEFORE YOU BEGIN

If both the ip msdp border sa-address and the ip msdp originator-id global configuration commands are configured, the address derived from the ip msdp originator-id command specifies the address of the RP.

DETAILED STEPS

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

ip msdp originator-id interface-id

Configures the RP address in SA messages to be the address of the originating device interface.

For interface-id , specify the interface on the local switch.

Step 3

end

Return to privileged EXEC mode.

Step 4

show running-config

Verify your entries.

Step 5

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To prevent the RP address from being derived in this way, use the no ip msdp originator-id interface-id global configuration command.

EXAMPLE

The following example shows how to configure the IP address of Ethernet interface 1 as the RP address in SA messages:

Switch(config)# ip msdp originator-id ethernet1

Verifying Configuration

Command

Purpose

debug ip msdp [ peer-address | name ] [ detail ] [ routes ]

Debugs an MSDP activity.

debug ip msdp resets

Debugs MSDP peer reset reasons.

show ip msdp count [ autonomous-system-number ]

Displays the number of sources and groups originated in SA messages from each autonomous system. The ip msdp cache-sa-state command must be configured for this command to produce any output.

show ip msdp peer [ peer-address | name ]

Displays detailed information about an MSDP peer.

show ip msdp sa-cache [ group-address | source-address | group-name | source-name ] [ autonomous-system-number ]

Displays (S,G) state learned from MSDP peers.

show ip msdp summary

Displays MSDP peer status and SA message counts.

To clear MSDP connections, statistics, or SA cache entries, use the following privileged EXEC commands:

Command

Purpose

clear ip msdp peer peer-address | name

Clears the TCP connection to the specified MSDP peer, resetting all MSDP message counters.

clear ip msdp statistics [ peer-address | name ]

Clears statistics counters for one or all the MSDP peers without resetting the sessions.

clear ip msdp sa-cache [ group-address | name ]

Clears the SA cache entries for all entries, all sources for a specific group, or all entries for a specific source/group pair.

Configuration Example

This example shows a partial configuration of Router A and Router C in Figure 5-2. Each of these ISPs have more than one customer (like the customer in Figure 5-2) who use default peering (no BGP or MBGP). In that case, they might have similar configurations. That is, they accept SAs only from a default peer if the SA is permitted by the corresponding prefix list.

Router A

Router(config)# ip msdp default-peer 10.1.1.1

Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a

Router(config)# ip prefix-list site-b permit 10.0.0.0/1

Router C

Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a

Router(config)# ip prefix-list site-b permit 10.0.0.0/1

This example shows how to enable the cache state for all sources in 171.69.0.0/16 sending to groups 224.2.0.0/16:

Switch(config)# ip msdp cache-sa-state 100

Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.2.0.0 0.0.255.255

This example shows how to configure the switch to send SA request messages to the MSDP peer at 171.69.1.1:

Switch(config)# ip msdp sa-request 171.69.1.1

The following example shows how to configure which (S, G) entries from the mroute table are advertised in SA messages originated from AS 64512:

Switch(config)# ip msdp redistribute route-map customer-sources

Switch(config)# route-map customer-sources permit

Switch(config)# match as-path 100

Switch(config)# ip as-path access-list 100 permit ^64512$

This example shows how to configure the switch to filter SA request messages from the MSDP peer at 171.69.2.2. SA request messages from sources on network 192.4.22.0 pass access list 1 and are accepted; all others are ignored.

Switch(config)# ip msdp filter sa-request 171.69.2.2 list 1

Switch(config)# access-list 1 permit 192.4.22.0 0.0.0.255

This example shows how to allow only (S,G) pairs that pass access list 100 to be forwarded in an SA message to the peer named switch.cisco.com :

Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1

Switch(config)# ip msdp sa-filter out switch.cisco.com list 100

Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.20 0 0.0.255.255

The following example shows how to configure a TTL threshold of 8 hops:

Switch(config)# ip msdp ttl-threshold 192.168.1.5 8

This example shows how to filter all SA messages from the peer named switch.cisco.com :

Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1

Switch(config)# ip msdp sa-filter in switch.cisco.com

The following example shows how to configure the MSDP peer at address 192.168.1.3 to be a member of the mesh group named internal:

Switch(config)# ip msdp mesh-group internal 192.168.1.3

The following example shows how to shut down the MSDP peer at IP address 192.168.7.20:

Switch(config)# ip msdp shutdown 192.168.7.20

In the following example, the local router is not an RP. It borders a PIM sparse mode region with a dense mode region. It uses the IP address of Ethernet interface 0 as the “RP” address in SA messages.

Switch(config)# ip msdp border sa-address ethernet0

The following example shows how to configure the IP address of Ethernet interface 1 as the RP address in SA messages:

Switch(config)# ip msdp originator-id ethernet1

Related Documents

- Cisco IOS IP Multicast Command Reference

- IP Multicast Configuration Guide Library, Cisco IOS Release 15M&T

- Cisco IOS Master Command List, All Releases

Feature History

Platform

First Supported Release

IE 2000U

Cisco IOS Release 15.0(2)EH

CGS 2520

Cisco IOS Release 12.2(53)EX

Ethernet Switch Module (ESM) for CGR 2010

Cisco IOS Release 12.2(53)EX