In this blog We will discuss configuration on the Cisco WLC version 7.6.100.0. What configuration is needed on your switches and how you can verify Bonjour is working. We’ll get it working for devices on the same subnet and across different subnets, both wired and wireless.
Users love Apple. IT tends to be hesitant in supporting the awesome features they come with. AirPlay is probably the most requested feature. Cisco did not officially support Bonjour and AirPlay until version 7.4 in the Wireless LAN Controller. The latest revisions have improvements in supporting Bonjour and especially in the configuration.
Cisco Wireless LAN Controller Requirements
To allow Bonjour to traverse the wireless network there will need to be some features active
- mDNS
- Broadcast forwarding
- Multicast
- IGMP snooping
Broadcast Forwarding
Click on Controller and ensure you’re in the General section. From this section, ensure Broadcast Forwarding is Enabled. This was required by one of our vendors. We use Savant AV equipment and to manage those devices, and to also allow Bonjour, we had to enable this feature. This is a global feature of the wireless LAN controller.
Additionally, change the AP Multicast Mode to Multicast and set a multicast address. When selecting a multicast address, pick one from the private multicast address space.
Expand mDNS and click on General. In this window, enable mDNS Global Snooping. The Cisco WLC will enable some services for you. Depending on your needs for Bonjour, you’ll either add or remove services.
To add a service, click on the drop down for “Select Service“, select the service required, enable Query Status, and then click Add.
To remove an existing service, hover your mouse over the blue arrow icon and select Remove.
Moving on to Domain Names you will see a list of entries from devices currently communicating via Bonjour. Seeing devices in this section is a good sign.
Notice the “Type” column. Initially, you probably will see only Wireless devices. In order to see Wired devices you must create an interface on the WLC within each subnet needing access to Bonjour services. Within that interface configuration the mDNS Profile should also be selected.
Another location to configure the mDNS Profile is within the WLAN Advanced Settings.
mDNS Browser is a handy tool to view what the controller can find on the network and what service string they are using.
Switch Configuration
First feature that must be enabled is multicast. Use this command on your switch to enable multicast:
ip multicast-routing
Next configuration item is to enter the VLAN interface and configure the sparse mode:
interface vlan vlan-id
ip pim sparse-mode
The main command is ip pim sparse-mode. What this command does is allow the SVI to join in sparse mode multicast traffic. The clients in that VLAN will be able to receive multicast traffic from different multicast groups. Sparse mode uses a pull model to deliver multicast traffic.
You can read more about Sparse Mode and the other modes on Cisco.com:
After configuring the sparse mode for the SVI, we now enable IGMP snooping on the switch with this command:
ip igmp snooping vlan vlan-id
Verify IGMP snooping with:
show ip igmp snooping
SDG01-SVRM-CSW-3750-01#show ip igmp snooping Global IGMP Snooping configuration: ----------------------------------- IGMP snooping : Enabled IGMPv3 snooping (minimal) : Enabled Report suppression : Enabled TCN solicit query : Disabled TCN flood query count : 2 Last Member Query Interval : 1000
Vlan 1: -------- IGMP snooping : Enabled IGMPv2 immediate leave : Disabled Explicit host tracking : Enabled Multicast router learning mode : pim-dvmrp Last Member Query Interval : 1000 CGMP interoperability mode : IGMP_ONLY
Commands used to verify mDNS on the Cisco WLC:
show mdns profile summary show mdns profile detail <profile-name> show mdns service summary show mdns service detail <service-name> show interface det <interface-name> show interface group detail <interface-group-name> show wlan <wlan-id> show client detail <mac-address> show network summary
clear mdns service-database <service-name / all>
debug mdns message <enable|disable>