Chapter 1. Using the Command-Line Interface

Information About Using the Command-Line Interface

Command Modes

Using the Help System

Understanding Abbreviated Commands

No and Default Forms of Commands

CLI Error Messages

Configuration Logging

Configuring the Command History

Changing the Command History Buffer Size

Recalling Commands

Disabling the Command History Feature

Enabling and Disabling Editing Features

Editing Commands Through Keystrokes

Editing Command Lines That Wrap

Searching and Filtering Output of show and more Commands

Accessing the CLI Through a Console Connection or Through Telnet

Chapter 2. Using the Web Graphical User Interface

Prerequisites for Using the Web GUI

Information About Using The Web GUI

Web GUI Features

Connecting the Console Port of the Controller

Logging On to the Web GUI

Enabling Web and Secure Web Modes

Configuring the Controller Web GUI

Chapter 3. Configuring IGMP

Finding Feature Information

Prerequisites for IGMP

Restrictions for Configuring IGMP

Role of the Internet Group Management Protocol

IGMP Multicast Addresses

IGMP Versions and Differences

IGMPv3 Host Signaling

IGMP Join Process

IGMP Leave Process

IGMP Snooping

Joining a Multicast Group

Leaving a Multicast Group

Immediate Leave

IGMP Configurable-Leave Timer

IGMP Report Suppression

IGMP Filtering and Throttling Overview

Default IGMP Configuration

Default IGMP Snooping Configuration

Default IGMP Filtering and Throttling Configuration

Configuring the Controller as a Member of a Group (CLI)

Controlling Access to IP Multicast Group

Modifying the IGMP Host-Query Message Interval (CLI)

Changing the IGMP Query Timeout for IGMPv2 (CLI)

Changing the Maximum Query Response Time for IGMPv2 (CLI)

Configuring the Controller as a Statically Connected Member (CLI)

Configuring IGMP Profiles (CLI)

Applying IGMP Profiles (CLI)

Setting the Maximum Number of IGMP Groups (CLI)

Configuring the IGMP Throttling Action (CLI)

Enabling IGMP Snooping

Enabling or Disabling IGMP Snooping on a VLAN Interface (CLI)

Setting the Snooping Method (CLI)

Configuring a Multicast Router Port (CLI)

Configuring a Host Statically to Join a Group (CLI)

Enabling IGMP Immediate Leave (CLI)

Configuring the IGMP Leave Timer (CLI)

Configuring the IGMP Robustness-Variable (CLI)

Configuring the IGMP Last Member Query Count (CLI)

Controlling the Multicast Flooding Time After a TCN Event (CLI)

Recovering from Flood Mode (CLI)

Disabling Multicast Flooding During a TCN Event (CLI)

Configuring the IGMP Snooping Querier (CLI)

Disabling IGMP Report Suppression (CLI)

Monitoring IGMP

Displaying IGMP Snooping Information

Displaying IGMP Filtering and Throttling Configuration

Example: Configuring the Controller as a Member of a Multicast Group

Example: Controlling Access to Multicast Groups

Examples: Configuring IGMP Snooping

Example: Configuring IGMP Profiles

Example: Applying IGMP Profile

Example: Setting the Maximum Number of IGMP Groups

Example: Interface Configuration as a Routed Port

Example: Interface Configuration as an SVI

Chapter 4. Configuring Wireless Multicast

Finding Feature Information

Prerequisites for Configuring Wireless Multicast

Restrictions for Configuring Wireless Multicast

Information About Wireless Multicast

Information About Multicast Optimization

Configuring Wireless Multicast-MCMC Mode (CLI)

Configuring Wireless Multicast-MCUC Mode (CLI)

Configuring IPv6 Snooping (CLI)

Configuring IPv6 Snooping Policy (CLI)

Configuring Layer 2 Port as Multicast Router Port (CLI)

Configuring RA Guard (CLI)

Configuring Non-IP Wireless Multicast (CLI)

Configuring Wireless Broadcast (CLI)

Configuring IP Multicast VLAN for WLAN (CLI)

Monitoring Wireless Multicast

Where to Go Next for Wireless Multicast

Chapter 5. Configuring the Service Discovery Gateway

Finding Feature Information

Restrictions for Configuring the Service Discovery Gateway

mDNS

mDNS-SD

mDNS-SD Considerations for Wireless Clients

Service Discovery Gateway

mDNS Gateway and Subnets

Filtering

Configuring the Service List (CLI)

Configuring the Service List (GUI)

Enabling mDNS Gateway and Redistributing Services (CLI)

Configuring Interface Service Rules (GUI)

Configuring mDNS Global Rules (GUI)

Monitoring Service Discovery Gateway

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

Example: Redistribute Service Announcements

Example: Disable Bridging of mDNS Packets to Wireless Clients

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

Example: Enabling mDNS Gateway and Redistributing Services

Example: Global mDNS Configuration

Example: Interface mDNS Configuration

Where to Go Next for Configuring Services Discovery Gateway

Additional References

Feature History and Information for Services Discovery Gateway

Preface

Changes to This Document

Obtaining Documentation and Submitting a Service Request

Document Conventions

Related Documentation

Copyright Page

Chapter 1. Using the Command-Line Interface

- Information About Using the Command-Line Interface

Information About Using the Command-Line Interface

- Command Modes

- Using the Help System

- Understanding Abbreviated Commands

- No and Default Forms of Commands

- CLI Error Messages

- Configuration Logging

Command Modes

The Cisco IOS user interface is divided into many different modes. The commands available to you depend on which mode you are currently in. Enter a question mark (?) at the system prompt to obtain a list of commands available for each command mode.

You can start a CLI session through a console connection, through Telnet, a SSH, or by using the browser.

When you start a session, you begin in user mode, often called user EXEC mode. Only a limited subset of the commands are available in user EXEC mode. For example, most of the user EXEC commands are one-time commands, such as show commands, which show the current configuration status, and clear commands, which clear counters or interfaces. The user EXEC commands are not saved when the controller reboots.

To have access to all commands, you must enter privileged EXEC mode. Normally, you must enter a password to enter privileged EXEC mode. From this mode, you can enter any privileged EXEC command or enter global configuration mode.

Using the configuration modes (global, interface, and line), you can make changes to the running configuration. If you save the configuration, these commands are stored and used when the controller reboots. To access the various configuration modes, you must start at global configuration mode. From global configuration mode, you can enter interface configuration mode and line configuration mode.

This table describes the main command modes, how to access each one, the prompt you see in that mode, and how to exit the mode.

Command Mode Summary

Mode

Access Method

Prompt

Exit Method

About This Mode

User EXEC

Begin a session using Telnet, SSH, or console.

Controller>

Enter logout or quit.

Use this mode to

- Change terminal settings.

- Perform basic tests.

- Display system information.

Privileged EXEC

While in user EXEC mode, enter the enable command.

Controller#

Enter disable to exit.

Use this mode to verify commands that you have entered. Use a password to protect access to this mode.

Use this mode to execute privilege EXEC commands for access points. These commands are not part of the running config of the controller, they are sent to the IOS config of the access point.

Global configuration

While in privileged EXEC mode, enter the configure command.

Controller(config)#

To exit to privileged EXEC mode, enter exit or end, or press Ctrl-Z.

Use this mode to configure parameters that apply to the entire controller.

Use this mode to configure access point commands that are part of the running config of the controller.

VLAN configuration

While in global configuration mode, enter the vlan vlan-id command.

Controller(config-vlan)#

To exit to global configuration mode, enter the exit command.

To return to privileged EXEC mode, press Ctrl-Z or enter end.

Use this mode to configure VLAN parameters. When VTP mode is transparent, you can create extended-range VLANs (VLAN IDs greater than 1005) and save configurations in the controller startup configuration file.

Interface configuration

While in global configuration mode, enter the interface command (with a specific interface).

Controller(config-if)#

To exit to global configuration mode, enter exit.

To return to privileged EXEC mode, press Ctrl-Z or enter end.

Use this mode to configure parameters for the Ethernet ports.

Line configuration

While in global configuration mode, specify a line with the line vty or line console command.

Controller(config-line)#

To exit to global configuration mode, enter exit.

To return to privileged EXEC mode, press Ctrl-Z or enter end.

Use this mode to configure parameters for the terminal line.

Using the Help System

You can enter a question mark (?) at the system prompt to display a list of commands available for each command mode. You can also obtain a list of associated keywords and arguments for any command.

SUMMARY STEPS

1.    help

2.    abbreviated-command-entry ?

3.    abbreviated-command-entry <Tab>

4.    ?

5.    command ?

6.    command keyword ?

DETAILED STEPS

Command or Action

Purpose

Step 1

help

Example:

Controller# help

Obtains a brief description of the help system in any command mode.

Step 2

abbreviated-command-entry ?

Example:

Controller# di?
dir disable disconnect

Obtains a list of commands that begin with a particular character string.

Step 3

abbreviated-command-entry <Tab>

Example:

Controller# sh conf<tab>
Controller# show configuration

Completes a partial command name.

Step 4

?

Example:

Controller> ?

Lists all commands available for a particular command mode.

Step 5

command ?

Example:

Controller> show ?

Lists the associated keywords for a command.

Step 6

command keyword ?

Example:

Controller(config)# cdp holdtime ?
<10-255> Length of time (in sec) that receiver must keep this packet

Lists the associated arguments for a keyword.

Understanding Abbreviated Commands

You need to enter only enough characters for the controller to recognize the command as unique.

This example shows how to enter the show configuration privileged EXEC command in an abbreviated form:

Controller# show conf

No and Default Forms of Commands

Almost every configuration command also has a no form. In general, use the no form to disable a feature or function or reverse the action of a command. For example, the no shutdown interface configuration command reverses the shutdown of an interface. Use the command without the keyword no to reenable a disabled feature or to enable a feature that is disabled by default.

Configuration commands can also have a default form. The default form of a command returns the command setting to its default. Most commands are disabled by default, so the default form is the same as the no form. However, some commands are enabled by default and have variables set to certain default values. In these cases, the default command enables the command and sets variables to their default values.

CLI Error Messages

This table lists some error messages that you might encounter while using the CLI to configure your controller.

Common CLI Error Messages

Error Message

Meaning

How to Get Help

% Ambiguous command: "show con"

You did not enter enough characters for your controller to recognize the command.

Reenter the command followed by a question mark (?) without any space between the command and the question mark.

The possible keywords that you can enter with the command appear.

% Incomplete command.

You did not enter all of the keywords or values required by this command.

Reenter the command followed by a question mark (?) with a space between the command and the question mark.

The possible keywords that you can enter with the command appear.

% Invalid input detected at ‘^’ marker.

You entered the command incorrectly. The caret (^) marks the point of the error.

Enter a question mark (?) to display all of the commands that are available in this command mode.

The possible keywords that you can enter with the command appear.

Configuration Logging

You can log and view changes to the controller configuration. You can use the Configuration Change Logging and Notification feature to track changes on a per-session and per-user basis. The logger tracks each configuration command that is applied, the user who entered the command, the time that the command was entered, and the parser return code for the command. This feature includes a mechanism for asynchronous notification to registered applications whenever the configuration changes. You can choose to have the notifications sent to the syslog.

Note

Only CLI or HTTP changes are logged.

Configuring the Command History

The software provides a history or record of commands that you have entered. The command history feature is particularly useful for recalling long or complex commands or entries, including access lists. You can customize this feature to suit your needs.

- Changing the Command History Buffer Size

- Recalling Commands

- Disabling the Command History Feature

Changing the Command History Buffer Size

By default, the controller records ten command lines in its history buffer. You can alter this number for a current terminal session or for all sessions on a particular line. This procedure is optional.

SUMMARY STEPS

1.    terminal history [size number-of-lines]

DETAILED STEPS

Command or Action

Purpose

Step 1

terminal history [size number-of-lines]

Example:

Controller# terminal history size 200

Changes the number of command lines that the controller records during the current terminal session in privileged EXEC mode. You can configure the size from 0 to 256.

Recalling Commands

To recall commands from the history buffer, perform one of the actions listed in this table. These actions are optional.

Note

The arrow keys function only on ANSI-compatible terminals such as VT100s.

SUMMARY STEPS

1.    Ctrl-P or use the up arrow key

2.    Ctrl-N or use the down arrow key

3.    show history

DETAILED STEPS

Command or Action

Purpose

Step 1

Ctrl-P or use the up arrow key

Recalls commands in the history buffer, beginning with the most recent command. Repeat the key sequence to recall successively older commands.

Step 2

Ctrl-N or use the down arrow key

Returns to more recent commands in the history buffer after recalling commands with Ctrl-P or the up arrow key. Repeat the key sequence to recall successively more recent commands.

Step 3

show history

Example:

Controller# show history

Lists the last several commands that you just entered in privileged EXEC mode. The number of commands that appear is controlled by the setting of the terminal history global configuration command and the history line configuration command.

Disabling the Command History Feature

The command history feature is automatically enabled. You can disable it for the current terminal session or for the command line. This procedure is optional.

SUMMARY STEPS

1.    terminal no history

DETAILED STEPS

Command or Action

Purpose

Step 1

terminal no history

Example:

Controller# terminal no history

Disables the feature during the current terminal session in privileged EXEC mode.

Enabling and Disabling Editing Features

Although enhanced editing mode is automatically enabled, you can disable it and reenable it.

SUMMARY STEPS

1.    terminal editing

2.    terminal no editing

DETAILED STEPS

Command or Action

Purpose

Step 1

terminal editing

Example:

Controller# terminal editing

Reenables the enhanced editing mode for the current terminal session in privileged EXEC mode.

Step 2

terminal no editing

Example:

Controller# terminal no editing

Disables the enhanced editing mode for the current terminal session in privileged EXEC mode.

- Editing Commands Through Keystrokes

- Editing Command Lines That Wrap

Editing Commands Through Keystrokes

The keystrokes help you to edit the command lines. These keystrokes are optional.

Note

The arrow keys function only on ANSI-compatible terminals such as VT100s.

Editing Commands

Editing Commands

Description

Ctrl-B or use the left arrow key

Moves the cursor back one character.

Ctrl-F or use the right arrow key

Moves the cursor forward one character.

Ctrl-A

Moves the cursor to the beginning of the command line.

Ctrl-E

Moves the cursor to the end of the command line.

Esc B

Moves the cursor back one word.

Esc F

Moves the cursor forward one word.

Ctrl-T

Transposes the character to the left of the cursor with the character located at the cursor.

Delete or Backspace key

Erases the character to the left of the cursor.

Ctrl-D

Deletes the character at the cursor.

Ctrl-K

Deletes all characters from the cursor to the end of the command line.

Ctrl-U or Ctrl-X

Deletes all characters from the cursor to the beginning of the command line.

Ctrl-W

Deletes the word to the left of the cursor.

Esc D

Deletes from the cursor to the end of the word.

Esc C

Capitalizes at the cursor.

Esc L

Changes the word at the cursor to lowercase.

Esc U

Capitalizes letters from the cursor to the end of the word.

Ctrl-V or Esc Q

Designates a particular keystroke as an executable command, perhaps as a shortcut.

Return key

Scrolls down a line or screen on displays that are longer than the terminal screen can display.

Note:
The More prompt is used for any output that has more lines than can be displayed on the terminal screen, including show command output. You can use the Return and Space bar keystrokes whenever you see the More prompt.

Space bar

Scrolls down one screen.

Ctrl-L or Ctrl-R

Redisplays the current command line if the controller suddenly sends a message to your screen.

