Cisco Discovery Protocol

The Cisco Discovery Protocol (CDP) is a proprietary link layer protocol developed by Cisco. Network devices use the protocol to advertise their identities, capabilities, and neighbors.

CDP functions similarly to several proprietary protocols, such as the Link Layer Discovery Protocol (LLDP), Extreme Discovery Protocol (EDP), Foundry Discovery Protocol (FDP), Nortel Discovery Protocol (also known as SONMP), and Microsoft’s Link Layer Topology Discovery (LLTD) protocol.

CDP uses information that the CISCO-CDP-MIB and CISCO-VTP-MIB modules provide. You can find generic information about the CDP process in the CDP Information box on any device’s Node Detail page.

CDP Topology Updater

The CDP Topology Updater consolidates data from the CDP Collector and provides it to the CDP OnmsTopology. Only full bidirectional connections between two CDP-supported devices become edges in the topology. For example, Node A and Node B are connected by a CDP edge if, and only if, there is a CDP MIB port connection from Node A to Node B, and vice versa.

Only nodes with a running CDP process can be part of the link discovery process. The data collected is similar to that displayed by running the show cdp neighbor command on a device’s command line. Linux and Windows servers do not have a CDP process running by default, and will not be part of the link discovery process.

Information gathered from supported OIDs is stored in the following database tables:

Network diagram depicting database tables that are used in CDP discovery
Figure 1. Database tables related to CDP discovery

Supported OIDs

The following OIDs are supported for the discovery and construction of the CDP network topology. The CDP Discovery Collector collects them:

Supported OID from the IF-MIB module
Name Description OID

ifDescr

Text string that contains information about the interface. This string should include the name of the manufacturer, the product name, and the version of the interface hardware or software.

.1.3.6.1.2.1.2.2.1.2

Supported OIDs from the CISCO-CDP-MIB module
Name Description OID

cdpInterfaceName

Name of the local interface as advertised by CDP in the Port-ID TLV.

.1.3.6.1.4.1.9.9.23.1.1.1.1.6

cdpCacheEntry

An entry in the cdpCacheTable which contains the information received via CDP on one interface from one device. Entries appear when a CDP advertisement is received from a neighbor device. Entries disappear when CDP is disabled on the interface or globally.

.1.3.6.1.4.1.9.9.23.1.2.1.1

cdpCacheAddressType

Type of address contained in the corresponding instance of cdpCacheAddress.

.1.3.6.1.4.1.9.9.23.1.2.1.1.3

cdpCacheAddress

The first network-layer address of the device’s SNMP-agent, as reported in the Address TLV of the most recently received CDP message. For example, if the corresponding instance of cacheAddressType has the value ip(1), then this object would be an IP-address.

.1.3.6.1.4.1.9.9.23.1.2.1.1.4

cdpCacheVersion

version string, as reported in the most recent CDP message. A zero-length string indicates that no version field (TLV) was reported in the most recent CDP message.

.1.3.6.1.4.1.9.9.23.1.2.1.1.5

cdpCacheDeviceId

device-ID string, as reported in the most recent CDP message. A zero-length string indicates that no device-ID field (TLV) was reported in the most recent CDP message.

.1.3.6.1.4.1.9.9.23.1.2.1.1.6

cdpCacheDevicePort

port-ID string, as reported in the most recent CDP message. This will typically be the value of the ifName object (for example, Ethernet0). A zero-length string indicates that no port-ID field (TLV) was reported in the most recent CDP message.

.1.3.6.1.4.1.9.9.23.1.2.1.1.7

cdpCachePlatform

Device’s hardware platform, as reported in the most recent CDP message. A zero-length string indicates that no platform field (TLV) was reported in the most recent CDP message.

.1.3.6.1.4.1.9.9.23.1.2.1.1.8

cdpGlobalRun

CDP status. Entries in cdpCacheTable are deleted when CDP is disabled.

.1.3.6.1.4.1.9.9.23.1.3.1.0

cdpGlobalDeviceId

Device ID advertised by this device. Its format is characterized by the value of cdpGlobalDeviceIdFormat.

.1.3.6.1.4.1.9.9.23.1.3.4.0

cdpGlobalDeviceIdFormat

Format of the device-Id that is contained in the corresponding instance of cdpGlobalDeviceId. You can specify only the formats that the device is capable of using, as denoted in cdpGlobalDeviceIdFormatCpb.
serialNumber(1): Indicates that the value of cdpGlobalDeviceId is an ASCII string that contains the device’s serial number.
macAddress(2): Indicates that the value of cdpGlobalDeviceId is a Layer 2 MAC address.
other(3): Indicates that the value of cdpGlobalDeviceId is a platform-specific ASCII string that contains information identifying the device (for example, the serialNumber appended or prepended with the system name).

.1.3.6.1.4.1.9.9.23.1.3.7.0

Supported OIDs from the CISCO-VTP-MIB module
Name Description OID

vtpVersion

Version of VTP in use on the local system. A device will report its version capability and not any particular version in use on the device. If the device does not support VTP, the version is none(3).

.1.3.6.1.4.1.9.9.46.1.1.1.0

ciscoVtpVlanState

State of the VLAN.
operational(1): Indicates that the device is operational.
suspended(2): Indicates that the device is suspended.
mtuTooBigForDevice(3): Indicates that the device cannot participate in this VLAN because the VLAN’s MTU is larger than the device can support.
mtuTooBigForTrunk(4): Indicates that, while this VLAN’s MTU is supported by the device, it is too large for one or more of the device’s trunk ports.

.1.3.6.1.4.1.9.9.46.1.3.1.1.2

ciscoVtpVlanType

VLAN type (ethernet(1), fddi(2), tokenRing(3), fddiNet(4), trNet(5), or deprecated(6)).

.1.3.6.1.4.1.9.9.46.1.3.1.1.3

ciscoVtpVlanName

Name of the VLAN. This OID is used as the ELAN-name in an ATM LAN-Emulation segment of the VLAN.

.1.3.6.1.4.1.9.9.46.1.3.1.1.4