Configuring LLDP

This chapter describes how to configure the Link Layer Discovery Protocol (LLDP) in order to discover other devices on the local network.

This chapter contains the following sections:

About LLDP

The Cisco Discovery Protocol (CDP) is a device discovery protocol that allows network management applications to automatically discover and learn about other Cisco devices that are connected to the network.

To permit the discovery of non-Cisco devices, the switch also supports the Link Layer Discovery Protocol (LLDP), a vendor-neutral device discovery protocol that is defined in the IEEE 802.1ab standard. LLDP allows 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 is a one-way protocol that transmits information about the capabilities and current status of a device and its interfaces. LLDP devices use the protocol to solicit information only from other LLDP devices.

LLDP supports a set of attributes that it uses to discover other devices. These attributes contain type, length, and value (TLV) descriptions. LLDP devices can use TLVs to send and receive information to other devices on the network. Details such as configuration information, device capabilities, and device identity can be advertised using this protocol.

LLDP advertises the following TLVs by default:

  • DCBXP

  • Management address

  • Port description

  • Port VLAN

  • System capabilities

  • System description

  • System name

About DCBXP

The Data Center Bridging Exchange Protocol (DCBXP) is an extension of LLDP. It is used to announce, exchange, and negotiate node parameters between peers. DCBXP parameters are packaged as DCBXP TLVs in the LLDP packet. If CEE is used, DCBXP will use an acknowledgment mechanism over LLDP. When the port comes up, DCBX TLVs are sent and any DCBX TLVs received are processed. By default, the DCBX protocol is set to auto-detect, and the latest protocol version supported by both the peers is used.

Features that need to exchange and negotiate parameters with peer nodes using DCBXP are as follows:

  • Priority-based Flow Control (PFC)—PFC is an enhancement to the existing Pause mechanism in Ethernet. It enables Pause based on user priorities or classes of service. A physical link that is divided into eight virtual links with PFC provides the capability to use Pause on a single virtual link without affecting traffic on the other virtual links. Enabling Pause on a per-user-priority basis allows administrators to create lossless links for traffic requiring no-drop service while retaining packet-drop congestion management for IP traffic.

  • Enhanced Transmission Selection (ETS) — ETS enables optimal bandwidth management of virtual links. ETS is also called priority grouping. It enables differentiated treatments within the same priority classes of PFC. ETS provides prioritized processing based on bandwidth allocation, low latency, or best effort, resulting in per-group traffic class allocation. For example, an Ethernet class of traffic may have a high-priority designation and a best effort within that same class. ETS allows differentiation between traffic of the same priority class, thus creating priority groups.

  • Application Priority Configuration — Carries information about the priorities that are assigned to specific protocols.

  • Priority to DSCP Mapping — The mapping of the DSCP and COS values configured in the QOS policy are sent in the Application Priority TLV.


Note

For information on the quality of service (QoS) features, see the Cisco Nexus 3400 Series NX-OS Quality of Service Configuration Guide.

DCBXP is enabled by default, provided LLDP is enabled. When LLDP is enabled, DCBXP can be enabled or disabled using the [no] lldp tlv-select dcbxp command. DCBXP is disabled on ports where LLDP transmit or receive is disabled.

Virtualization Support

One instance of LLDP is supported.

Guidelines and Limitations for LLDP

LLDP has the following configuration guidelines and limitations:

  • LLDP must be enabled on the device before you can enable or disable it on any interfaces.

  • LLDP is supported only on physical interfaces.

  • LLDP can discover up to one device per port.

  • DCBXP incompatibility messages might appear when you change the network QoS policy if a physical loopback connection is in the device. The incompatibility exists for only a short time and then clears.

  • ETS Configuration and Recommendation TLVs are sent only when the input queuing is configured and applied at the system level.

  • PFC TLV are sent when pause is enabled for at-least one COS value in network-qos policy and priority-flow-control mode should be auto in the Interface level.

Default Settings for LLDP

This table lists the LLDP default settings.

Parameters Default
Global LLDP Disabled
LLDP on interfaces Enabled, after LLDP is enabled globally
LLDP hold time (before discarding) 120 seconds
LLDP reinitialization delay 2 seconds
LLDP timer (packet update frequency) 30 seconds
LLDP TLVs Enabled
LLDP receive Enabled, after LLDP is enabled globally
LLDP transmit Enabled, after LLDP is enabled globally
DCBXP Enabled, provided LLDP is enabled
DCBXP version Auto-detect

Configuring LLDP


Note

Cisco NX-OS commands for this feature may differ from Cisco IOS commands for a similar feature.

Enabling or Disabling LLDP Globally

You can enable or disable LLDP globally on a device. You must enable LLDP globally to allow a device to send and receive LLDP packets.

SUMMARY STEPS

  1. configure terminal
  2. [no] feature lldp
  3. (Optional) show running-config lldp
  4. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

[no] feature lldp

Example:

switch(config)# feature lldp

Enables or disables LLDP on the device. LLDP is disabled by default.

Step 3

(Optional) show running-config lldp

Example:

switch(config)# show running-config lldp
(Optional)

Displays the global LLDP configuration. If LLDP is enabled, it shows "feature lldp." If LLDP is disabled, it shows an "Invalid command" error.

Step 4

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Enabling or Disabling LLDP on an Interface

After you globally enable LLDP, it is enabled on all supported interfaces by default. However, you can enable or disable LLDP on individual interfaces or selectively configure an interface to only send or only receive LLDP packets.

Before you begin

Make sure that you have globally enabled LLDP on the device.

SUMMARY STEPS

  1. configure terminal
  2. interface interface slot/port
  3. [no] lldp transmit
  4. [no] lldp receive
  5. (Optional) show lldp interface interface slot/port
  6. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface slot/port