Editing Command Lines That Wrap

You can use a wraparound feature for commands that extend beyond a single line on the screen. When the cursor reaches the right margin, the command line shifts ten spaces to the left. You cannot see the first ten characters of the line, but you can scroll back and check the syntax at the beginning of the command. The keystroke actions are optional.

To scroll back to the beginning of the command entry, press Ctrl-B or the left arrow key repeatedly. You can also press Ctrl-A to immediately move to the beginning of the line.

Note

The arrow keys function only on ANSI-compatible terminals such as VT100s.

The following example shows how to wrap a command line that extends beyond a single line on the screen.

SUMMARY STEPS

1.    access-list

2.    Ctrl-A

3.    Return key

DETAILED STEPS

Command or Action

Purpose

Step 1

access-list

Example:

Controller(config)# access-list 101 permit tcp 10.15.22.25 255.255.255.0 10.15.22.35
Controller(config)# $ 101 permit tcp 10.15.22.25 255.255.255.0 10.15.22.35 255.25
Controller(config)# $t tcp 10.15.22.25 255.255.255.0 131.108.1.20 255.255.255.0 eq
Controller(config)# $15.22.25 255.255.255.0 10.15.22.35 255.255.255.0 eq 45

Displays the global configuration command entry that extends beyond one line.

When the cursor first reaches the end of the line, the line is shifted ten spaces to the left and redisplayed. The dollar sign ($) shows that the line has been scrolled to the left. Each time the cursor reaches the end of the line, the line is again shifted ten spaces to the left.

Step 2

Ctrl-A

Example:

Controller(config)# access-list 101 permit tcp 10.15.22.25 255.255.255.0 10.15.2$

Checks the complete syntax.

The dollar sign ($) appears at the end of the line to show that the line has been scrolled to the right.

Step 3

Return key

Execute the commands.

The software assumes that you have a terminal screen that is 80 columns wide. If you have a different width, use the terminal width privileged EXEC command to set the width of your terminal.

Use line wrapping with the command history feature to recall and modify previous complex command entries.

Searching and Filtering Output of show and more Commands

You can search and filter the output for show and more commands. This is useful when you need to sort through large amounts of output or if you want to exclude output that you do not need to see. Using these commands is optional.

SUMMARY STEPS

1.    {show | more} command | {begin | include | exclude} regular-expression

DETAILED STEPS

Command or Action

Purpose

Step 1

{show | more} command | {begin | include | exclude} regular-expression

Example:

Controller# show interfaces | include protocol
Vlan1 is up, line protocol is up
Vlan10 is up, line protocol is down
GigabitEthernet1/0/1 is up, line protocol is down
GigabitEthernet1/0/2 is up, line protocol is up

Searches and filters the output.

Expressions are case sensitive. For example, if you enter | exclude output, the lines that contain output are not displayed, but the lines that contain output appear.

Accessing the CLI Through a Console Connection or Through Telnet

Before you can access the CLI, you must connect a terminal or a PC to the controller console or connect a PC to the Ethernet management port and then power on the controller, as described in the hardware installation guide that shipped with your controller.

If your controller is already configured, you can access the CLI through a local console connection or through a remote Telnet session, but your controller must first be configured for this type of access.

You can use one of these methods to establish a connection with the controller:

- Connect the controller console port to a management station or dial-up modem, or connect the Ethernet management port to a PC. For information about connecting to the console or Ethernet management port, see the controller hardware installation guide.

- Use any Telnet TCP/IP or encrypted Secure Shell (SSH) package from a remote management station. The controller must have network connectivity with the Telnet or SSH client, and the controller must have an enable secret password configured.

- The controller supports up to 16 simultaneous Telnet sessions. Changes made by one Telnet user are reflected in all other Telnet sessions.

- The controller supports up to five simultaneous secure SSH sessions.

After you connect through the console port, through the Ethernet management port, through a Telnet session or through an SSH session, the user EXEC prompt appears on the management station.

Chapter 2. Using the Web Graphical User Interface

- Prerequisites for Using the Web GUI

- Information About Using The Web GUI

- Connecting the Console Port of the Controller

- Logging On to the Web GUI

- Enabling Web and Secure Web Modes

- Configuring the Controller Web GUI

Prerequisites for Using the Web GUI

- The GUI must be used on a PC running Windows 7, Windows XP SP1 (or later releases), or Windows 2000 SP4 (or later releases).

- The controller GUI is compatible with Microsoft Internet Explorer version 10.x, Mozilla Firefox 20.x, or Google Chrome 26.x.

Information About Using The Web GUI

A web browser, or graphical user interface (GUI), is built into each controller.

You can use either the service port interface or the management interface to access the GUI. We recommend that you use the service-port interface. Click Help at the top of any page in the GUI to display online help. You might need to disable your browser’s pop-up blocker to view the online help.

- Web GUI Features

Web GUI Features

The controller web GUI supports the following:

The Configuration Wizard—After initial configuration of the IP address and the local username/password or auth via the authentication server (privilege 15 needed), the wizard provides a method to complete the initial wireless configuration. Start the wizard through Configuration -> Wizard and follow the nine-step process to configure the following:

- Admin Users

- SNMP System Summary

- Management Port

- Wireless Management

- RF Mobility and Country code

- Mobility configuration

- WLANs

- 802.11 Configuration

- Set Time

The Monitor tab:

- Displays summary details of controller, clients, and access points.

- Displays all radio and AP join statistics.

- Displays air quality on access points.

- Displays list of all Cisco Discovery Protocol (CDP) neighbors on all interfaces and the CDP traffic information.

- Displays all rogue access points based on their classification-friendly, malicious, ad hoc, classified, and unclassified.

The Configuration tab:

- Enables you to configure the controller for all initial operation using the web Configuration Wizard. The wizard allows you to configure user details, management interface, and so on.

- Enables you to configure the system, internal DHCP server, management, and mobility management parameters.

- Enables you to configure the controller, WLAN, and radios.

- Enables you to configure and set security policies on your controller.

- Enables you to access the controller operating system software management commands.

The Administration tab enables you to configure system logs.

Connecting the Console Port of the Controller

Before You Begin
Before you can configure the controller for basic operations, you need to connect it to a PC that uses a VT-100 terminal emulation program (such as HyperTerminal, ProComm, Minicom, or Tip).

Step 1

Connect one end of a null-modem serial cable to the controller's RJ-45 console port and the other end to your PC's serial port.

Step 2

Plug the AC power cord into the controller and a grounded 100 to 240 VAC, 50/60-Hz electrical outlet. Turn on the power supply. The bootup script displays operating system software initialization (code download and power-on self-test verification) and basic configuration. If the controller passes the power-on self-test, the bootup script runs the configuration wizard, which prompts you for basic configuration input.

Step 3

Enter yes. Proceed with basic initial setup configuration parameters in the CLI setup wizard. Specify the IP address for the service port which is the gigabitethernet 0/0 interface.
After entering the configuration parameters in the configuration wizard, you can access the Web GUI. Now, the controller is configured with the IP address for service port.

Logging On to the Web GUI

Step 1

Enter the controller IP address in your browser’s address bar. For a secure connection, enter https://ip-address. For a less secure connection, enter http://ip-address.

Step 2

When prompted, enter a valid username and password and click OK.
Note:
The administrative username and password that you created in the configuration wizard are case sensitive. The default username is admin, and the default password is cisco.

The Accessing page appears.

Enabling Web and Secure Web Modes

Step 1

Choose Configuration > Controller > Management > Protocol Management > HTTP-HTTPS.

The HTTP-HTTPS Configuration page appears.

Step 2

To enable web mode, which allows users to access the controller GUI using “http://ip-address,” choose Enabled from the HTTP Access drop-down list. Otherwise, choose Disabled. Web mode (HTTP) is not a secure connection.

Step 3

To enable secure web mode, which allows users to access the controller GUI using “https://ip-address,” choose Enabled from the HTTPS Access drop-down list. Otherwise, choose Disabled. Secure web mode (HTTPS) is a secure connection.

Step 4

Choose to track the device in the IP Device Tracking check box.

Step 5

Choose to enable the trust point in the Enable check box.

Step 6

Choose the trustpoints from the Trustpoints drop-down list.

Step 7

Enter the amount of time, in seconds, before the web session times out due to inactivity in the HTTP Timeout-policy (1 to 600 sec) text box.
The valid range is from 1 to 600 seconds.

Step 8

Enter the server life time in the Server Life Time (1 to 86400 sec) text box.
The valid range is from1 to 86400 seconds.

Step 9

Enter the maximum number of connection requests that the server can accept in the Maximum number of Requests (1 to 86400) text box.
The valid range is from 1 to 86400 connections.

Step 10

Click Apply.

Step 11

Click Save Configuration.

Configuring the Controller Web GUI

The configuration wizard enables you to configure basic settings on the controller. You can run the wizard after you receive the controller from the factory or after the controller has been reset to factory defaults. The configuration wizard is available in both GUI and CLI formats.

Step 1

Connect your PC to the service port and configure an IPv4 address to use the same subnet as the controller. The controller is loaded with IOS XE image and the service port interface is configured as gigabitethernet 0/0.

Step 2

Start Internet Explorer 10 (or later), Firefox 2.0.0.11 (or later), or Google Chrome on your PC and enter the management interface IP address on the browser window. The management interface IP address is same as the gigabitethernet 0/0 (also known as service port interface). When you log in for the first time, you need to enter HTTP username and password. By default, the username is admin and the password is cisco.
You can use both HTTP and HTTPS when using the service port interface. HTTPS is enabled by default and HTTP can also be enabled.

When you log in for the first time, the Accessing Cisco Controller <Model Number> <Hostname> page appears.

Step 3

On the Accessing Cisco Controller page, click the Wireless Web GUI link to access controller web GUI Home page.

Step 4

Choose Configuration > Wizard to perform all steps that you need to configure the controller initially.
The Admin Users page appears.

Step 5

On the Admin Users page, enter the administrative username to be assigned to this controller in the User Name text box and the administrative password to be assigned to this controller in the Password and Confirm Password text boxes. Click Next.
The default username is admin and the default password is cisco. You can also create a new administrator user for the controller. You can enter up to 24 ASCII characters for username and password.

The SNMP System Summary page appears.

Step 6

On the SNMP System Summary page, enter the following SNMP system parameters for the controller, and click Next:

- Customer-definable controller location in the Location text box.

- Customer-definable contact details such as phone number with names in the Contact text box.

- Choose enabled to send SNMP notifications for various SNMP traps or disabled not to send SNMP notifications for various SNMP traps from the SNMP Global Trap drop-down list.

- Choose enabled to send system log messages or disabled not to send system log messages from the SNMP Logging drop-down list.

Note:
The SNMP trap server, must be reachable through the distribution ports (and not through the gigabitethernet0/0 service or management interface).

The Management Port page appears.

Step 7

In the Management Port page, enter the following parameters for the management port interface (gigabitethernet 0/0) and click Next.

- Interface IP address that you assigned for the service port in the IP Address text box.

- Network mask address of the management port interface in the Netmask text box.

- The IPv4 Dynamic Host Configuration Protocol (DHCP) address for the selected port in the IPv4 DHCP Server text box.

The Wireless Management page appears.

Step 8

In the Wireless Management page, enter the following wireless interface management details, and click Next.

- Choose the interface—VLAN, or Ten Gigabit Ethernet from the Select Interface drop-down list.

- VLAN tag identifier, or 0 for no VLAN tag in the VLAN id text box.

- IP address of wireless management interface where access points are connected in the IP Address text box.

- Network mask address of the wireless management interface in the Netmask text box.

- DHCP IPv4 IP address in the IPv4 DHCP Server text box.

When selecting VLAN as interface, you can specify the ports as –Trunk or Access ports from the selected list displayed in the Switch Port Configuration text box.

The RF Mobility and Country Code page appears.

Step 9

In the RF Mobility and Country Code page, enter the RF mobility domain name in the RF Mobility text box, choose current country code from the Country Code drop-down list, and click Next. From the GUI, you can select only one country code.

Note:   Before configuring RF grouping parameters and mobility configuration, ensure that you refer to the relevant conceptual content and then proceed with the configuration.

The Mobility Configuration page with mobility global configuration settings appears.

Step 10

In the Mobility Configuration page, view and enter the following mobility global configuration settings, and click Next.

- Displays Mobility Controller in the Mobility Role text box.

- Displays mobility protocol port number in the Mobility Protocol Port text box.

- Displays the mobility group name in the Mobility Group Name text box.

- Displays whether DTLS is enabled in the DTLS Mode text box. DTLS is a standards-track Internet Engineering Task Force (IETF) protocol based on TLS.

- Displays mobility domain identifier for 802.11 radios in the Mobility Domain ID for 802.11 radios text box.

- Displays the number of members configured on the controller in the Mobility Domain Member Count text box.

- To enable the controller as a Mobility Oracle, select the Mobility Oracle Enabled check box.
Note:
Only the controller can be configured as Mobility Oracle. You cannot configure the switch as Mobility Oracle.

The Mobility Oracle is optional, it maintains the client database under one complete mobility domain.

- The amount of time (in seconds) between each ping request sent to an peer controller in the Mobility Keepalive Interval (1-30)sec text box. Valid range is from 1 to 30 seconds, and the default value is 10 seconds.

- Number of times a ping request is sent to an peer controller before the peer is considered to be unreachable in the Mobility Keepalive Count (3-20) text box. The valid range is from 3 to 20, and the default value is 3.

- The DSCP value that you can set for the mobility controller in the Mobility Control Message DSCP Value (0-63) text box. The valid range is 0 to 63, and the default value is 0.

The WLANs page appears.

Step 11

In the WLANs page, enter the following WLAN configuration parameters, and click Next.

- WLAN identifier in the WLAN ID text box.

- SSID of the WLAN that the client is associated with in the SSID text box.

- Name of the WLAN used by the client in the Profile Name text box.

The 802.11 Configuration page appears.

Step 12

In the 802.11 Configuration page, check either one or both 802.11a/n/ac and 802.11b/g/n check boxes to enable the 802.11 radios, and click Next.
The Set Time page appears.

Step 13

In the Set Time page, you can configure the time and date on the controller based on the following parameters, and click Next.

- Displays current timestamp on the controller in the Current Time text box.

- Choose either Manual or NTP from the Mode drop-down list. On using the NTP server, all access points connected to the controller, synchronizes its time based on the NTP server settings available.

- Choose date on the controller from the Year, Month, and Day drop-down list.

- Choose time from the Hours, Minutes, and Seconds drop-down list.

- Enter the time zone in the Zone text box and select the off setting required when compared to the current time configured on the controller from the Offset drop-down list.

The Save Wizard page appears.

Step 14

In the Save Wizard page, you can review the configuration settings performed on the controller using these steps, and if you wish to change any configuration value, click Previous and navigate to that page.
You can save the controller configuration created using the wizard only if a success message is displayed for all the wizards. If the Save Wizard page displays errors, you must recreate the wizard for initial configuration of the controller.

Chapter 3. Configuring IGMP

- Finding Feature Information

- Prerequisites for IGMP

- Restrictions for Configuring IGMP

- Monitoring IGMP

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to Click Here . An account on Cisco.com is not required.

Prerequisites for IGMP

- Before performing the tasks in this module, you should be familiar with the concepts explained in the “ IP Multicast Technology Overview ” module.

- The tasks in this module assume that IP multicast has been enabled and that the Protocol Independent Multicast (PIM) interfaces have been configured using the tasks described in the module.

