LLDP is a layer two discovery protocol, similar to Cisco’s CDP. The big difference between the two is that LLDP is a standard while CDP is a Cisco proprietary protocol.
Cisco devices support the IEEE 802.1ab version of LLDP. This allows non-Cisco devices to advertise information about themselves to our network devices.
LLDP uses attributes that contain a type, length and value descriptions. These are called TLVs (Type, Length, Value). Devices that support LLDP use TLVs to send and receive information to their directly connected neighbors. Here’s an example of some basic TLVs:
- Port description TLV
- System name TLV
- System description TLV
- System capabilities TLV
- Management Address TLV
Some network end devices (like IP Phones) can use LLDP for VLAN assignment or PoE (Power over Ethernet) requirements. To accomplish this, an enhancement was made which is called MED (Media Endpoint Discovery). This is typically known as LLDP-MED.
Configuration of LLDP is really simple, depending on your switch and IOS version it might be enabled or disabled by default. Let’s take a look at an example:
I have two Cisco Catalyst 3560 switches, directly connected to each other. LLDP is disabled by default on these switches so let’s enable it:
SW1, SW2 (config)#lldp run
This enables LLDP globally on all interfaces. After a couple of seconds we can see something:
I’m on a 2960 and the Port Description only shows the interface name e.g. “GigabitEthernet0/1”, instead of the description. Any ideas why?
What about the Port ID? does it show anything? I’ve seen some examples where the port ID and port description were swapped.
Port id shows the interface as Gi0/1. so basically im getting the remote int info but not the description.
Hmm it might be related to the IOS version then. On my 3560 it worked out of the box after enabling LLDP globally and setting a description on the interface.
for the record, im running IOS 12.2(50)