Example:

switch(config)# interface ethernet 7/1
switch(config-if)#

Specifies the interface on which you are enabling LLDP and enters the interface configuration mode.

Step 3

[no] lldp transmit

Example:

switch(config-if)# lldp transmit

Enables or disables the transmission of LLDP packets on an interface. After you globally enable LLDP, it is enabled on all supported interfaces by default.

Step 4

[no] lldp receive

Example:

switch(config-if)# lldp receive

Enables or disables the reception of LLDP packets on an interface. After you globally enable LLDP, it is enabled on all supported interfaces by default.

Step 5

(Optional) show lldp interface interface slot/port

Example:

switch(config-if)# show lldp interface ethernet 7/1
(Optional)

Displays the LLDP configuration on the interface.

Step 6

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring the DCBXP Protocol Version

You can specify the protocol version in which the DCBX TLVs are sent.


Note

If the peers are not running the same verison, DCBX parameters may not converge for the link. You may need to reset the link for the new protocol version to take effect.

Before you begin

Make sure that you have globally enabled LLDP on the device.

SUMMARY STEPS

  1. configure terminal
  2. interface interface slot/port
  3. lldp dcbx version cee/ieee/auto

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface slot/port

Example:

switch(config)# interface ethernet 1/25
switch(config-if)#

Enters interface configuration mode.

Step 3

lldp dcbx version cee/ieee/auto

Example:

switch(config-if)#lldp dcbx version cee

Specifies the protocol version mode sent.

  • The cee variable sets the port to only send TLVs in Converged Enhanced Ethernet (CEE) protocol version.

  • The ieee variable sets the port to only sent TLVs in IEEE 802.1Qaz protocol version.

  • The auto variable sets the port to send TLVs in the latest protocol version supported by both the peers.

The default is set to auto.

Configuring Optional LLDP Parameters

You can configure the frequency of LLDP updates, the amount of time for a receiving device to hold the information before discarding it, and the initialization delay time. You can also select the TLVs to include in LLDP packets.

SUMMARY STEPS

  1. configure terminal
  2. (Optional) [no] lldp dcbx version {cee| |ieee| | auto}
  3. (Optional) [no] lldp holdtime seconds
  4. (Optional) [no] lldp reinit seconds
  5. (Optional) [no] lldp timer seconds
  6. (Optional) show lldp timers
  7. (Optional) [no] lldp tlv-select tlv
  8. (Optional) show lldp tlv-select
  9. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

(Optional) [no] lldp dcbx version {cee| |ieee| | auto}

Example:

switch(config)# lldp dcbx 3 auto
(Optional)
Step 3

(Optional) [no] lldp holdtime seconds

Example:

switch(config)# lldp holdtime 200
(Optional)

Specifies the amount of time in seconds that a receiving device should hold the information that is sent by your device before discarding it.

The range is 10 to 255 seconds; the default is 120 seconds.

Step 4

(Optional) [no] lldp reinit seconds

Example:

switch(config)# lldp reinit 5
(Optional)

Specifies the delay time in seconds for LLDP to initialize on any interface.

The range is 1 to 10 seconds; the default is 2 seconds.

Step 5

(Optional) [no] lldp timer seconds

Example:

switch(config)# lldp timer 50
(Optional)

Specifies the transmission frequency of LLDP updates in seconds.

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

Step 6

(Optional) show lldp timers

Example:

switch(config)# show lldp timers
(Optional)

Displays the LLDP hold time, delay time, and update frequency configuration.

Step 7

(Optional) [no] lldp tlv-select tlv

Example:

switch(config)# lldp tlv-select system-name
(Optional)

Specifies the TLVs to send and receive in LLDP packets. The available TLVs are dcbxp, management-address, port-description, port-vlan, system-capabilities, system-description, and system-name. All available TLVs are enabled by default.

Step 8

(Optional) show lldp tlv-select

Example:

switch(config)# show lldp tlv-select
(Optional)

Displays the LLDP TLV configuration.

Step 9

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Verifying the LLDP Configuration

To display the LLDP configuration, perform one of the following tasks:

Command Purpose
show running-config lldp Displays the global LLDP configuration.
show lldp all Displays the LLDP DCBXP, transmit and receive configuration for all interfaces.
show lldp interface interface slot/port Displays the LLDP interface configuration.
show lldp timers Displays the LLDP hold time, delay time, and update frequency configuration.
show lldp tlv-select Displays the LLDP TLV configuration.
show lldp dcbx interface interface slot/port Displays DCBXP TLV information for a specific interface.
show lldp neighbors {detail | interface interface slot/port} Displays the LLDP neighbor device status.
show lldp traffic Displays the LLDP counters, including the number of LLDP packets sent and received by the device, the number of discarded packets, and the number of unrecognized TLVs.
show lldp traffic interface interface slot/port Displays the number of LLDP packets sent and received on the interface.
show qos dcbxp interface slot/port

Displays DCBXP information for a specific interface.

Use the clear lldp counters command to clear the LLDP statistics.

Configuration Example for LLDP

This example shows how to enable LLDP on a device; disable LLDP on some interfaces; configure optional parameters such as hold time, delay time, and update frequency; and disable several LLDP TLVs:

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# feature lldp
switch(config)# interface ethernet 7/9
switch(config-if)# no lldp transmit
switch(config-if)# no lldp receive
switch(config-if)# exit
switch(config)# interface ethernet 7/10
switch(config-if)# no lldp transmit
switch(config-if)# no lldp receive
switch(config-if)# exit
switch(config)# lldp holdtime 200
switch(config)# lldp reinit 5
switch(config)# lldp timer 50
switch(config)# no lldp tlv-select port-vlan
switch(config)# no lldp tlv-select system-name