Restrictions for Configuring IGMP

The following are the restrictions for configuring IGMP:

- The controller supports IGMP Versions 1, 2 , and 3.

Note

For IGMP Version 3, only IGMP Version 3 BISS (Basic IGMPv3 Snooping Support) is supported.

- IGMP Version 3 uses new membership report messages that might not be correctly recognized by older IGMP snooping controllers.

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

- IGMP filtering and throttling is not supported under the WLAN.

Role of the Internet Group Management Protocol

IGMP is used to dynamically register individual hosts in a multicast group on a particular LAN. Enabling PIM on an interface also enables IGMP. IGMP provides a means to automatically control and limit the flow of multicast traffic throughout your network with the use of special multicast queriers and hosts.

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

- A host is a receiver, including routers, that sends report messages (in response to query messages) to inform the querier of a host membership. Hosts use IGMP messages to join and leave multicast groups.

Hosts identify group memberships by sending IGMP messages to their local multicast device. Under IGMP, devices listen to IGMP messages and periodically send out queries to discover which groups are active or inactive on a particular subnet.

IGMP Multicast Addresses

IP multicast traffic uses group addresses, which are Class D IP addresses. The high-order four bits of a Class D address are 1110. Therefore, host group addresses can be in the range 224.0.0.0 to 239.255.255.255.

Multicast addresses in the range 224.0.0.0 to 224.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 transmitted using IP multicast group addresses as follows:

- 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 device is querying.

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

- IGMPv2 leave-group messages are destined to the address 224.0.0.2 (all devices on a subnet).

- IGMPv3 membership reports are destined to the address 224.0.0.22; all IGMPv3-capable multicast devices must listen to this address.

IGMP Versions and Differences

There are three versions of IGMP, as defined by Request for Comments (RFC) documents of the Internet Engineering Task Force (IETF). IGMPv2 improves over IGMPv1 by adding the ability for a host to signal desire to leave a multicast group and IGMPv3 improves over IGMPv2 mainly by adding the ability to listen to multicast originating from a set of source IP addresses only.

IGMP Versions

IGMP Version

Description

IGMPv1

Provides the basic query-response mechanism that allows the multicast device to determine which multicast groups are active and other processes that enable hosts to join and leave a multicast group. RFC 1112 defines the IGMPv1 host extensions for IP multicasting.

IGMPv2

Extends IGMP, allowing such capabilities as the IGMP leave process, group-specific queries, and an explicit maximum response time field. IGMPv2 also adds the capability for devices to elect the IGMP querier without dependence on the multicast protocol to perform this task. RFC 2236 defines IGMPv2.

IGMPv3

Provides for source filtering, which enables a multicast receiver host to signal to a device which groups it wants to receive multicast traffic from, and from which sources this traffic is expected. In addition, IGMPv3 supports the link local address 224.0.0.22, which is the destination IP address for IGMPv3 membership reports; all IGMPv3-capable multicast devices must listen to this address. RFC 3376 defines IGMPv3.

Note

By default, enabling a PIM on an interface enables IGMPv2 on that device. IGMPv2 was designed to be as backward compatible with IGMPv1 as possible. To accomplish this backward compatibility, RFC 2236 defined special interoperability rules. If your network contains legacy IGMPv1 hosts, you should be familiar with these operability rules. For more information about IGMPv1 and IGMPv2 interoperability, see RFC 2236, Internet Group Management Protocol, Version 2 .

Devices That Run IGMPv1

IGMPv1 devices send IGMP queries to the “all-hosts” multicast address of 224.0.0.1 to solicit multicast groups with active multicast receivers. The multicast receivers also can send IGMP reports to the device to notify it that they are interested in receiving a particular multicast stream. Hosts can send the report asynchronously or in response to the IGMP queries sent by the device. If more than one multicast receiver exists for the same multicast group, only one of these hosts sends an IGMP report message; the other hosts suppress their report messages.

In IGMPv1, there is no election of an IGMP querier. If more than one device on the segment exists, all the devices send periodic IGMP queries. IGMPv1 has no special mechanism by which the hosts can leave the group. If the hosts are no longer interested in receiving multicast packets for a particular group, they simply do not reply to the IGMP query packets sent from the device. The device continues sending query packets. If the device does not hear a response in three IGMP queries, the group times out and the device stops sending multicast packets on the segment for the group. If the host later wants to receive multicast packets after the timeout period, the host simply sends a new IGMP join to the device, and the device begins to forward the multicast packet again.

If there are multiple devices on a LAN, a designated router (DR) must be elected to avoid duplicating multicast traffic for connected hosts. PIM devices follow an election process to select a DR. The PIM device with the highest IP address becomes the DR.

The DR is responsible for the following tasks:

- Sending PIM register and PIM Join and Prune messages toward the rendezvous point (RP) to inform it about host group membership.

- Sending IGMP host-query messages.

- Sending host-query messages by default every 60 seconds in order to keep the IGMP overhead on hosts and networks very low.

Devices That Run IGMPv2

IGMPv2 improves the query messaging capabilities of IGMPv1.

The query and membership report messages in IGMPv2 are identical to the IGMPv1 messages with two exceptions:

- IGMPv2 query messages are broken into two categories: general queries (identical to IGMPv1 queries) and group-specific queries.

- IGMPv1 membership reports and IGMPv2 membership reports have different IGMP type codes.

IGMPv2 also enhances IGMP by providing support for the following capabilities:

- Querier election process--Provides the capability for IGMPv2 devices to elect the IGMP querier without having to rely on the multicast routing protocol to perform the process.

- Maximum Response Time field--A new field in query messages permits the IGMP querier to specify the maximum query-response time. This field permits the tuning of the query-response process to control response burstiness and to fine-tune leave latencies.

- Group-Specific Query messages--Permits the IGMP querier to perform the query operation on a specific group instead of all groups.

- Leave-Group messages--Provides hosts with a method of notifying devices on the network that they wish to leave the group.

Unlike IGMPv1, in which the DR and the IGMP querier are typically the same device, in IGMPv2 the two functions are decoupled. The DR and the IGMP querier are selected based on different criteria and may be different devices on the same subnet. The DR is the device with the highest IP address on the subnet, whereas the IGMP querier is the device with the lowest IP address.

Query messages are used to elect the IGMP querier as follows:

1. When IGMPv2 devices start, they each multicast a general query message to the all-systems group address of 224.0.0.1 with their interface address in the source IP address field of the message.

2. When an IGMPv2 device receives a general query message, the device compares the source IP address in the message with its own interface address. The device with the lowest IP address on the subnet is elected the IGMP querier.

3. All devices (excluding the querier) start the query timer, which is reset whenever a general query message is received from the IGMP querier. If the query timer expires, it is assumed that the IGMP querier has gone down, and the election process is performed again to elect a new IGMP querier.

By default, the timer is two times the query interval.

Devices Running IGMPv3

IGMPv3 adds support for source filtering, which enables a multicast receiver host to signal to a device which groups it wants to receive multicast traffic from, and from which sources this traffic is expected. This membership information enables the software to forward traffic only from those sources from which receivers requested the traffic.

IGMPv3 supports applications that explicitly signal sources from which they want to receive traffic. With IGMPv3, receivers signal membership to a multicast group in the following two modes:

- INCLUDE mode--In this mode, the receiver announces membership to a group and provides a list of IP addresses (the INCLUDE list) from which it wants to receive traffic.

- EXCLUDE mode--In this mode, the receiver announces membership to a group and provides a list of IP addresses (the EXCLUDE list) from which it does not want to receive traffic. In other words, the host wants to receive traffic only from sources whose IP addresses are not listed in the EXCLUDE list. To receive traffic from all sources, like in the case of the Internet Standard Multicast (ISM) service model, a host expresses EXCLUDE mode membership with an empty EXCLUDE list.

IGMPv3 is the industry-designated standard protocol for hosts to signal channel subscriptions in an SSM network environment. For SSM to rely on IGMPv3, IGMPv3 must be available in the network stack portion of the operating systems running on the last hop devices and hosts and be used by the applications running on those hosts.

In IGMPv3, hosts send their membership reports to 224.0.0.22; all IGMPv3 devices, therefore, must listen to this address. Hosts, however, do not listen or respond to 224.0.0.22; they only send their reports to that address. In addition, in IGMPv3, there is no membership report suppression because IGMPv3 hosts do not listen to the reports sent by other hosts. Therefore, when a general query is sent out, all hosts on the wire respond.

IGMPv3 Host Signaling

IGMPv3 is the third version of the IETF standards track protocol in which hosts signal membership to last-hop devices of multicast groups. IGMPv3 introduces the ability for hosts to signal group membership that allows filtering capabilities with respect to sources. A host can signal either that it wants to receive traffic from all sources sending to a group except for some specific sources (a mode called EXCLUDE) or that it wants to receive traffic only from some specific sources sending to the group (a mode called INCLUDE).

IGMPv3 can operate with both ISM and SSM. In ISM, both EXCLUDE and INCLUDE mode reports are accepted by the last-hop router. In SSM, only INCLUDE mode reports are accepted by the last-hop router.

IGMP Join Process

When a host wants to join a multicast group, the host sends one or more unsolicited membership reports for the multicast group it wants to join. The IGMP join process is the same for IGMPv1 and IGMPv2 hosts.

In IGMPv3, the join process for hosts proceeds as follows:

- When a hosts wants to join a group, it sends an IGMPv3 membership report to 224.0.0.22 with an empty EXCLUDE list.

- When a host wants to join a specific channel, it sends an IGMPv3 membership report to 224.0.0.22 with the address of the specific source included in the INCLUDE list.

- When a host wants to join a group excluding particular sources, it sends an IGMPv3 membership report to 224.0.0.22 excluding those sources in the EXCLUDE list.

Note

If some IGMPv3 hosts on a LAN wish to exclude a source and others wish to include the source, then the device will send traffic for the source on the LAN (that is, inclusion trumps exclusion in this situation).

IGMP Leave Process

The method that hosts use to leave a group varies depending on the version of IGMP in operation.

IGMPv1 Leave Process

There is no leave-group message in IGMPv1 to notify the devices on the subnet that a host no longer wants to receive the multicast traffic from a specific group. The host simply stops processing traffic for the multicast group and ceases responding to IGMP queries with IGMP membership reports for the group. As a result, the only way IGMPv1 devices know that there are no longer any active receivers for a particular multicast group on a subnet is when the devices stop receiving membership reports. To facilitate this process, IGMPv1 devices associate a countdown timer with an IGMP group on a subnet. When a membership report is received for the group on the subnet, the timer is reset. For IGMPv1 devices, this timeout interval is typically three times the query interval (3 minutes). This timeout interval means that the device may continue to forward multicast traffic onto the subnet for up to 3 minutes after all hosts have left the multicast group.

IGMPv2 Leave Process

IGMPv2 incorporates a leave-group message that provides the means for a host to indicate that it wishes to stop receiving multicast traffic for a specific group. When an IGMPv2 host leaves a multicast group, if it was the last host to respond to a query with a membership report for that group, it sends a leave-group message to the all-devices multicast group (224.0.0.2).

IGMPv3 Leave Process

IGMPv3 enhances the leave process by introducing the capability for a host to stop receiving traffic from a particular group, source, or channel in IGMP by including or excluding sources, groups, or channels in IGMPv3 membership reports.

IGMP Snooping

Layer 2 controllers 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 controller to snoop on the IGMP transmissions between the host and the router and to keep track of multicast groups and member ports. When the controller receives an IGMP report from a host for a particular multicast group, the controller 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 (which could be a controller with the IP services feature set on the active controller) 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 controller 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 controller supports IP multicast group-based bridging, instead of 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 controller 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.

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.

- Joining a Multicast Group

- Leaving a Multicast Group

- Immediate Leave

- IGMP Configurable-Leave Timer

- IGMP Report Suppression

- IGMP Filtering and Throttling Overview

Joining a Multicast Group

Initial IGMP Join Message.
When a host connected to the controller 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 controller 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 controller. The controller 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.

Router A sends a general query to the controller, 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 controller CPU uses the information in the IGMP report to set up a forwarding-table entry that includes the port numbers connected to Host 1 and to the router.

IGMP Snooping Forwarding Table

Destination Address

Type of Packet

Ports

224.1.2.3

IGMP

1, 2

The controller 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.

Second Host Joining a Multicast Group. If another host (for example, Host 4) sends an unsolicited IGMP join message for the same group, the CPU receives that message and adds the port number of Host 4 to the forwarding table. Because the forwarding table directs IGMP messages only to the CPU, the message is not flooded to other ports on the controller. Any known multicast traffic is forwarded to the group and not to the CPU.

Updated IGMP Snooping Forwarding Table

Destination Address

Type of Packet

Ports

224.1.2.3

IGMP

1, 2, 5

Leaving a Multicast Group

The router sends periodic multicast general queries, and the controller forwards these queries through all ports in the VLAN. Interested hosts respond to the queries. If at least one host in the VLAN wants to receive multicast traffic, the router continues forwarding the multicast traffic to the VLAN. The controller 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 controller 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 controller 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

The controller uses IGMP snooping Immediate Leave to remove from the forwarding table an interface that sends a leave message without the controller 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.

Immediate Leave is only supported on IGMP version 2 hosts. IGMP version 2 is the default version for the controller.

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.

IGMP Configurable-Leave Timer

You can configure the time that the controller 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.

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 controller uses IGMP report suppression to forward only one IGMP report per multicast router query to multicast devices. When IGMP report suppression is enabled (the default), the controller sends the first IGMP report from all hosts for a group to all the multicast routers. The controller 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 controller 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 controller 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.

IGMP Filtering and Throttling Overview

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 controller 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 controller 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 controller 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 controller 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 CGMP or MVR is used to forward the multicast traffic.

IGMP filtering applies 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 controllers running IGMP filtering.

Default IGMP Configuration

This table displays the default IGMP configuration for the controller.

Default IGMP Configuration

Feature

Default Setting

Multilayer controller 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 controller as a statically connected member

Disabled.

- Default IGMP Snooping Configuration

- Default IGMP Filtering and Throttling Configuration

Default IGMP Snooping Configuration

This table displays the default IGMP snooping configuration for the controller.

Default IGMP Snooping Configuration

Feature

Default Setting

IGMP snooping

Enabled globally and per VLAN

Multicast routers

None configured

IGMP snooping Immediate Leave

Disabled

Static groups

None configured

TCN[1] flood query count

2

TCN query solicitation

Disabled

IGMP snooping querier

Disabled

IGMP report suppression

Enabled

[1] (1) TCN = Topology Change Notification

Default IGMP Filtering and Throttling Configuration

This table displays the default IGMP filtering and throttling configuration for the controller.

Default IGMP Filtering Configuration

Feature

Default Setting

IGMP filters

None applied.

IGMP maximum number of IGMP groups

No maximum set.

Note:
When the maximum number of groups is in the forwarding table, the default IGMP throttling action is to deny the IGMP report.

IGMP profiles

None defined.

IGMP profile action

Deny the range addresses.

Configuring the Controller as a Member of a Group (CLI)

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

Caution

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

This procedure is optional.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp join-group group-address

5.    end

6.    show ip igmp interface [interface-id]

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface
gigabitethernet 1/0/1

Specifies the interface on which you want to enable multicast routing, and enters interface configuration mode.

Step 4

ip igmp join-group group-address

Example:

Controller(config-if)# ip igmp
join-group 225.2.2.2

Configures the controller 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

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config
startup-config

