CDP Discovery

The Cisco Discovery Protocol (CDP) is a proprietary link layer protocol from Cisco. Network devices use it to advertise their identity, capabilities, and neighbors. CDP performs functions similar to several proprietary protocols, such as the Link Layer Discovery Protocol (LLDP), Extreme Discovery Protocol, Foundry Discovery Protocol (FDP), Nortel Discovery Protocol (also known as SONMP), and Microsoft’s Link Layer Topology Discovery (LLTD). The CDP discovery uses information provided by the CISCO-CDP-MIB and CISCO-VTP-MIB. You can find generic information about the CDP process in the CDP Information box on the Node Detail Page of the device.

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

Only nodes with a running CDP process can be part of the link discovery. The data is similar to running a show cdp neighbor command on the IOS CLI of the device. Linux and Windows servers don’t have a CDP process running by default and will not be part of the link discovery.

The following OIDs are supported to discover and build the CDP network topology and are collected by the CDP Discovery Collector.

Table 1. Supported OIDS from the IF-MIB
Name Description OID

ifDescr

A 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/software.

.1.3.6.1.2.1.2.2.1.2

Table 2. Supported OIDS from the CISCO-CDP-MIB to discover links
Name Description OID

cdpInterfaceName

The 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 (conceptual row) in the cdpCacheTable, containing 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

An indication of the 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 had 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

The version string reported in the most recent CDP message. The zero-length string indicates 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

The device-ID string reported in the most recent CDP message. The zero-length string indicates 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

The port-ID string reported in the most recent CDP message. This will typically be the value of the ifName object (for example, Ethernet0). The zero-length string indicates 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

The device’s hardware platform reported in the most recent CDP message. The 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

An indication of whether the Cisco Discovery Protocol is currently running. Entries in cdpCacheTable are deleted when CDP is disabled.

.1.3.6.1.4.1.9.9.23.1.3.1.0

cdpGlobalDeviceId

The device ID advertised by this device. The format of this device ID is characterized by the value of cdpGlobalDeviceIdFormat object.

.1.3.6.1.4.1.9.9.23.1.3.4.0

cdpGlobalDeviceIdFormat

An indication of the device-Id format contained in the corresponding instance of cdpGlobalDeviceId. Users can specify only the formats that the device is capable of as denoted in cdpGlobalDeviceIdFormatCpb object.
serialNumber(1): indicates that the value of cdpGlobalDeviceId object is in the form of an ASCII string that contains the device serial number.
macAddress(2): indicates that the value of cdpGlobalDeviceId object is in the form of Layer 2 MAC address.
other(3): indicates that the value of cdpGlobalDeviceId object is in the form of a platform-specific ASCII string that contains information that identifies the device. For example: ASCII string contains serialNumber appended/prepended with system name.

.1.3.6.1.4.1.9.9.23.1.3.7.0

Table 3. Supported OIDS from the CISCO-VTP-MIB
Name Description OID

vtpVersion

The 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

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

.1.3.6.1.4.1.9.9.46.1.3.1.1.2

ciscoVtpVlanType

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

.1.3.6.1.4.1.9.9.46.1.3.1.1.3

ciscoVtpVlanName

The name of this VLAN. Used as the ELAN-name for an ATM LAN-Emulation segment of this VLAN.

.1.3.6.1.4.1.9.9.46.1.3.1.1.4

Information gathered from these OIDs will be stored in the following database table:

cdp database
Figure 1. Database tables related to CDP discovery