Configuring LLDP, LLDP-MED, and Wired Location Service


This chapter describes how to configure the Link Layer Discovery Protocol (LLDP), LLDP Media Endpoint Discovery (LLDP-MED) and wired location service on the switch. Unless otherwise noted, the term switch refers to a standalone switch and to a switch stack.


Note For complete syntax and usage information for the commands used in this chapter, see the command reference for this release and the "System Management Commands" section in the Cisco IOS Configuration Fundamentals Command Reference, Release 12.2.


Understanding LLDP, LLDP-MED, and Wired Location Service

Configuring LLDP, LLDP-MED, and Wired Location Service

Monitoring and Maintaining LLDP, LLDP-MED, and Wired Location Service

Understanding LLDP, LLDP-MED, and Wired Location Service

LLDP

The Cisco Discovery Protocol (CDP) is a device discovery protocol that runs over Layer 2 (the data link layer) on all Cisco-manufactured devices (routers, bridges, access servers, and switches). CDP allows network management applications to automatically discover and learn about other Cisco devices connected to the network.

To support non-Cisco devices and to allow for interoperability between other devices, the switch supports the IEEE 802.1AB Link Layer Discovery Protocol (LLDP). LLDP is a neighbor discovery protocol that is used for network devices to advertise information about themselves to other devices on the network. This protocol runs over the data-link layer, which allows two systems running different network layer protocols to learn about each other.

LLDP supports a set of attributes that it uses to discover neighbor devices. These attributes contain type, length, and value descriptions and are referred to as TLVs. LLDP supported devices can use TLVs to receive and send information to their neighbors. This protocol can advertise details such as configuration information, device capabilities, and device identity.

The switch supports these basic management TLVs. These are mandatory LLDP TLVs.

Port description TLV

System name TLV

System description TLV

System capabilities TLV

Management address TLV

These organizationally specific LLDP TLVs are also advertised to support LLDP-MED.