(Optional) Saves your entries in the configuration file.

Controlling Access to IP Multicast Group

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.

SUMMARY STEPS

1.    configure terminal

2.    interface interface-id

3.    ip igmp access-group access-list-number

4.    exit

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

6.    end

7.    show ip igmp interface [interface-id]

DETAILED STEPS

Command or Action

Purpose

Step 1

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 2

interface interface-id

Example:

Controller(config)# interface GigabitEthernet 1/0/12

Specifies the interface to be configured, and enters interface configuration mode.

Step 3

ip igmp access-group access-list-number

Example:

Controller(config-if)# ip igmp access-group 10

Specifies 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 199.

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

Step 4

exit

Example:

Controller(config-if)# exit

Returns to global configuration mode.

Step 5

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

Example:

Controller(config)# access-list 10 permit

Creates 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 6

end

Example:

Controller(config-igmp-profile)# end

Returns to privileged EXEC mode.

Step 7

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface

Verifies your entries.

Modifying the IGMP Host-Query Message Interval (CLI)

The controller 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 controller 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 controller elects a PIM designated router (DR) for the LAN (subnet). 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. With IGMPv2, the DR is the router or multilayer controller with the highest IP address. With IGMPv1, the DR is elected according to the multicast routing protocol that runs on the LAN.

This procedure is optional.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp query-interval seconds

5.    end

6.    show ip igmp interface [interface-id]

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface
gigabitethernet 1/0/1

Specifies the interface on which you want to enable multicast routing, and enters interface configuration mode.

Step 4

ip igmp query-interval seconds

Example:

Controller(config-if)# ip igmp
query-interval 75

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

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config
startup-config

(Optional) Saves your entries in the configuration file.

Changing the IGMP Query Timeout for IGMPv2 (CLI)

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

This procedure is optional.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp querier-timeout seconds

5.    end

6.    show ip igmp interface [interface-id]

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface
gigabitethernet 1/0/1

Specifies the interface on which you want to enable multicast routing, and enters interface configuration mode.

Step 4

ip igmp querier-timeout seconds

Example:

Controller(config-if)# ip igmp
querier-timeout 120

Specifies the IGMP query timeout.

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

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config
startup-config

(Optional) Saves your entries in the configuration file.

Changing the Maximum Query Response Time for IGMPv2 (CLI)

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

This procedure is optional.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp query-max-response-time seconds

5.    end

6.    show ip igmp interface [interface-id]

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface
gigabitethernet 1/0/1

Specifies the interface on which you want to enable multicast routing, and enters interface configuration mode.

Step 4

ip igmp query-max-response-time seconds

Example:

Controller(config-if)# ip igmp
query-max-response-time 15

Changes the maximum query response time advertised in IGMP queries.

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

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config
startup-config

(Optional) Saves your entries in the configuration file.

Configuring the Controller as a Statically Connected Member (CLI)

At various times, either there is not a group member on a network segment or a host that cannot report its group membership by using IGMP. However, you may want multicast traffic to be sent to that network segment. The following commands are used to pull multicast traffic down to a network segment:

- ip igmp join-group—The controller accepts the multicast packets in addition to forwarding them. Accepting the multicast packets prevents the controller from fast switching.

- ip igmp static-group—The controller 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 controller itself is not a member, as evidenced by lack of an L (local) flag in the multicast route entry.

This procedure is optional.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp static-group group-address

5.    end

6.    show ip igmp interface [interface-id]

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface
gigabitethernet 1/0/1

Specifies the interface on which you want to enable multicast routing, and enters interface configuration mode.

Step 4

ip igmp static-group group-address

Example:

Controller(config-if)# ip igmp static-group 239.100.100.101

Configures the controller as a statically connected member of a group.

By default, this feature is disabled.

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp interface [interface-id]

Example:

Controller# show ip igmp interface
gigabitethernet 1/0/1

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config
startup-config

(Optional) Saves your entries in the configuration file.

Configuring IGMP Profiles (CLI)

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

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp profile profile number

4.    permit | deny

5.    range ip multicast address

6.    end

7.    show ip igmp profile profile number

8.    show running-config

9.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp profile profile number

Example:

Controller(config)# ip igmp profile 3

Assigns a number to the profile you are configuring, and enters IGMP profile configuration mode. The profile number range is 1 to 4294967295.

Note:   To delete a profile, use the no ip igmp profile profile number global configuration command.

Step 4

permit | deny

Example:

Controller(config-igmp-profile)# permit

(Optional) Sets 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 5

range ip multicast address

Example:

Controller(config-igmp-profile)# range 229.9.9.0

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

Note:
To delete an IP multicast address or range of IP multicast addresses, use the no range ip multicast address IGMP profile configuration command.

Step 6

end

Example:

Controller(config-igmp-profile)# end

Returns to privileged EXEC mode.

Step 7

show ip igmp profile profile number

Example:

Controller# show ip igmp profile 3

Verifies the profile configuration.

Step 8

show running-config

Example:

Controller# show running-config

Verifies your entries.

Step 9

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Applying IGMP Profiles (CLI)

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

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp filter profile number

5.    end

6.    copy running-config startup-config

7.    show running-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface gigabitethernet1/0/1

Specifies the physical interface, and enters interface configuration mode. The interface must be a Layer 2 port that does not belong to an EtherChannel port group.

Step 4

ip igmp filter profile number

Example:

Controller(config-if)# ip igmp filter 321

Applies the specified IGMP profile to the interface. The range is 1 to 4294967295.

Note:
To remove a profile from an interface, use the no ip igmp filter profile number interface configuration command.

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Step 7

show running-config

Example:

Controller# show running-config

Verifies your entries.

Setting the Maximum Number of IGMP Groups (CLI)

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.

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 also can use this command on a logical EtherChannel interface but cannot use it on ports that belong to an EtherChannel port group.

Beginning in privileged EXEC mode, follow these steps to set the maximum number of IGMP groups in the forwarding table:

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp max-groups number

5.    end

6.    show running-config interface interface-id

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface gigabitethernet1/0/2

Specifies the interface to be configured, and enters interface configuration mode. The interface can be a Layer 2 port that does not belong to an EtherChannel group or a EtherChannel interface.

Step 4

ip igmp max-groups number

Example:

Controller(config-if)# ip igmp max-groups 20

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

Note:
The controller supports a maximum number of 4096 Layer 2 IGMP groups and 2048 Layer 3 IGMP groups.

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show running-config interface interface-id

Example:

Controller# show running-config interface gigabitethernet1/0/1

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring the IGMP Throttling Action (CLI)

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.

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 controller 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 controller replaces a randomly selected entry with the received IGMP report. To prevent the controller from removing the forwarding-table entries, you can configure the IGMP throttling action before an interface adds entries to the forwarding table.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    ip igmp max-groups action {deny | replace}

5.    end

6.    show running-config interface interface-id

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface gigabitethernet 1/0/1

Specifies the physical interface to be configured, and enters 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 4

ip igmp max-groups action {deny | replace}

Example:

Controller(config-if)# ip igmp max-groups action replace

When an interface receives an IGMP report and the maximum number of entries is in the forwarding table, specifies the action that the interface takes:

- deny—Drops the report.

- replace—Replaces the existing group with the new group for which the IGMP report was received.

Note:
To return to the default action of dropping the report, use the no ip igmp max-groups action interface configuration command.

Step 5

end

Example:

Controller(config-if)# end

Returns to privileged EXEC mode.

Step 6

show running-config interface interface-id

Example:

Controller# show running-config interface gigabitethernet1/0/1

Verifies your entries.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Enabling IGMP Snooping

Perform the following task to enable IGMP snooping only after IGMP snooping is explicitly disabled. By default, IGMP snooping is enabled on all existing VLAN interfaces and bridge domain interfaces.

Before You Begin
Interfaces to be enabled for IGMP snooping must be configured for IP Multicast.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping

4.    bridge-domain bridge-id

5.    ip igmp snooping

6.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Device> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

ip igmp snooping

Example:

Device(config)# ip igmp snooping

Globally enables IGMP snooping after it has been disabled.

Step 4

bridge-domain bridge-id

Example:

Device(config)# bridge-domain 100

(Optional) Enters bridge domain configuration mode.

Step 5

ip igmp snooping

Example:

Device(config-bdomain)# ip igmp snooping

(Optional) Enables IGMP snooping on the bridge domain interface being configured.

- Required only if IGMP snooping was previously explicitly disabled on the specified bridge domain.

Step 6

end

Example:

Device(config-bdomain)# end

Returns to privileged EXEC mode.

Enabling or Disabling IGMP Snooping on a VLAN Interface (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping vlan vlan-id

4.    end

5.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping vlan vlan-id

Example:

Controller(config)# ip igmp snooping vlan 7

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

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

Note:
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.

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Setting the Snooping Method (CLI)

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

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

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

Beginning in privileged EXEC mode, follow these steps to alter the method in which a VLAN interface accesses a multicast router:

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping vlan vlan-id mrouter interface {GigabitEthernet | Port-Channel | TenGigabitEthernet}

4.    end

5.    show ip igmp snooping

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping vlan vlan-id mrouter interface {GigabitEthernet | Port-Channel | TenGigabitEthernet}

Example:

Controller(config)# ip igmp snooping
vlan 1 mrouter interface GigabitEthernet1/0/3

Enables IGMP snooping on a VLAN. The VLAN ID range is 1 to 1001 and 1006 to 4094.

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping

Example:

Controller# show ip igmp snooping

Verifies the configuration.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring a Multicast Router Port (CLI)

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

Note

Static connections to multicast routers are supported only on controller ports.

SUMMARY STEPS

1.    enable

2.    configure terminal

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

4.    end

5.    show ip igmp snooping mrouter [vlan vlan-id]

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

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

Example:

Controller(config)# ip igmp snooping vlan 5 mrouter interface gigabitethernet1/0/1

Specifies 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 128.

Note:
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.

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping mrouter [vlan vlan-id]

Example:

Controller# show ip igmp snooping mrouter vlan 5

Verifies that IGMP snooping is enabled on the VLAN interface.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring a Host Statically to Join a Group (CLI)

Hosts or Layer 2 ports normally join multicast groups dynamically, but you can also statically configure a host on an interface.

SUMMARY STEPS

1.    enable

2.    configure terminal

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

4.    end

5.    show ip igmp snooping groups

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

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

Example:

Controller(config)# ip igmp snooping vlan 105 static 230.0.0.1 interface gigabitethernet1/0/1

Statically configures 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 128).

Note:
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.

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping groups

Example:

Controller# show ip igmp snooping groups

Verifies the member port and the IP address.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Enabling IGMP Immediate Leave (CLI)

When you enable IGMP Immediate Leave, the controller 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.

Note

Immediate Leave is supported only on IGMP Version 2 hosts. IGMP Version 2 is the default version for the controller.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping vlan vlan-id immediate-leave

4.    end

5.    show ip igmp snooping vlan vlan-id

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping vlan vlan-id immediate-leave

Example:

Controller(config)# ip igmp snooping vlan 21 immediate-leave

Enables IGMP Immediate Leave on the VLAN interface.

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

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping vlan vlan-id

Example:

Controller# show ip igmp snooping vlan 21

Verifies that Immediate Leave is enabled on the VLAN interface.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring the IGMP Leave Timer (CLI)

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. IGMP version 2 is the default version for the controller.

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

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping last-member-query-interval time

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

5.    end

6.    show ip igmp snooping

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping last-member-query-interval time

Example:

Controller(config)# ip igmp snooping last-member-query-interval 1000

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

Note:
To globally reset the IGMP leave timer to the default setting, use the no ip igmp snooping last-member-query-interval global configuration command.

Step 4

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

Example:

Controller(config)# ip igmp snooping vlan 210 last-member-query-interval 1000

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

Note:
To remove the configured IGMP leave-time setting from the specified VLAN, use the no ip igmp snooping vlan vlan-id last-member-query-interval global configuration command.

Step 5

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp snooping

Example:

Controller# show ip igmp snooping

(Optional) Displays the configured IGMP leave time.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring the IGMP Robustness-Variable (CLI)

Use the following procedure to configure the IGMP robustness variable on the controller.

The robustness variable is the integer used by IGMP snooping during calculations for IGMP messages. The robustness variable provides fine tuning to allow for expected packet loss.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping robustness-variable count

4.    ip igmp snooping vlan vlan-id robustness-variable count

5.    end

6.    show ip igmp snooping

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping robustness-variable count

Example:

Controller(config)# ip igmp snooping
robustness-variable 3

Configures the IGMP robustness variable. The range is 1 to 3 times.

The recommended value for the robustness variable is 2. Use this command to change the value of the robustness variable for IGMP snooping from the default (2) to a specified value.

Step 4

ip igmp snooping vlan vlan-id robustness-variable count

Example:

Controller(config)#ip igmp snooping vlan 100 robustness-variable 3

(Optional) Configures the IGMP robustness variable on the VLAN interface. The range is 1 to 3 times. The recommended value for the robustness variable is 2.

Note:
Configuring the robustness variable count on a VLAN overrides the globally configured value.

Step 5

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp snooping

Example:

Controller# show ip igmp snooping

(Optional) Displays the configured IGMP robustness variable count.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring the IGMP Last Member Query Count (CLI)

To configure the number of times the controller sends IGMP group-specific or group-source-specific (with IGMP version 3) query messages in response to receiving a group-specific or group-source-specific leave message, use this command.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping last-member-query-count count

4.    ip igmp snooping vlan vlan-id last-member-query-count count

5.    end

6.    show ip igmp snooping

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping last-member-query-count count

Example:

Controller(config)# ip igmp snooping last-member-query-count 3

Configures the IGMP last member query count. The range is 1 to 7 messages. The default is 2 messages.

Step 4

ip igmp snooping vlan vlan-id last-member-query-count count

Example:

Controller(config)#ip igmp snooping vlan 100 last-member-query-count 3

(Optional) Configures the IGMP last member query count on the VLAN interface. The range is 1 to 7 messages.

Note:
Configuring the last member query count on a VLAN overrides the globally configured timer.

Step 5

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp snooping

Example:

Controller# show ip igmp snooping

(Optional) Displays the configured IGMP last member query count.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Controlling the Multicast Flooding Time After a TCN Event (CLI)

