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: Figure 1. Database tables related to CDP discovery LLDP Discovery Transparent Bridge Discovery