Port VLAN ID TLV ((IEEE 802.1 organizationally specific TLVs)

MAC/PHY configuration/status TLV(IEEE 802.3 organizationally specific TLVs)


Note A switch stack appears as a single switch in the network. Therefore, LLDP discovers the switch stack, not the individual stack members.


When you configure LLDP or CDP location information on a per-port basis, remote devices can send Cisco Medianet location information to the switch. For information, go to
http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_cdp_discover.html.

LLDP-MED

LLDP for Media Endpoint Devices (LLDP-MED) is an extension to LLDP that operates between endpoint devices such as IP phones and network devices such as switches. It specifically provides support for voice over IP (VoIP) applications and provides additional TLVs for capabilities discovery, network policy, Power over Ethernet, inventory management and location information. By default, all LLDP-MED TLVs are enabled.

LLDP-MED supports these TLVs:

LLDP-MED capabilities TLV

Allows LLDP-MED endpoints to determine the capabilities that the connected device supports and has enabled.

Network policy TLV

Allows both network connectivity devices and endpoints to advertise VLAN configurations and associated Layer 2 and Layer 3 attributes for the specific application on that port. For example, the switch can notify a phone of the VLAN number that it should use. The phone can connect to any switch, obtain its VLAN number, and then start communicating with the call control.

By defining a network-policy profile TLV, you can create a profile for voice and voice-signalling by specifying the values for VLAN, class of service (CoS), differentiated services code point (DSCP), and tagging mode. These profile attributes are then maintained centrally on the switch and propagated to the phone.

Power management TLV

Enables advanced power management between LLDP-MED endpoint and network connectivity devices. Allows switches and phones to convey power information, such as how the device is powered, power priority, and how much power the device needs.

Inventory management TLV

Allows an endpoint to send detailed inventory information about itself to the switch, including information hardware revision, firmware version, software version, serial number, manufacturer name, model name, and asset ID TLV.

Location TLV

Provides location information from the switch to the endpoint device. The location TLV can send this information:

Civic location information

Provides the civic address information and postal information. Examples of civic location information are street address, road name, and postal community name information.

ELIN location information

Provides the location information of a caller. The location is determined by the Emergency location identifier number (ELIN), which is a phone number that routes an emergency call to the local public safety answering point (PSAP) and which the PSAP can use to call back the emergency caller.

Wired Location Service

The switch uses the wired location service feature to send location and attachment tracking information for its connected devices to a Cisco Mobility Services Engine (MSE). The tracked device can be a wireless endpoint, a wired endpoint, or a wired switch or controller. The switch notifies the MSE of device link up and link down events through the Network Mobility Services Protocol (NMSP) location and attachment notifications.

The MSE starts the NMSP connection to the switch, which opens a server port. When the MSE connects to the switch there are a set of message exchanges to establish version compatibility and service exchange information followed by location information synchronization. After connection, the switch periodically sends location and attachment notifications to the MSE. Any link up or link down events detected during an interval are aggregated and sent at the end of the interval.

When the switch determines the presence or absence of a device on a link-up or link-down event, it obtains the client-specific information such as the MAC address, IP address, and username. If the client is LLDP-MED- or CDP-capable, the switch obtains the serial number and UDI through the LLDP-MED location TLV or CDP.

Depending on the device capabilities, the switch obtains this client information at link up:

Slot and port specified in port connection

MAC address specified in the client MAC address

IP address specified in port connection

802.1X username if applicable

Device category is specified as a wired station

State is specified as new

Serial number, UDI

Model number

Time in seconds since the switch detected the association

Depending on the device capabilities, the switch obtains this client information at link down:

Slot and port that was disconnected

MAC address

IP address

802.1X username if applicable

Device category is specified as a wired station

State is specified as delete

Serial number, UDI

Time in seconds since the switch detected the disassociation

When the switch shuts down, it sends an attachment notification with the state delete and the IP address before closing the NMSP connection to the MSE. The MSE interprets this notification as disassociation for all the wired clients associated with the switch.

If you change a location address on the switch, the switch sends an NMSP location notification message that identifies the affected ports and the changed address information.

Configuring LLDP, LLDP-MED, and Wired Location Service

Default LLDP Configuration

Configuration Guidelines

Enabling LLDP

Configuring LLDP Characteristics

Configuring LLDP-MED TLVs

Configuring Network-Policy TLV

Configuring Location TLV and Wired Location Service

Default LLDP Configuration

Table 28-1 Default LLDP Configuration

Feature
Default Setting

LLDP global state

Disabled

LLDP holdtime (before discarding)

120 seconds

LLDP timer (packet update frequency)

30 seconds

LLDP reinitialization delay

2 seconds

LLDP tlv-select

Disabled to send and receive all TLVs

LLDP interface state

Disabled

LLDP receive

Disabled

LLDP transmit

Disabled

LLDP med-tlv-select

Disabled to send all LLDP-MED TLVs


Configuration Guidelines

If the interface is configured as a tunnel port, LLDP is automatically disabled.

If you first configure a network-policy profile on an interface, you cannot apply the switchport voice vlan command on the interface. If the switchport voice vlan vlan-id is already configured on an interface, you can apply a network-policy profile on the interface. This way the interface has the voice or voice-signaling VLAN network-policy profile applied on the interface.

You cannot configure static secure MAC addresses on an interface that has a network-policy profile.

You cannot configure a network-policy profile on a private-VLAN port.

For wired location to function, you must first enter the ip device tracking global configuration command.

Enabling LLDP

Beginning in privileged EXEC mode, follow these steps to enable LLDP:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

lldp run

Enable LLDP globally on the switch.

Step 3 

interface interface-id

Specify the interface on which you are enabling LLDP, and enter interface configuration mode.

Step 4 

lldp transmit

Enable the interface to send LLDP packets.

Step 5 

lldp receive

Enable the interface to receive LLDP packets.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show lldp

Verify the configuration.

Step 8 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable LLDP, use the no lldp run global configuration command. To disable LLDP on an interface, use the no lldp transmit and the no lldp receive interface configuration commands.

This example shows how to globally enable LLDP.

Switch# configure terminal
Switch(config)# lldp run
Switch(config)# end

This example shows how to enable LLDP on an interface.

Switch# configure terminal
Switch(config)# interface interface_id
Switch(config-if)# lldp transmit
Switch(config-if)# lldp receive
Switch(config-if)# end

Configuring LLDP Characteristics

You can configure the frequency of LLDP updates, the amount of time to hold the information before discarding it, and the initialization delay time. You can also select the LLDP and LLDP-MED TLVs to send and receive.

Beginning in privileged EXEC mode, follow these steps to configure the LLDP characteristics.


Note Steps 2 through 5 are optional and can be performed in any order.


 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

lldp holdtime seconds

(Optional) Specify the amount of time a receiving device should hold the information from your device before discarding it.

The range is 0 to 65535 seconds; the default is 120 seconds.

Step 3 

lldp reinit delay

(Optional) Specify the delay time in seconds for LLDP to initialize on an interface.

The range is 2 to 5 seconds; the default is 2 seconds.

Step 4 

lldp timer rate

(Optional) Set the sending frequency of LLDP updates in seconds.

The range is 5 to 65534 seconds; the default is 30 seconds.

Step 5 

lldp tlv-select

(Optional) Specify the LLDP TLVs to send or receive.

Step 6 

interface interface-id

Specify the interface on which you are enabling LLDP, and enter interface configuration mode.

Step 7 

lldp med-tlv-select

(Optional) Specify the LLDP-MED TLVs to send or receive.

Step 8 

end

Return to privileged EXEC mode.

Step 9 

show lldp

Verify the configuration.

Step 10 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no form of each of the LLDP commands to return to the default setting.

This example shows how to configure LLDP characteristics.

Switch# configure terminal
Switch(config)# lldp holdtime 120
Switch(config)# lldp reinit 2
Switch(config)# lldp timer 30
Switch(config)# end

Configuring LLDP-MED TLVs

By default, the switch only sends LLDP packets until it receives LLDP-MED packets from the end device. It then sends LLDP packets with MED TLVs, as well. When the LLDP-MED entry has been aged out, it again only sends LLDP packets.

By using the lldp interface configuration command, you can configure the interface not to send the TLVs listed in Table 28-2.

Table 28-2 LLDP-MED TLVs 

LLDP-MED TLV
Description

inventory-management

LLDP-MED inventory management TLV

location

LLDP-MED location TLV

network-policy

LLDP-MED network policy TLV

power-management

LLDP-MED power management TLV


Beginning in privileged EXEC mode, follow these steps to enable a TLV on an interface:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

interface interface-id

Specify the interface on which you are configuring an LLDP-MED TLV, and enter interface configuration mode.

Step 3 

lldp med-tlv-select tlv

Specify the TLV to enable.

Step 4 

end

Return to privileged EXEC mode.

Step 5 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

This example shows how to enable a TLV on an interface:

Switch# configure terminal
Switch(config)# interface interface_id
Switch(config-if)# lldp med-tlv-select inventory-management
Switch(config-if)# end

Configuring Network-Policy TLV

Beginning in privileged EXEC mode, follow these steps to create a network-policy profile, configure the policy attributes, and apply it to an interface.

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

network-policy profile profile number

Specify the network-policy profile number, and enter network-policy configuration mode. The range is 1 to 4294967295.

Step 3 

{voice | voice-signaling} vlan [vlan-id {cos cvalue | dscp dvalue}] | [[dot1p {cos cvalue | dscp dvalue}] | none | untagged]

Configure the policy attributes:

voice—Specify the voice application type.

voice-signaling—Specify the voice-signaling application type.

vlan—Specify the native VLAN for voice traffic.

vlan-id—(Optional) Specify the VLAN for voice traffic. The range is 1 to 4094.

cos cvalue—(Optional) Specify the Layer 2 priority class of service (CoS) for the configured VLAN. The range is 0 to 7; the default is 5.

dscp dvalue—(Optional) Specify the differentiated services code point (DSCP) value for the configured VLAN. The range is 0 to 46; the default is 0.

dot1p—(Optional) Configure the telephone to use IEEE 802.1p priority tagging and use VLAN 0 (the native VLAN).

none—(Optional) Do not instruct the IP telephone about the voice VLAN. The telephone uses the configuration from the telephone key pad.

untagged—(Optional) Configure the telephone to send untagged voice traffic. This is the default for the telephone.

Step 4 

exit

Return to global configuration mode.

Step 5 

interface interface-id

Specify the interface on which you are configuring a network-policy profile, and enter interface configuration mode.

Step 6 

network-policy profile number

Specify the network-policy profile number.

Step 7 

lldp med-tlv-select network-policy

Specify the network-policy TLV.

Step 8 

end

Return to privileged EXEC mode.

Step 9 

show network-policy profile

Verify the configuration.

Step 10 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no form of each command to return to the default setting.

This example shows how to configure VLAN 100 for voice application with CoS and to enable the network-policy profile and network-policy TLV on an interface:

Switch# configure terminal
Switch(config)# network-policy 1
Switch(config-network-policy)# voice vlan 100 cos 4
Switch(config)# exit
Switch# configure terminal
Switch# interface_id
Switch(config-if)# network-policy profile 1
Switch(config-if)# lldp med-tlv-select network-policy

This example shows how to configure the voice application type for the native VLAN with priority tagging:

Switch(config-network-policy)# voice vlan dot1p cos 4
Switch(config-network-policy)# voice vlan dot1p dscp 34

Configuring Location TLV and Wired Location Service

Beginning in privileged EXEC mode, follow these steps to configure location information for an endpoint and to apply it to an interface.

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

location {admin-tag string | civic-location identifier id | elin-location string identifier id}

Specify the location information for an endpoint.

admin-tag—Specify an administrative tag or site information.

civic-location—Specify civic location information.

elin-location—Specify emergency location information (ELIN).

identifier id—Specify the ID for the civic location.

string—Specify the site or location information in alphanumeric format.

Step 3 

exit

Return to global configuration mode.

Step 4 

interface interface-id

Specify the interface on which you are configuring the location information, and enter interface configuration mode.

Step 5 

location {additional-location-information word | civic-location-id id | elin-location-id id}

Enter location information for an interface:

additional-location-information—Specify additional information for a location or place.

civic-location-id—Specify global civic location information for an interface.

elin-location-id—Specify emergency location information for an interface.

id—Specify the ID for the civic location or the ELIN location. The ID range is 1 to 4095.

word—Specify a word or phrase with additional location information.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show location

Verify the configuration.

Step 8 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no form of each command to return to the default setting.

This example shows how to configure civic location information on the switch:

Switch(config)# location civic-location identifier 1 
Switch(config-civic)# number 3550 
Switch(config-civic)# primary-road-name "Cisco Way" 
Switch(config-civic)# city "San Jose" 
Switch(config-civic)# state CA 
Switch(config-civic)# building 19 
Switch(config-civic)# room C6 
Switch(config-civic)# county "Santa Clara" 
Switch(config-civic)# country US 
Switch(config-civic)# end 

Beginning in privileged EXEC mode, follow these steps to enable wired location service on the switch.


Note Your switch must be running the cryptographic (encrypted) software image to enable the nmsp global configuration commands.


 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

nmsp enable

Enable the NMSP features on the switch.

Step 3 

nmsp notification interval {attachment | location} interval-seconds

Specify the NMSP notification interval.

attachment—Specify the attachment notification interval.

location—Specify the location notification interval.

interval-seconds—Duration in seconds before the switch sends the MSE the location or attachment updates. The range is 1 to 30; the default is 30.

Step 4 

end

Return to privileged EXEC mode.

Step 5 

show network-policy profile

Verify the configuration.

Step 6 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

This example shows how to enable NMSP on a switch and to set the location notification time to 10 seconds:

Switch(config)# nmsp enable
Switch

Monitoring and Maintaining LLDP, LLDP-MED, and Wired Location Service

To monitor and maintain LLDP, LLDP-MED, and wired location service on your device, perform one or more of these tasks, beginning in privileged EXEC mode.

Command
Description

clear lldp counters

Reset the traffic counters to zero.

clear lldp table

Delete the LLDP neighbor information table.

clear nmsp statistics

Clear the NMSP statistic counters.

show lldp

Display global information, such as frequency of transmissions, the holdtime for packets being sent, and the delay time before LLDP initializes on an interface.

show lldp entry entry-name

Display information about a specific neighbor.

You can enter an asterisk (*) to display all neighbors, or you can enter the neighbor name.

show lldp interface [interface-id]

Display information about interfaces with LLDP enabled.

You can limit the display to a specific interface.

show lldp neighbors [interface-id] [detail]

Display information about neighbors, including device type, interface type and number, holdtime settings, capabilities, and port ID.

You can limit the display to neighbors of a specific interface or expand the display for more detailed information.

show lldp traffic

Display LLDP counters, including the number of packets sent and received, number of packets discarded, and number of unrecognized TLVs.

show location

Display the location information for an endpoint.

show network-policy profile

Display the configured network-policy profiles.

show nmsp

Display the NMSP information.