Configuring Wide Area Bonjour

Configuring Wide Area Bonjour Domain

The Wide Area Bonjour domain configuration specifies the parameters of the controller, that is the Wide Area Bonjour Application running on Cisco DNA Center, as well as the service types that need to be exported to it from the SDG Agent. Configuring Wide Area Bonjour Domain involves creating service-lists and service policy similar to those created in Local Area Bonjour configuration; however, only egress policy from SDG Agent to controller is applicable.

Enabling mDNS Gateway on the Device

To configure mDNS on the device, follow these steps:

Procedure

  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

mdns-sd gateway

Example:

Device(config)# mdns-sd gateway

Enables mDNS on the device and enters mDNS gateway configuration mode.

Enter the following commands in mDNS gateway configuration mode to enable the respective functionalities:

  • air-print-helper : Enables IOS devices like iPADs to discover and use older printers that support Bonjour

  • cache-memory-max : Configures the percentage memory for cache

  • ingress-client : Configures Ingress Client Packet Tuners

  • rate-limit : Enables rate limiting of incoming mDNS packets

  • service-announcement-count : Configures maximum advertisements

  • service-announcement-timer : Configures advertisements announce timer periodicity

  • service-query-count : Configures maximum queries

  • service-query-timer : Configures query forward timer periodicity

  • service-type-enumeration : Configures service enumeration

Note 

For cache-memory-max , ingress-client , rate-limit , service-announcement-count , service-announcement-timer , service-query-count , service-query-timer , and service-type-enumeration commands, you can retain the default value of the respective parameter for general deployments. Configure a different value, if required, for a specific deployment.

Step 4

exit

Example:

Device(config-mdns-sd)# exit

Exits mDNS gateway configuration mode.

Creating Custom Service Definition

Service definition is a construct that provides an admin friendly name to one or more mDNS service types or PTR Resource Record Name. By default, few built-in service definitions are already predefined and available for admin to use. In addition to built-in service definitions, admin can also define custom service definitions.

Procedure

  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

mdns-sd service-definition service-definition-name

Example:

Device(config)# mdns-sd service-definition CUSTOM1

Configures mDNS service definition.

Note 

All the created custom service definitions are added to the primary service list. Primary service list comprises of a list of custom and built-in service definitions.

Step 4

service-type string

Example:

Device(config-mdns-ser-def)# service-type _custom1._tcp.local

Configures mDNS service type.

Step 5

Repeat step 4 to configure more than one service type in the custom service definition.

Step 6

exit

Example:

Device(config-mdns-ser-def)# exit

Exit mDNS service definition configuration mode.

Creating Service List

mDNS service list is a collection of service definitions. To create a service list, follow these steps:

Procedure

  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

mdns-sd service-list service-list-name {in | out}

Example:

Device(config)# mdns-sd service-list VLAN100-list in

Configures mDNS service list.

Step 4

match service-definition-name [message-type {any | announcement | query}]

Example:

Device(config-mdns-sl-in)# match PRINTER message-type announcement

Matches the service to the message type. Here, service-definition-name refers to the names of services, such as, airplay, airserver, airtunes, and so on.

Note 

To add a service, the service name must be part of the primary service list.

If the mDNS service list is set to IN, the applicable command syntax is: match service-definition-name [message-type {any | announcement | query}] .

If the mDNS service list is set to OFF, the applicable command syntax is: match service-definition-name .

Step 5

exit

Example:

Device(config-mdns-sl-in)# exit

Exits mDNS service list configuration mode.

Creating Service Policy

A Service Policy that is applied to an interface specifies the allowed Bonjour service announcements or the queries of specific service types that should be processed, in ingress direction or egress direction or both. For this, the service policy specifies two service-lists, one each for ingress and egress directions. In the Local Area Bonjour domain, the same service policy can be attached to one or more Bonjour client VLANs; however, different VLANs may have different service policies.

To configure service policy with service lists, follow these steps:

Procedure

  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

mdns-sd service-policy service-policy-name

Example:

Device(config)# mdns-sd service-policy mdns-policy1

Configures mDNS service policy.

Step 4

service-list service-list-name {in | out}

Example:

Device(config-mdns-ser-pol)# service-list VLAN100-list in
Device(config-mdns-ser-pol)# service-list VLAN300-list out

Configures service lists for IN and OUT directions.

Step 5

exit

Example:

Device(config-mdns-ser-pol)# exit

Exits mDNS service policy configuration mode.

Associating Service Policy with the Controller in Wide Area Bonjour Domain

In Wide Area Bonjour, the service policy is configured globally and does not get associated with a VLAN as in the case of Local Area Bonjour.

To configure service policy globally, follow these steps:

Procedure

  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

service-export mdns-sd controller controller name

Example:

Device(config)# service-export mdns-sd controller DNAC-BONJOUR-CONTROLLER

Specifies a name for the controller and enters service-export mode

Step 4

controller-address ipv4-address

Example:

Device(config-mdns-sd-se)# controller-address 199.245.1.7

Specifies the controller address.

Step 5

controller-port port-number

Example:

Device(config-mdns-sd-se)# controller-port 9991

Specifies the port number on which the controller is listening.

Step 6

controller-source-interface interface-name

Example:

Device(config-mdns-sd-se)# controller-source-interface Loopback0

Specifies the source-interface for the controller.

Step 7

controller-service-policy service-policy-name out

Example:

Device(config-mdns-sd-se)# controller-service-policy policy1 OUT

Specifies the service policy to be used by the controller.

Note 

Only OUT policy is applicable for Wide Area Bonjour.

Step 8

exit

Example:

Device(config-mdns-sd)# exit

Exits controller service export configuration mode.

Step 9

mdns-sd gateway

Example:

Device(config)# mdns-sd gateway

Enters mDNS gateway configuration mode.

Step 10

ingress-client query-suppression enable

Example:

Device(config-mdns-sd)# ingress-client query-suppression enable

Enables ingress query suppression for better scale and performance.

Step 11

exit

Example:

Device(config-mdns-sd)# exit

Exits mDNS gateway configuration mode.