You can control the time that multicast traffic is flooded after a topology change notification (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 when the client changed its location and the receiver is on same port that was blocked but is now forwarding, and when 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 1 general query. If you set the count to 7, the flooding continues until 7 general queries are received. Groups are relearned based on the general queries received during the TCN event.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping tcn flood query count count

4.    end

5.    show ip igmp snooping

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping tcn flood query count count

Example:

Controller(config)# ip igmp snooping tcn flood query count 3

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

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

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping

Example:

Controller# show ip igmp snooping

Verifies the TCN settings.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Recovering from Flood Mode (CLI)

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 controller 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 controller is the spanning-tree root regardless of this configuration command. By default, query solicitation is disabled.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping tcn query solicit

4.    end

5.    show ip igmp snooping

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping tcn query solicit

Example:

Controller(config)# ip igmp snooping tcn query solicit

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

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

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping

Example:

Controller# show ip igmp snooping

Verifies the TCN settings.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Disabling Multicast Flooding During a TCN Event (CLI)

When the controller receives a TCN, multicast traffic is flooded to all the ports until 2 general queries are received. If the controller has many ports with attached hosts that are subscribed to different multicast groups, this 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 operation function.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-id

4.    no ip igmp snooping tcn flood

5.    end

6.    show ip igmp snooping

7.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

interface interface-id

Example:

Controller(config)# interface gigabitethernet 1/0/1

Specifies the interface to be configured, and enters interface configuration mode.

Step 4

no ip igmp snooping tcn flood

Example:

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

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

By default, multicast flooding is enabled on an interface.

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

Step 5

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 6

show ip igmp snooping

Example:

Controller# show ip igmp snooping

Verifies the TCN settings.

Step 7

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring the IGMP Snooping Querier (CLI)

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 controller virtual interface (SVI) IP address (if one exists). If there is no SVI IP address, the controller uses the first available IP address configured on the controller. 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 controller.

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

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ip igmp snooping querier

4.    ip igmp snooping querier address ip_address

5.    ip igmp snooping querier query-interval interval-count

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

7.    ip igmp snooping querier timer expiry timeout

8.    ip igmp snooping querier version version

9.    end

10.    show ip igmp snooping vlan vlan-id

11.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

ip igmp snooping querier

Example:

Controller(config)# ip igmp snooping querier

Enables the IGMP snooping querier.

Step 4

ip igmp snooping querier address ip_address

Example:

Controller(config)# ip igmp snooping querier address 172.16.24.1

(Optional) Specifies 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 controller.

Step 5

ip igmp snooping querier query-interval interval-count

Example:

Controller(config)# ip igmp snooping querier query-interval 30

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

Step 6

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

Example:

Controller(config)# ip igmp snooping querier tcn query interval 20

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

Step 7

ip igmp snooping querier timer expiry timeout

Example:

Controller(config)# ip igmp snooping querier timer expiry 180

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

Step 8

ip igmp snooping querier version version

Example:

Controller(config)# ip igmp snooping querier version 2

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

Step 9

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 10

show ip igmp snooping vlan vlan-id

Example:

Controller# show ip igmp snooping vlan 30

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

Step 11

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Disabling IGMP Report Suppression (CLI)

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.

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

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    no ip igmp snooping report-suppression

4.    end

5.    show ip igmp snooping

6.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

no ip igmp snooping report-suppression

Example:

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

Disables IGMP report suppression.

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

Step 4

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Step 5

show ip igmp snooping

Example:

Controller# show ip igmp snooping

Verifies that IGMP report suppression is disabled.

Step 6

copy running-config startup-config

Example:

Controller# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Monitoring IGMP

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 usage and solve network problems. You can also display information about node reachability and discover the routing path that packets of your device are taking through the network.

You can use any of the privileged EXEC commands in the following table to display various routing statistics.

Commands for Displaying System and Network Statistics

Command

Purpose

ping [group-name | group-address]

Sends an ICMP Echo Request to a multicast group address.

show ip igmp filter

Displays IGMP filter information.

show ip igmp groups [type-number | detail ]

Displays the multicast groups that are directly connected to the controller and that were learned through IGMP.

show ip igmp interface [type number]

Displays multicast-related information about an interface.

show ip igmp membership [ name/group address | all | tracked ]

Displays IGMP membership information for forwarding.

show ip igmp profile [ profile_number]

Displays IGMP profile information.

show ip igmp ssm-mapping [ hostname/IP address ]

Displays IGMP SSM mapping information.

show ip igmp static-group {class-map [ interface [ type ] ]

Displays static group information.

show ip igmp vrf

Displays the selected VPN routing/forwarding instance by name.

- Displaying IGMP Snooping Information

- Displaying IGMP Filtering and Throttling Configuration

Displaying IGMP Snooping Information

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.

Commands for Displaying IGMP Snooping Information

Command

Purpose

show ip igmp snooping detail

Displays the operational state information.

show ip igmp snooping groups [ count | [vlan vlan-id [A.B.C.D | count ] ]

Displays multicast table information for the controller or about a specific parameter:

- count—Displays the total number of groups.

- vlan—Displays group information by VLAN ID.

show ip igmp snooping igmpv2-tracking

Displays the IGMP snooping tracking.

Note:
This command displays group and IP address entries only for wireless multicast IGMP joins and not for wired IGMP joins. Wireless IP multicast must be enabled for this command to display.

show ip igmp snooping mrouter [vlan vlan-id]

Displays information on dynamically learned and manually configured multicast router interfaces.

Note:
When you enable IGMP snooping, the controller 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 [ detail | vlan vlan-id]

Displays information about the IP address and receiving port for the most-recently received IGMP query messages in the VLAN.

(Optional) Enter detail to display the detailed IGMP querier information in a VLAN.

(Optional) Enter vlan vlan-id to display information for a single VLAN.

show ip igmp snooping [vlan vlan-id [ detail ] ]

Displays the snooping configuration information for all VLANs on the controller 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 wireless mgid

Displays wireless-related events.

Displaying IGMP Filtering and Throttling Configuration

You can display IGMP profile characteristics, and you can display the IGMP profile and maximum group configuration for all interfaces on the controller or for a specified interface. You can also display the IGMP throttling configuration for all interfaces on the controller or for a specified interface.

Commands for Displaying IGMP Filtering and Throttling Configuration

Command

Purpose

show ip igmp profile [profile number]

Displays the specified IGMP profile or all the IGMP profiles defined on the controller.

show running-config [interface interface-id]

Displays the configuration of the specified interface or the configuration of all interfaces on the controller, including (if configured) the maximum number of IGMP groups to which an interface can belong and the IGMP profile applied to the interface.

Example: Configuring the Controller as a Member of a Multicast Group

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

Controller(config)# interface gigabitethernet1/0/1
Controller(config-if)# ip igmp join-group 255.2.2.2
Controller(config-if)#

Example: Controlling Access to Multicast Groups

To limit the number of joins on the interface, configure the port for filter which associates with the IGMP profile.

Controller# configure terminal
Controller(config)# ip igmp profile 10
Controller(config-igmp-profile)# ?

IGMP profile configuration commands:
deny matching addresses are denied
exit Exit from igmp profile configuration mode
no Negate a command or set its defaults
permit matching addresses are permitted
range add a range to the set

Controller(config-igmp-profile)# range 172.16.5.1
Controller(config-igmp-profile)# exit
Controller(config)#
Controller(config)# interface gigabitEthernet 2/0/10
Controller(config-if)# ip igmp filter 10

Examples: Configuring IGMP Snooping

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

Controller# configure terminal
Controller(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet1/0/2
Controller(config)# end

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

Controller# configure terminal
Controller(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet1/0/1
Controller(config)# end

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

Controller# configure terminal
Controller(config)# ip igmp snooping vlan 130 immediate-leave
Controller(config)# end

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

Controller# configure terminal
Controller(config)# ip igmp snooping querier 10.0.0.64
Controller(config)# end

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

Controller# configure terminal
Controller(config)# ip igmp snooping querier query-interval 25
Controller(config)# end

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

Controller# configure terminal
Controller(config)# ip igmp snooping querier timer expiry 60
Controller(config)# end

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

Controller# configure terminal
Controller(config)# no ip igmp snooping querier version 2
Controller(config)# end

Example: Configuring IGMP Profiles

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.

Controller(config)# ip igmp profile 4
Controller(config-igmp-profile)# permit
Controller(config-igmp-profile)# range 229.9.9.0
Controller(config-igmp-profile)# end
Controller# show ip igmp profile 4
IGMP Profile 4
permit
range 229.9.9.0 229.9.9.0

Example: Applying IGMP Profile

This example shows how to apply IGMP profile 4 to a port:

Controller(config)# interface gigabitethernet1/0/2
Controller(config-if)# ip igmp filter 4
Controller(config-if)# end

Example: Setting the Maximum Number of IGMP Groups

This example shows how to limit to 25 the number of IGMP groups that a port can join:

Controller(config)# interface gigabitethernet1/0/2
Controller(config-if)# ip igmp max-groups 25
Controller(config-if)# end

Example: Interface Configuration as a Routed Port

This example shows how to configure an interface on the controller as a routed port. This configuration is required on the interface for several IP multicast routing configuration procedures that require running the no switchport command.

Controller configure terminal
Controller(config)#  interface GigabitEthernet1/0/9
Controller(config-if)# description interface to be use as routed port
Controller(config-if)# no switchport
Controller(config-if)# ip address 20.20.20.1 255.255.255.0
Controller(config-if)# ip pim sparse-dense-mode
Controller(config-if)# ip igmp join-group 224.1.2.3 source 15.15.15.2
Controller(config-if)# end
Controller# configure terminal
Controller# show run interface gigabitEthernet 1/0/9

Current configuration : 166 bytes
!
interface GigabitEthernet1/0/9
no switchport
ip address 20.20.20.1 255.255.255.0
ip pim sparse-dense-mode
ip igmp static-group 224.1.2.3 source 15.15.15.2
end

Example: Interface Configuration as an SVI

This example shows how to configure an interface on the controller as an SVI. This configuration is required on the interface for several IP multicast routing configuration procedures that require running the no switchport command.

Controller(config)# interface vlan 150
Controller(config-if)# ip address 20.20.20.1 255.255.255.0
Controller(config-if)# ip pim sparse-dense-mode
Controller(config-if)# ip igmp join-group 224.1.2.3 source 15.15.15.2
Controller(config-if)# end
Controller# configure terminal
Controller(config)#  ip igmp snooping vlan 20 static 224.1.2.3
interface gigabitEthernet 1/0/9
Controller# show run interface vlan 150

Current configuration : 137 bytes
!
interface Vlan150
ip address 20.20.20.1 255.255.255.0
ip pim sparse-dense-mode
ip igmp static-group 224.1.2.3 source 15.15.15.2
end

Chapter 4. Configuring Wireless Multicast

- Finding Feature Information

- Prerequisites for Configuring Wireless Multicast

- Restrictions for Configuring Wireless Multicast

- Information About Wireless Multicast

- Monitoring Wireless Multicast

- Where to Go Next for Wireless Multicast

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to Click Here . An account on Cisco.com is not required.

Prerequisites for Configuring Wireless Multicast

- The IP multicast routing must be enabled. The default routes should be available in the device. After performing these tasks, the device can then forward multicast packets and can populate its multicast routing table.

- To participate in IP multicasting, the multicast hosts, routers, and multilayer switches must have IGMP operating.

- When enabling multicast mode on the controller, a CAPWAP multicast group address should also be configured. Access points listen to the CAPWAP multicast group using IGMP.

Restrictions for Configuring Wireless Multicast

The following are the restrictions for configuring IP multicast routing:

- Access points in monitor mode, sniffer mode, or rogue detector mode do not join the CAPWAP multicast group address.

- The CAPWAP multicast group configured on the controller should be different for different controllers.

- Multicast routing should not be enabled for the management interface.

Information About Wireless Multicast

If the network supports packet multicasting, the multicast method that the controller uses can be configured. The controller performs multicasting in two modes:

- Unicast mode—The controller unicasts every multicast packet to every access point associated to the controller. This mode is inefficient but might be required on networks that do not support multicasting.

- Multicast mode—The controller sends multicast packets to a CAPWAP multicast group. This method reduces overhead on the controller processor and shifts the work of packet replication to the network, which is much more efficient than the unicast method.

When the multicast mode is enabled and the controller receives a multicast packet from the wired LAN, the controller encapsulates the packet using CAPWAP and forwards the packet to the CAPWAP multicast group address. The controller always uses the management VLAN for sending multicast packets. Access points in the multicast group receive the packet and forward it to all the BSSIDs mapped to the VLAN on which clients receive multicast traffic.

The controller supports all the capabilities of v1 including Multicast Listener Discovery (MLD) v1 snooping but the v2 and v3 capabilities are limited. This feature keeps track of and delivers IPv6 multicast flows to the clients that request them. To support IPv6 multicast, global multicast mode should be enabled.

Internet Group Management Protocol (IGMP) snooping is introduced to better direct multicast packets. When this feature is enabled, the controller snooping gathers IGMP reports from the clients, processes them, creates unique multicast group IDs (MGIDs) based on the Layer 3 multicast address and the VLAN number, and sends the IGMP reports to the IGMP querier. The controller then updates the access point MGID table on the access point with the client MAC address. When the controller receives multicast traffic for a particular multicast group, it forwards it to all the access points, but only those access points that have active clients listening or subscribed to that multicast group send multicast traffic on that particular WLAN. IP packets are forwarded with an MGID that is unique for an ingress VLAN and the destination multicast group. Layer 2 multicast packets are forwarded with an MGID that is unique for the ingress VLAN.

MGID is a 14-bit value filled in the 16-bit reserved field of wireless information in CAPWAP header. The remaining 2 bits should be set to zero.

- Information About Multicast Optimization

Information About Multicast Optimization

Multicast used to be based on the group of the multicast addresses and the VLAN as one entity, MGID. With the VLAN group, duplicate packets might increase. Using the VLAN group feature, every client listens to the multicast stream on a different VLAN. As a result, the controller creates different MGIDs for each multicast address and VLAN. Therefore, in a worst case situation, the upstream router sends one copy for each VLAN, which results in as many copies as the number of VLANs in the group. Because the WLAN remains the same for all clients, multiple copies of the multicast packet are sent over the wireless network. To suppress the duplication of a multicast stream on the wireless medium between the controller and the access points, the multicast optimization feature can be used.

Multicast optimization enables you to create a multicast VLAN that can be used for multicast traffic. One of the VLANs in the controller can be configured as a multicast VLAN where multicast groups are registered. The clients are allowed to listen to a multicast stream on the multicast VLAN. The MGID is generated using the mulicast VLAN and multicast IP addresses. If multiple clients on different VLANs of the same WLAN are listening to a single multicast IP address, a single MGID is generated. The controller makes sure that all multicast streams from the clients on this VLAN group always go out on the multicast VLAN to ensure that the upstream router has one entry for all the VLANs of the VLAN group. Only one multicast stream hits the VLAN group even if the clients are on different VLANs. Therefore, the multicast packets that are sent out over the network is just one stream.

Configuring Wireless Multicast-MCMC Mode (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless multicast

4.    ap capwap multicast ipaddr

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless multicast

Example:

Controller(config)# wireless multicast

Controller(config)# no wireless multicast

Enables the multicast traffic for wireless clients. The default value is disable. Add no in the command to disable the multicast traffic for wireless clients.

Step 4

ap capwap multicast ipaddr

Example:

Controller(config)# ap capwap multicast 231.1.1.1

Controller(config)# no ap capwap multicast 231.1.1.1

Enables the forwarding mode in multicast. Add no in the command to disable the multicast mode.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Configuring Wireless Multicast-MCUC Mode (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless multicast

4.    no ap capwap multicast ipaddr

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless multicast

Example:

Controller(config)# wireless multicast

Enables the multicast traffic for wireless clients and enables mDNS bridging. The default value is disable. Add no in the command to disable the multicast traffic for wireless clients and disable mDNS bridging.

Step 4

no ap capwap multicast ipaddr

Example:

Controller(config)# no ap capwap multicast 231.1.1.1

Enables forwarding mode in multicast. Add no in the command to disable the multicast mode.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Configuring IPv6 Snooping (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 mld snooping

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

ipv6 mld snooping

Example:

Controller(config)# ipv6 mld snooping

Enables MLD snooping.

Configuring IPv6 Snooping Policy (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 snooping policy policy-name

4.    security-level guard

5.    device-role node

6.    protocol {dhcp | ndp}

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

ipv6 snooping policy policy-name

Example:

Controller(config)# ipv6 snooping policy mypolicy

Configures an IPv6 snooping policy with a name.

Step 4

security-level guard

Example:

Controller(config-ipv6-snooping)# security-level guard

Configures security level to inspect and drop any unauthorized messages.

Step 5

device-role node

Example:

Controller(config-ipv6-snooping)# device-role node

Configures the role of the device, which is a node, to the attached port.

Step 6

protocol {dhcp | ndp}

Example:

Controller(config-ipv6-snooping)# protocol ndp

Sets the protocol to glean addresses in DHCP or NDP packets.

Configuring Layer 2 Port as Multicast Router Port (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 mld snooping vlan vlan-id mrouter interface Port-channel port-channel-interface-number

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

ipv6 mld snooping vlan vlan-id mrouter interface Port-channel port-channel-interface-number

Example:

Controller(config)# ipv6 mld snooping vlan 2 mrouter interface Port-channel 22

Configures a Layer 2 port as a Multicast router port. The VLAN is the client VLAN.

Configuring RA Guard (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    ipv6 nd raguard policy policy-name

4.    trusted-port

5.    device-role {host | monitor | router | switch}

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

ipv6 nd raguard policy policy-name

Example:

Controller(config)# ipv6 nd raguard policy myraguardpolicy

Configures a policy for RA Guard.

Step 4

trusted-port

Example:

Controller(config-nd-raguard)# trusted-port

Sets up a trusted port.

Step 5

device-role {host | monitor | router | switch}

Example:

Controller(config-nd-raguard)# device-role router

Sets the role of the device attached to the port.

Configuring Non-IP Wireless Multicast (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless multicast non-ip

4.    wireless multicast non-ip vlanid

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless multicast non-ip

Example:

Controller(config)# wireless multicast non-ip

Controller(config)# no wireless multicast non-ip

Enables non-IP multicast in all VLANs. Default value is enable. Wireless multicast must be enabled for the traffic to pass. Add no in the command to disable the non-IP multicast in all VLANs.

Step 4

wireless multicast non-ip vlanid

Example:

Controller(config)# wireless multicast non-ip 5

Controller(config)# no wireless multicast non-ip 5

Enables non-IP multicast per VLAN. Default value is enable. Both wireless multicast and wireless multicast non-IP must be enabled for traffic to pass. Add no in the command to disable the non-IP multicast per VLAN.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Configuring Wireless Broadcast (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless broadcast

4.    wireless broadcast vlan vlanid

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless broadcast

Example:

Controller(config)# wireless broadcast

Controller(config)# no wireless broadcast

Enables broadcast packets for wireless clients. Default value is disable. Enabling wireless broadcast enables broadcast traffic for each VLAN. Add no in the command to disable broadcasting packets.

Step 4

wireless broadcast vlan vlanid

Example:

Controller(config)# wireless broadcast vlan 3

Controller(config)# no wireless broadcast vlan 3

Enables broadcast packets for single VLAN. Default value is enable. Wireless broadcast must be enabled for broadcasting. Add no in the command to disable the broadcast traffic for each VLAN.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Configuring IP Multicast VLAN for WLAN (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wlan wlan_name

4.    shutdown

5.    ip multicast vlan {vlan_name vlan_id}

6.    no shutdown

7.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wlan wlan_name

Example:

Controller(config)# wlan test 1

Enters the configuration mode to configure various parameters in the WLAN.

Step 4

shutdown

Example:

Controller(config-wlan)# shutdown

Disables WLAN.

Step 5

ip multicast vlan {vlan_name vlan_id}

Example:

Controller(config-wlan)# ip multicast vlan 5

Controller(config-wlan)# no ip multicast vlan 5

Configures multicast VLAN for WLAN. Add no in the command to disable the multicast VLAN for WLAN.

Step 6

no shutdown

Example:

Controller(config-wlan)# no shutdown

Enables the disabled WLAN.

Step 7

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Monitoring Wireless Multicast

Commands for Monitoring Wireless Multicast

Commands

Description

show wireless multicast

Displays the multicast status and IP multicast mode, each VLAN's broadcast and non-IP multicast status. Also displays the mDNS bridging state.

show wireless multicast group summary

Displays all (Source, Group and VLAN) lists and the corresponding MGID value.

show wireless multicast [source source] group group vlan vlanid

Displays details of the given (S,G,V) and shows all of the clients associated with it and their MC2UC status

.

show ip igmp snooping wireless mcast-spi-count

Displays statistics of the number of multicast SPIs per MGID sent internally between IOS and the Wireless Controller Module.

show ip igmp snooping wireless mgid

Displays the MGID mappings.

show ip igmp snooping igmpv2-tracking

Displays the client-to-SGV mappings and SGV-to-client mappings.

show ip igmp snooping querier vlan vlanid

Displays IGMP querier information for the specified VLAN.

show ip igmp snooping querier detail

Displays detailed IGMP querier information of all the VLANs.

show ipv6 mld snooping querier vlan vlanid

Displays MLD querier information for the specified VLAN.

show ipv6 mld snooping wireless mgid

Displays MGIDs for IPv6 multicast group.

Where to Go Next for Wireless Multicast

You can configure the following:

Chapter 5. Configuring the Service Discovery Gateway

- Finding Feature Information

- Restrictions for Configuring the Service Discovery Gateway

- Monitoring Service Discovery Gateway

- Where to Go Next for Configuring Services Discovery Gateway

- Additional References

- Feature History and Information for Services Discovery Gateway

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to Click Here . An account on Cisco.com is not required.

Restrictions for Configuring the Service Discovery Gateway

The following are restrictions for configuring the Service Discovery Gateway:

- The Service Discovery Gateway does not support topologies with multiple hops. All network segments must be connected directly to it. The Service Discovery Gateway can learn services from all connected segments to build its cache and respond to requests acting as a proxy.

mDNS

mDNS was defined to achieve zero configuration, with zero configuration being defined as providing the following features:

- Addressing—Allocating IP addresses to hosts

- Naming—Using names to refer to hosts instead of IP addresses

- Service discovery—Finding services automatically on the network

With mDNS, network users no longer have to assign IP addresses, assign host names, or type in names to access services on the network. Users only need to ask to see what network services are available, and choose from a list.

With mDNS, addressing is accomplished through the use of DHCP/DHCPv6 or IPv4 and IPv6 Link Local scoped addresses. The benefit of zero-configuration occurs when no infrastructure services such as DHCP or DNS are present and self-assigned link-local addressing can be used. The client can then select a random IPv4 address in the link-local range (169.254.0.0/24) or use its IPv6 link-local address (FE80::/10) for communication.

With mDNS, naming (name-to-address translation on a local network using mDNS) queries are sent over the local network using link-local scoped IP multicast. Because these DNS queries are sent to a multicast address (IPv4 address 224.0.0.251 or IPv6 address FF02::FB), no single DNS server with global knowledge is required to answer the queries. When a service or device sees a query for any service it is aware of, it provides a DNS response with the information from its cache.

With mDNS, service discovery is accomplished by browsing. An mDNS query is sent out for a given service type and domain, and any device that is aware of matching services replies with service information. The result is a list of available services for the user to choose from.

The mDNS protocol (mDNS-RFC), together with DNS Service Discovery (DNS-SD-RFC) achieves the zero-configuration addressing, naming, and service discovery.

- mDNS-SD

mDNS-SD

Multicast DNS Service Discovery (mDNS-SD) uses DNS protocol semantics and multicast over well-known multicast addresses to achieve zero configuration service discovery. DNS packets are sent to and received on port 5353 using a multicast address of 224.0.0.251 and its IPv6 equivalent FF02::FB.

Because mDNS uses a link-local multicast address, its scope is limited to a single physical or logical LAN. If the networking reach needs to be extended to a distributed campus or to a wide-area environment consisting of many different networking technologies, mDNS gateway is implemented. An mDNS gateway provides a transport for mDNS packets across Layer 3 boundaries by filtering, caching, and redistributing services from one Layer 3 domain to another.

- mDNS-SD Considerations for Wireless Clients

mDNS-SD Considerations for Wireless Clients

- mDNS packets can be sent out of Layer 3 interfaces that might not have an IP address.

- Packets with mDNS multicast IP and multicast MAC are sent on a multicast CAPWAP tunnel, if multicast-multicast mode is enabled. A multicast CAPWAP tunnel is a special CAPWAP tunnel used for reducing the number of copies of multicast packet that are required to be generated for each AP CAPWAP tunnel. Sending packets on the multicast CAPWAP tunnel requires the outer IP header to be destined to the multicast CAPWAP tunnel's address, which all APs are subscribed to.

- All mDNS packet handling is done at a foreign switch for roamed clients. A foreign switch is the new switch that a roamed wireless client is actually attached to, which is called the point of attachment.

Service Discovery Gateway

The Service Discovery Gateway feature enables multicast Domain Name System (mDNS) to operate across Layer 3 boundaries (different subnets). An mDNS gateway provides transport for service discovery across Layer 3 boundaries by filtering, caching, and redistributing services from one Layer 3 domain (subnet) to another. Prior to implementation of this feature, mDNS was limited in scope to within a subnet because of the use of link-local scoped multicast addresses. This feature enhances Bring Your Own Device (BYOD).

- mDNS Gateway and Subnets

- Filtering

mDNS Gateway and Subnets

You need to enable an mDNS gateway for service discovery to operate across subnets. You can enable mDNS gateway for a device or for an interface.

Note

You need to configure service routing globally before configuring at the interface level.

After the device or interface is enabled, you can redistribute service discovery information across subnets. You can create service policies and apply filters on either incoming service discovery information (called IN-bound filtering) or outgoing service discovery information (called OUT-bound filtering).

Note

If redistribution is enabled globally, global configuration is given higher priority than interface configuration.

Sample Networking Scenario. For example, if the mDNS gateway functionality is enabled on the router in this figure, then service information can be sent from one subnet to another and vice-versa. For example, the printer and fax service information being advertised in the network with IP address 192.0.2.6 are redistributed to the network with IP address 198.51.100.4. The printer and fax service information in the network with IP address 192.0.2.6 is learned by mDNS-enabled hosts and devices in the other network.

Filtering

After configuring the mDNS gateway and subnets, you can filter services that you want to redistribute. While creating a service list, the permit or deny command options are used:

- The permit command option allows you to permit or transport specific service list information.

- The deny option allows you to deny service list information that is available to be transported to other subnets.

You need to include a sequence number when using the permit or deny command option. The same service list name can be associated with multiple sequence numbers and each sequence number will be mapped to a rule.

Note

If no filters are configured, then the default action is to deny service list information to be transported through the device or interface.

Query is another option provided when creating service lists. You can create queries using a service list. If you want to browse for a service, then active queries can be used. This function is helpful to keep the records refreshed in the cache.

Note

Active queries can only be used globally and cannot be used at the interface level.

A service end-point (such as a printer or fax) sends unsolicited announcements when a service starts up. After that, it sends unsolicited announcements whenever a network change event occurs (such as an interface coming up or going down). The device always respond to queries.

After creating a service list and using the permit or deny command options, you can filter using match statements (commands) based on service-instance, service-type, or message-type (announcement or query).

Configuring the Service List (CLI)

This procedure describes how to create a service list, apply a filter for the service list, and configure parameters for the service list name.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    service-list mdns-sd service-list-name {deny sequence-number | permit sequence-number | query}

4.    match message-type {announcement | any | query}

5.    match service-instance { LINE }

6.    match service-type {LINE }

7.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

service-list mdns-sd service-list-name {deny sequence-number | permit sequence-number | query}

Example:

Controller(config)# service-list mdns-sd sl1 permit 3

Controller(config)# service-list mdns-sd sl4 query

Enters mDNS service discovery service list mode. In this mode, you can:

- Create a service list and apply a filter on the service list according to the permit or deny option applied to the sequence number.

- Create a service list and associate a query for the service list name if the query option is used.

Note:
The sequence number sets the priority of the rule. A rule with a lower sequence number is selected first and the service announcement or query is allowed or denied accordingly. You define the sequence number as per your network requirements.

Step 4

match message-type {announcement | any | query}

Example:

Controller(config-mdns-sd-sl)#  match message-type announcement

(Optional) Sets the message type to match. You can match the following message types:

- announcement

- any

- query

These commands configure the parameters for the service list name that is created in step 2.

If the match message-type is an announcement, then the service list rule only allows service advertisements or announcements for the device. If the match message-type is a query, then only a query from the client for a certain service in the network is allowed.

Multiple service maps of the same name with different sequence numbers can be created and the evaluation of the filters will be ordered on the sequence number. Service lists are an ordered sequence of individual statements, each one has a permit or deny result. Evaluation of service list consists of a list scan, in a predetermined order, and an evaluation of the criteria of each statement that matches. A list scan is stopped once the first statement match is found and an action permit/deny associated with the statement match is performed. The default action after scanning through the entire list is to deny.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 5

match service-instance { LINE }

Example:

Controller(config-mdns-sd-sl)##  match service-instance servInst 1

(Optional) Sets the service instance to match.

This command configures the parameters for the service list name that is created in step 2.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 6

match service-type {LINE }

Example:

Controller(config-mdns-sd-sl)#  match service-type _ipp._tcp

(Optional) Sets the value of the mDNS service type string to match.

This command configures the parameters for the service list name that is created in step 2.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 7

end

Example:

Controller(config-mdns-sd-sl)# end

Returns to privileged EXEC mode.

What to Do Next

Proceed to enable the mDNS gateway and redistribution of services.

Configuring the Service List (GUI)

SUMMARY STEPS

1.    Choose Configuration > Controller > mDNS > Service List.

2.    Click Create Service.

3.    In the Service List Name text box, enter the service list name.

4.    From the Service rule drop-down list, choose from the following options:

- permit—permits the service list.

- deny—denies the service list.

5.    In the Sequence number text box, enter the priority of the rule.

6.    From the Message type drop-down list, choose the message type to match from the following options:

- announcement—The service list rule allows only service advertisements or announcements for the device.

- query—The service list rule allows only a query from the client for a service in the network.

- any—The service list rule allows any type of message.

7.    In the Service instance text box, enter the service instance to match.

8.    In the Custom text box, enter the mDNS service type string to match.

9.    Click Apply.

10.    Click Save Configuration.

DETAILED STEPS

Step 1

Choose Configuration > Controller > mDNS > Service List.

Step 2

Click Create Service. The Service List > Create Service page is displayed.

Step 3

In the Service List Name text box, enter the service list name.

Step 4

From the Service rule drop-down list, choose from the following options:

- permit—permits the service list.

- deny—denies the service list.

Step 5

In the Sequence number text box, enter the priority of the rule. A rule with a lower sequence number is selected first and the service announcement or query is allowed or denied accordingly. You define the sequence number as per your network requirements.

Step 6

From the Message type drop-down list, choose the message type to match from the following options:

- announcement—The service list rule allows only service advertisements or announcements for the device.

- query—The service list rule allows only a query from the client for a service in the network.

- any—The service list rule allows any type of message.

Multiple service maps of the same name with different sequence numbers can be created and the evaluation of the filters will be ordered on the sequence number. Service lists are an ordered sequence of individual statements, each one has a permit or deny result. Evaluation of service list consists of a list scan, in a predetermined order, and an evaluation of the criteria of each statement that matches. A list scan is stopped once the first statement match is found and an action permit/deny associated with the statement match is performed. The default action after scanning through the entire list is to deny.

Step 7

In the Service instance text box, enter the service instance to match.

Step 8

In the Custom text box, enter the mDNS service type string to match. The Learned Service box shows the services that are added after enabling the learned service type configured by navigating to Configuration > Controller > mDNS > Global. For example, _roap._tcp.local. The Selected Service box shows the learned service that you have selected for an mDNS service.

Step 9

Click Apply.

Step 10

Click Save Configuration.

What to Do Next

Proceed to enable the mDNS gateway and redistribution of services.

Enabling mDNS Gateway and Redistributing Services (CLI)

After enabling mDNS gateway for a device, you can apply filters (apply IN-bound filtering or OUT-bound filtering) and active queries by using service-policy and service-policy-query commands, respectively. You can redistribute services and service announcements using the redistribute mdns-sd command, and set some part of the system memory for cache using the cache-memory-max command.

Note

By default, mDNS gateway is disabled on all interfaces.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    service-routing mdns-sd

4.    service-policy service-policy-name {IN | OUT}

5.    redistribute mdns-sd

6.    cache-memory-max cache-config-percentage

7.    service-policy-query service-list-query-name service-list-query-periodicity

8.    exit

9.    wireless multicast

10.    no wireless mdns-bridging

11.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

service-routing mdns-sd

Example:

Controller (config)# service-routing mdns-sd

Enables mDNS gateway functionality for a device and enters multicast DNS configuration (config-mdns) mode.

Note:
This command enables the mDNS function globally.

Note:
Enter the service-routing mdns-sd source-interface if-name command in either global-config or interface-config mode, to specify an alternate source interface for outgoing mDNS packets, so its IP address can be used when there is none configured on the outgoing interface.

Step 4

service-policy service-policy-name {IN | OUT}

Example:

Controller (config-mdns)# service-policy serv-pol1 IN

(Optional) For a service list, applies a filter on incoming service discovery information (IN-bound filtering) or outgoing service discovery information (OUT-bound filtering).

Step 5

redistribute mdns-sd

Example:

Controller (config-mdns)# redistribute mdns-sd

(Optional) Redistributes services or service announcements across subnets.

Note:
If redistribution is enabled globally, global configuration is given higher priority than interface configuration.

Step 6

cache-memory-max cache-config-percentage

Example:

Controller (config-mdns)# cache-memory-max 20

(Optional) Sets some part of the system memory (in percentage) for cache.

Note:
By default, 10 percent of the system memory is set aside for cache. You can override the default value by using this command.

Step 7

service-policy-query service-list-query-name service-list-query-periodicity

Example:

Controller (config-mdns)# service-policy-query sl-query1 100

(Optional) Configures service list-query periodicity.

Step 8

exit

Example:

Controller (config-mdns)#exit

(Optional) Returns to global configuration mode.

Step 9

wireless multicast

Example:

Controller (config)# wireless multicast

(Optional) Enables wireless Ethernet multicast support.

Step 10

no wireless mdns-bridging

Example:

Controller (config)# no wireless mdns-bridging

(Optional) Disables bridging of mDNS packets to wireless clients.

Step 11

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Configuring Interface Service Rules (GUI)

Step 1

Choose Configuration > Controller > mDNS > Interface.

Step 2

Click an interface name.
The Interface Service Rules page is displayed.

Step 3

From the Service Policy IN drop-down list, choose the service policy that should be applied for incoming mDNS messages.

Step 4

From the Service Policy OUT drop-down list, choose the service policy that should be applied for outgoing mDNS messages.

Step 5

Select or unselect the Redistribution check box to enable or disable redistribution of service announcements received on one interface over all the interfaces or over a specific interface.

Step 6

Click Apply.

Step 7

Click Save Configuration.

Configuring mDNS Global Rules (GUI)

Step 1

Choose Configuration > Controller > mDNS > Global.

Step 2

Select the mDNS gateway check box.

Step 3

Follow these steps to configure downstream rules that include service lists and service rules that you can apply for all the downstream traffic on the controller.

1. Click the Down Stream Rules tab.

2. From the Service List Name drop-down list, choose Create New. In the Service List Name box, enter a name.

3. Click Add to add a service rule, and follow on-screen instructions to specify the service rules that include Action, Message Type, Service Instance, and Service Type. See the online help for detailed descriptions of the fields.

Step 4

Follow these steps to configure the upstream rules that include service lists and service rules that you can apply for all the upstream traffic on the controller.

1. Click the Up Stream Rules tab.

2. From the Service List Name drop-down list, choose Create New. In the New Service List Name box, enter a name.

3. Click Add to add a service rule, and follow on-screen instructions to specify the service rules that include Action, Message Type, Service Instance, and Service Type. See the online help for detailed descriptions of the fields.

Step 5

Follow these steps to configure the controller as designated gateway and apply proximity rules:

1. Click the Advanced tab.

2. Select or unselect the Self Designated Gateway check box.

3. Under Proximity, in the Max Services Option box, enter the maximum number of devices supported with a particular service type that are in proximity. The valid range is between 1 and 100.

4. From the Service List Active Query drop-down list, choose the services that are filtered for proximity. You can create a custom service list, by choosing Create New and then specifying the service list name.

5. Click New to add a service type, and from the Service Type drop-down list, choose the service type to be added, and click OK. See the online help for detailed descriptions of the fields.

Step 6

From the Learn Service drop-down list, choose from the following options:

- Enable— Allows the controller to learn all the announced services. It is used to learn services by enabling all announcement/queries by using Service Policy IN of type GUI-permit-all and in Service Policy OUT of type GUI-deny-all.

- Disable— Denies all the traffics IN and OUT. It is used to deny services by disabling all announcement/queries by using Service Policy IN of type GUI-deny-all and in Service Policy OUT of type GUI-deny-all.

- Custom— You can set your own IN and OUT policy. It allows you to define a custom service list.

Step 7

Click Apply.

Step 8

Click Save Configuration.

Monitoring Service Discovery Gateway

Monitoring Service Discovery Gateway

Command

Purpose

show mdns requests [detail | name record-name| type record-type [ name record-name]]

This command displays information for outstanding mDNS requests, including record name and record type information.

show mdns cache [interface type number | name record-name [type record-type]| type record-type]

This command displays mDNS cache information.

show mdns statistics {all | service-list list-name | service-policy {all | interface type number }}

This command displays mDNS statistics.

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

The following example displays how to specify an alternate source interface for outgoing mDNS packets, so its IP address can be used when there is none configured on the outgoing interface.

Controller(config)# service-routing mdns-sd
Controller(config-mdns)# source-interface if-name

Example: Redistribute Service Announcements

The following example displays how to redistribute service announcements received on one interface over all the interfaces or over a specific interface.

Controller(config)# service-routing mdns-sd
Controller(config-mdns)# Redistribute mdns-sd if-name

Example: Disable Bridging of mDNS Packets to Wireless Clients

The following example displays how to disable bridging of mDNS packets to wireless clients.

Controller(config)# wireless multicast
Controller(config)# no wireless mdns-bridging

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

The following example shows the creation of a service-list sl1. The permit command option is being applied on sequence number 3 and all services with message-type announcement are filtered and available for transport across various subnets associated with the device.

Controller# configure terminal
Controller(config)# service-list mdns-sd sl1 permit 3
Controller(config-mdns-sd-sl)#match message-type announcement
Controller(config-mdns)# exit

Example: Enabling mDNS Gateway and Redistributing Services

The following example shows how to enable an mDNS gateway for a device and enable redistribution of services across subnets. IN-bound filtering is applied on the service-list serv-pol1. Twenty percent of system memory is made available for cache and service-list-query periodicity is configured at 100 seconds.

Controller# configure terminal
Controller# service-routing mdns-sd
Controller(config-mdns)# service-policy serv-pol1 IN
Controller(config-mdns)# redistribute mdns-sd
Controller(config-mdns)# cache-memory-max 20
Controller(config-mdns)# service-policy-query sl-query1 100
Controller(config-mdns)# exit

Example: Global mDNS Configuration

The following example displays how to globally configure mDNS.

Controller# configure terminal
Controller(config)# service-list mdns-sd mypermit-all permit 10
Controller(config-mdns-sd-s1)# exit
Controller(config)# service-list mdns-sd querier query
Controller(config-mdns-sd-s1)# service-type _dns._udp
Controller(config-mdns-sd-s1)# end
Controller# configure terminal
Controller(config)# service-routing mdns-sd
Controller(config-mdns)# service-policy mypermit-all IN
Controller(config-mdns)# service-policy mypermit-all OUT

Example: Interface mDNS Configuration

The following example displays how to configure mDNS for an interface.

Controller(config)#interface Vlan136
Controller(config-if)# description *** Mgmt VLAN ***
Controller(config-if)# ip address 9.7.136.10 255.255.255.0
Controller(config-if)# ip helper-address 9.1.0.100
Controller(config-if)# service-routing mdns-sd
Controller(config-if-mdns-sd)#  service-policy mypermit-all IN
Controller(config-if-mdns-sd)# service-policy mypermit-all OUT
Controller(config-if-mdns-sd)#  service-policy-query querier 60

Where to Go Next for Configuring Services Discovery Gateway

You can configure the following:

Additional References

Related Documents

Related Topic

Document Title

Configuring DNS

IP Addressing: DNS Configuration Guide, Cisco IOS XE Release 3SE

DNS conceptual information

'Information About DNS' section in IP Addressing: DNS Configuration Guide, Cisco IOS XE Release 3SE

Platform-independent configuration information

IP Addressing: DNS Configuration Guide, Cisco IOS XE Release 3SE

Error Message Decoder

Description

Link

To help you research and resolve system error messages in this release, use the Error Message Decoder tool.

Click Here

Standards and RFCs

Standard/RFC

Title

RFC 6763

DNS-Based Service Discovery

Multicast DNS Internet-Draft

Multicast

MIBs

MIB

MIBs Link

All supported MIBs for this release.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

Click Here

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

Click Here

Feature History and Information for Services Discovery Gateway

Release

Modification

Cisco IOS XE 3.3SE

This feature was introduced.

Preface

This book describes configuration information and examples for IP multicast routing on the Catalyst 3850 Switch.

- Changes to This Document

- Obtaining Documentation and Submitting a Service Request

- Document Conventions

- Related Documentation

Changes to This Document

This table lists the technical changes made to this document since it was first printed.

Changes to This Document

Revision

Date

Change Summary

OL-26766-01

January 2013

Initial release of this document.

Obtaining Documentation and Submitting a Service Request

For information on obtaining documentation, submitting a service request, and gathering additional information, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at:

Click Here

Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0.

Document Conventions

This document uses the following conventions:

Convention

Description

^ or Ctrl

Both the ^ symbol and Ctrl represent the Control (Ctrl) key on a keyboard. For example, the key combination ^D or Ctrl-D means that you hold down the Control key while you press the D key. (Keys are indicated in capital letters but are not case sensitive.)

bold font

Commands and keywords and user-entered text appear in bold font.

Italic font

Document titles, new or emphasized terms, and arguments for which you supply values are in italic font.

Courier font

Terminal sessions and information the system displays appear in courier font.

Bold Courier font

Bold Courier font indicates text that the user must enter.

[x]

Elements in square brackets are optional.

...

An ellipsis (three consecutive nonbolded periods without spaces) after a syntax element indicates that the element can be repeated.

|

A vertical line, called a pipe, indicates a choice within a set of keywords or arguments.

[x | y]

Optional alternative keywords are grouped in brackets and separated by vertical bars.

{x | y}

Required alternative keywords are grouped in braces and separated by vertical bars.

[x {y | z}]

Nested set of square brackets or braces indicate optional or required choices within optional or required elements. Braces and a vertical bar within square brackets indicate a required choice within an optional element.

string

A nonquoted set of characters. Do not use quotation marks around the string or the string will include the quotation marks.

< >

Nonprinting characters such as passwords are in angle brackets.

[ ]

Default responses to system prompts are in square brackets.

!, #

An exclamation point (!) or a pound sign (#) at the beginning of a line of code indicates a comment line.

Reader Alert Conventions

This document may use the following conventions for reader alerts:

Note

Means reader take note. Notes contain helpful suggestions or references to material not covered in the manual.

Tip

Means the following information will help you solve a problem.

Caution

Means reader be careful. In this situation, you might do something that could result in equipment damage or loss of data.

Timesaver

Means the described action saves time. You can save time by performing the action described in the paragraph.

Warning

IMPORTANT SAFETY INSTRUCTIONS

This warning symbol means danger. You are in a situation that could cause bodily injury. Before you work on any equipment, be aware of the hazards involved with electrical circuitry and be familiar with standard practices for preventing accidents. Use the statement number provided at the end of each warning to locate its translation in the translated safety warnings that accompanied this device. Statement 1071

SAVE THESE INSTRUCTIONS

Related Documentation

Note

Before installing or upgrading the controller, refer to the controller release notes.

- documentation, located at:

- Cisco Validated Designs documents, located at: Click Here

THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.

THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.

The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.

NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.

IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: Click Here . Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Configuring Wireless Multicast-MCMC Mode (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless multicast

4.    ap capwap multicast ipaddr

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless multicast

Example:

Controller(config)# wireless multicast

Controller(config)# no wireless multicast

Enables the multicast traffic for wireless clients. The default value is disable. Add no in the command to disable the multicast traffic for wireless clients.

Step 4

ap capwap multicast ipaddr

Example:

Controller(config)# ap capwap multicast 231.1.1.1

Controller(config)# no ap capwap multicast 231.1.1.1

Enables the forwarding mode in multicast. Add no in the command to disable the multicast mode.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Related Concepts

Information About Wireless Multicast

Configuring Wireless Multicast-MCUC Mode (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wireless multicast

4.    no ap capwap multicast ipaddr

5.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wireless multicast

Example:

Controller(config)# wireless multicast

Enables the multicast traffic for wireless clients and enables mDNS bridging. The default value is disable. Add no in the command to disable the multicast traffic for wireless clients and disable mDNS bridging.

Step 4

no ap capwap multicast ipaddr

Example:

Controller(config)# no ap capwap multicast 231.1.1.1

Enables forwarding mode in multicast. Add no in the command to disable the multicast mode.

Step 5

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Related Concepts

Information About Wireless Multicast

Information About Wireless Multicast

If the network supports packet multicasting, the multicast method that the controller uses can be configured. The controller performs multicasting in two modes:

- Unicast mode—The controller unicasts every multicast packet to every access point associated to the controller. This mode is inefficient but might be required on networks that do not support multicasting.

- Multicast mode—The controller sends multicast packets to a CAPWAP multicast group. This method reduces overhead on the controller processor and shifts the work of packet replication to the network, which is much more efficient than the unicast method.

When the multicast mode is enabled and the controller receives a multicast packet from the wired LAN, the controller encapsulates the packet using CAPWAP and forwards the packet to the CAPWAP multicast group address. The controller always uses the management VLAN for sending multicast packets. Access points in the multicast group receive the packet and forward it to all the BSSIDs mapped to the VLAN on which clients receive multicast traffic.

The controller supports all the capabilities of v1 including Multicast Listener Discovery (MLD) v1 snooping but the v2 and v3 capabilities are limited. This feature keeps track of and delivers IPv6 multicast flows to the clients that request them. To support IPv6 multicast, global multicast mode should be enabled.

Internet Group Management Protocol (IGMP) snooping is introduced to better direct multicast packets. When this feature is enabled, the controller snooping gathers IGMP reports from the clients, processes them, creates unique multicast group IDs (MGIDs) based on the Layer 3 multicast address and the VLAN number, and sends the IGMP reports to the IGMP querier. The controller then updates the access point MGID table on the access point with the client MAC address. When the controller receives multicast traffic for a particular multicast group, it forwards it to all the access points, but only those access points that have active clients listening or subscribed to that multicast group send multicast traffic on that particular WLAN. IP packets are forwarded with an MGID that is unique for an ingress VLAN and the destination multicast group. Layer 2 multicast packets are forwarded with an MGID that is unique for the ingress VLAN.

MGID is a 14-bit value filled in the 16-bit reserved field of wireless information in CAPWAP header. The remaining 2 bits should be set to zero.

Related Tasks

Configuring Wireless Multicast-MCMC Mode (CLI)

Configuring Wireless Multicast-MCUC Mode (CLI)

Configuring IP Multicast VLAN for WLAN (CLI)

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    wlan wlan_name

4.    shutdown

5.    ip multicast vlan {vlan_name vlan_id}

6.    no shutdown

7.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters global command mode.

Step 3

wlan wlan_name

Example:

Controller(config)# wlan test 1

Enters the configuration mode to configure various parameters in the WLAN.

Step 4

shutdown

Example:

Controller(config-wlan)# shutdown

Disables WLAN.

Step 5

ip multicast vlan {vlan_name vlan_id}

Example:

Controller(config-wlan)# ip multicast vlan 5

Controller(config-wlan)# no ip multicast vlan 5

Configures multicast VLAN for WLAN. Add no in the command to disable the multicast VLAN for WLAN.

Step 6

no shutdown

Example:

Controller(config-wlan)# no shutdown

Enables the disabled WLAN.

Step 7

end

Example:

Controller(config)# end

Exits the configuration mode. Alternatively, press Ctrl-Z to exit the configuration mode.

Related Concepts

Information About Multicast Optimization

Information About Multicast Optimization

Multicast used to be based on the group of the multicast addresses and the VLAN as one entity, MGID. With the VLAN group, duplicate packets might increase. Using the VLAN group feature, every client listens to the multicast stream on a different VLAN. As a result, the controller creates different MGIDs for each multicast address and VLAN. Therefore, in a worst case situation, the upstream router sends one copy for each VLAN, which results in as many copies as the number of VLANs in the group. Because the WLAN remains the same for all clients, multiple copies of the multicast packet are sent over the wireless network. To suppress the duplication of a multicast stream on the wireless medium between the controller and the access points, the multicast optimization feature can be used.

Multicast optimization enables you to create a multicast VLAN that can be used for multicast traffic. One of the VLANs in the controller can be configured as a multicast VLAN where multicast groups are registered. The clients are allowed to listen to a multicast stream on the multicast VLAN. The MGID is generated using the mulicast VLAN and multicast IP addresses. If multiple clients on different VLANs of the same WLAN are listening to a single multicast IP address, a single MGID is generated. The controller makes sure that all multicast streams from the clients on this VLAN group always go out on the multicast VLAN to ensure that the upstream router has one entry for all the VLANs of the VLAN group. Only one multicast stream hits the VLAN group even if the clients are on different VLANs. Therefore, the multicast packets that are sent out over the network is just one stream.

Related Tasks

Configuring IP Multicast VLAN for WLAN (CLI)

Configuring the Service List (CLI)

This procedure describes how to create a service list, apply a filter for the service list, and configure parameters for the service list name.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    service-list mdns-sd service-list-name {deny sequence-number | permit sequence-number | query}

4.    match message-type {announcement | any | query}

5.    match service-instance { LINE }

6.    match service-type {LINE }

7.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

service-list mdns-sd service-list-name {deny sequence-number | permit sequence-number | query}

Example:

Controller(config)# service-list mdns-sd sl1 permit 3

Controller(config)# service-list mdns-sd sl4 query

Enters mDNS service discovery service list mode. In this mode, you can:

- Create a service list and apply a filter on the service list according to the permit or deny option applied to the sequence number.

- Create a service list and associate a query for the service list name if the query option is used.

Note:
The sequence number sets the priority of the rule. A rule with a lower sequence number is selected first and the service announcement or query is allowed or denied accordingly. You define the sequence number as per your network requirements.

Step 4

match message-type {announcement | any | query}

Example:

Controller(config-mdns-sd-sl)#  match message-type announcement

(Optional) Sets the message type to match. You can match the following message types:

- announcement

- any

- query

These commands configure the parameters for the service list name that is created in step 2.

If the match message-type is an announcement, then the service list rule only allows service advertisements or announcements for the device. If the match message-type is a query, then only a query from the client for a certain service in the network is allowed.

Multiple service maps of the same name with different sequence numbers can be created and the evaluation of the filters will be ordered on the sequence number. Service lists are an ordered sequence of individual statements, each one has a permit or deny result. Evaluation of service list consists of a list scan, in a predetermined order, and an evaluation of the criteria of each statement that matches. A list scan is stopped once the first statement match is found and an action permit/deny associated with the statement match is performed. The default action after scanning through the entire list is to deny.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 5

match service-instance { LINE }

Example:

Controller(config-mdns-sd-sl)##  match service-instance servInst 1

(Optional) Sets the service instance to match.

This command configures the parameters for the service list name that is created in step 2.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 6

match service-type {LINE }

Example:

Controller(config-mdns-sd-sl)#  match service-type _ipp._tcp

(Optional) Sets the value of the mDNS service type string to match.

This command configures the parameters for the service list name that is created in step 2.

Note:
You cannot use the match command if you have used the query option in the previous step. The match command can be used only for the permit or deny option.

Step 7

end

Example:

Controller(config-mdns-sd-sl)# end

Returns to privileged EXEC mode.

What to Do Next

Proceed to enable the mDNS gateway and redistribution of services.

Related Concepts

Service Discovery Gateway

Filtering

Related References

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

Service Discovery Gateway

The Service Discovery Gateway feature enables multicast Domain Name System (mDNS) to operate across Layer 3 boundaries (different subnets). An mDNS gateway provides transport for service discovery across Layer 3 boundaries by filtering, caching, and redistributing services from one Layer 3 domain (subnet) to another. Prior to implementation of this feature, mDNS was limited in scope to within a subnet because of the use of link-local scoped multicast addresses. This feature enhances Bring Your Own Device (BYOD).

Related Tasks

Configuring the Service List (CLI)

Related References

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

Filtering

After configuring the mDNS gateway and subnets, you can filter services that you want to redistribute. While creating a service list, the permit or deny command options are used:

- The permit command option allows you to permit or transport specific service list information.

- The deny option allows you to deny service list information that is available to be transported to other subnets.

You need to include a sequence number when using the permit or deny command option. The same service list name can be associated with multiple sequence numbers and each sequence number will be mapped to a rule.

Note

If no filters are configured, then the default action is to deny service list information to be transported through the device or interface.

Query is another option provided when creating service lists. You can create queries using a service list. If you want to browse for a service, then active queries can be used. This function is helpful to keep the records refreshed in the cache.

Note

Active queries can only be used globally and cannot be used at the interface level.

A service end-point (such as a printer or fax) sends unsolicited announcements when a service starts up. After that, it sends unsolicited announcements whenever a network change event occurs (such as an interface coming up or going down). The device always respond to queries.

After creating a service list and using the permit or deny command options, you can filter using match statements (commands) based on service-instance, service-type, or message-type (announcement or query).

Related Tasks

Configuring the Service List (CLI)

Related References

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

Example: Creating a Service-List, Applying a Filter and Configuring Parameters

The following example shows the creation of a service-list sl1. The permit command option is being applied on sequence number 3 and all services with message-type announcement are filtered and available for transport across various subnets associated with the device.

Controller# configure terminal
Controller(config)# service-list mdns-sd sl1 permit 3
Controller(config-mdns-sd-sl)#match message-type announcement
Controller(config-mdns)# exit

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Configuring the Service List (CLI)

Enabling mDNS Gateway and Redistributing Services (CLI)

After enabling mDNS gateway for a device, you can apply filters (apply IN-bound filtering or OUT-bound filtering) and active queries by using service-policy and service-policy-query commands, respectively. You can redistribute services and service announcements using the redistribute mdns-sd command, and set some part of the system memory for cache using the cache-memory-max command.

Note

By default, mDNS gateway is disabled on all interfaces.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    service-routing mdns-sd

4.    service-policy service-policy-name {IN | OUT}

5.    redistribute mdns-sd

6.    cache-memory-max cache-config-percentage

7.    service-policy-query service-list-query-name service-list-query-periodicity

8.    exit

9.    wireless multicast

10.    no wireless mdns-bridging

11.    end

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Controller> enable

Enables privileged EXEC mode.

- Enter your password if prompted.

Step 2

configure terminal

Example:

Controller# configure terminal

Enters the global configuration mode.

Step 3

service-routing mdns-sd

Example:

Controller (config)# service-routing mdns-sd

Enables mDNS gateway functionality for a device and enters multicast DNS configuration (config-mdns) mode.

Note:
This command enables the mDNS function globally.

Note:
Enter the service-routing mdns-sd source-interface if-name command in either global-config or interface-config mode, to specify an alternate source interface for outgoing mDNS packets, so its IP address can be used when there is none configured on the outgoing interface.

Step 4

service-policy service-policy-name {IN | OUT}

Example:

Controller (config-mdns)# service-policy serv-pol1 IN

(Optional) For a service list, applies a filter on incoming service discovery information (IN-bound filtering) or outgoing service discovery information (OUT-bound filtering).

Step 5

redistribute mdns-sd

Example:

Controller (config-mdns)# redistribute mdns-sd

(Optional) Redistributes services or service announcements across subnets.

Note:
If redistribution is enabled globally, global configuration is given higher priority than interface configuration.

Step 6

cache-memory-max cache-config-percentage

Example:

Controller (config-mdns)# cache-memory-max 20

(Optional) Sets some part of the system memory (in percentage) for cache.

Note:
By default, 10 percent of the system memory is set aside for cache. You can override the default value by using this command.

Step 7

service-policy-query service-list-query-name service-list-query-periodicity

Example:

Controller (config-mdns)# service-policy-query sl-query1 100

(Optional) Configures service list-query periodicity.

Step 8

exit

Example:

Controller (config-mdns)#exit

(Optional) Returns to global configuration mode.

Step 9

wireless multicast

Example:

Controller (config)# wireless multicast

(Optional) Enables wireless Ethernet multicast support.

Step 10

no wireless mdns-bridging

Example:

Controller (config)# no wireless mdns-bridging

(Optional) Disables bridging of mDNS packets to wireless clients.

Step 11

end

Example:

Controller(config)# end

Returns to privileged EXEC mode.

Related Concepts

Service Discovery Gateway

Filtering

Related References

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

Example: Redistribute Service Announcements

Example: Disable Bridging of mDNS Packets to Wireless Clients

Example: Enabling mDNS Gateway and Redistributing Services

Example: Global mDNS Configuration

Example: Interface mDNS Configuration

Service Discovery Gateway

The Service Discovery Gateway feature enables multicast Domain Name System (mDNS) to operate across Layer 3 boundaries (different subnets). An mDNS gateway provides transport for service discovery across Layer 3 boundaries by filtering, caching, and redistributing services from one Layer 3 domain (subnet) to another. Prior to implementation of this feature, mDNS was limited in scope to within a subnet because of the use of link-local scoped multicast addresses. This feature enhances Bring Your Own Device (BYOD).

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Related References

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

Example: Redistribute Service Announcements

Example: Disable Bridging of mDNS Packets to Wireless Clients

Example: Enabling mDNS Gateway and Redistributing Services

Example: Global mDNS Configuration

Example: Interface mDNS Configuration

Filtering

After configuring the mDNS gateway and subnets, you can filter services that you want to redistribute. While creating a service list, the permit or deny command options are used:

- The permit command option allows you to permit or transport specific service list information.

- The deny option allows you to deny service list information that is available to be transported to other subnets.

You need to include a sequence number when using the permit or deny command option. The same service list name can be associated with multiple sequence numbers and each sequence number will be mapped to a rule.

Note

If no filters are configured, then the default action is to deny service list information to be transported through the device or interface.

Query is another option provided when creating service lists. You can create queries using a service list. If you want to browse for a service, then active queries can be used. This function is helpful to keep the records refreshed in the cache.

Note

Active queries can only be used globally and cannot be used at the interface level.

A service end-point (such as a printer or fax) sends unsolicited announcements when a service starts up. After that, it sends unsolicited announcements whenever a network change event occurs (such as an interface coming up or going down). The device always respond to queries.

After creating a service list and using the permit or deny command options, you can filter using match statements (commands) based on service-instance, service-type, or message-type (announcement or query).

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Related References

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

Example: Redistribute Service Announcements

Example: Disable Bridging of mDNS Packets to Wireless Clients

Example: Enabling mDNS Gateway and Redistributing Services

Example: Global mDNS Configuration

Example: Interface mDNS Configuration

Example: Specify Alternative Source Interface for Outgoing mDNS Packets

The following example displays how to specify an alternate source interface for outgoing mDNS packets, so its IP address can be used when there is none configured on the outgoing interface.

Controller(config)# service-routing mdns-sd
Controller(config-mdns)# source-interface if-name

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Example: Redistribute Service Announcements

The following example displays how to redistribute service announcements received on one interface over all the interfaces or over a specific interface.

Controller(config)# service-routing mdns-sd
Controller(config-mdns)# Redistribute mdns-sd if-name

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Example: Disable Bridging of mDNS Packets to Wireless Clients

The following example displays how to disable bridging of mDNS packets to wireless clients.

Controller(config)# wireless multicast
Controller(config)# no wireless mdns-bridging

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Example: Enabling mDNS Gateway and Redistributing Services

The following example shows how to enable an mDNS gateway for a device and enable redistribution of services across subnets. IN-bound filtering is applied on the service-list serv-pol1. Twenty percent of system memory is made available for cache and service-list-query periodicity is configured at 100 seconds.

Controller# configure terminal
Controller# service-routing mdns-sd
Controller(config-mdns)# service-policy serv-pol1 IN
Controller(config-mdns)# redistribute mdns-sd
Controller(config-mdns)# cache-memory-max 20
Controller(config-mdns)# service-policy-query sl-query1 100
Controller(config-mdns)# exit

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Example: Global mDNS Configuration

The following example displays how to globally configure mDNS.

Controller# configure terminal
Controller(config)# service-list mdns-sd mypermit-all permit 10
Controller(config-mdns-sd-s1)# exit
Controller(config)# service-list mdns-sd querier query
Controller(config-mdns-sd-s1)# service-type _dns._udp
Controller(config-mdns-sd-s1)# end
Controller# configure terminal
Controller(config)# service-routing mdns-sd
Controller(config-mdns)# service-policy mypermit-all IN
Controller(config-mdns)# service-policy mypermit-all OUT

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)

Example: Interface mDNS Configuration

The following example displays how to configure mDNS for an interface.

Controller(config)#interface Vlan136
Controller(config-if)# description *** Mgmt VLAN ***
Controller(config-if)# ip address 9.7.136.10 255.255.255.0
Controller(config-if)# ip helper-address 9.1.0.100
Controller(config-if)# service-routing mdns-sd
Controller(config-if-mdns-sd)#  service-policy mypermit-all IN
Controller(config-if-mdns-sd)# service-policy mypermit-all OUT
Controller(config-if-mdns-sd)#  service-policy-query querier 60

Related Concepts

Service Discovery Gateway

Filtering

Related Tasks

Enabling mDNS Gateway and Redistributing Services (CLI)