The ExtremeXOS-CDP implementation gathers information about network neighbors that support the Cisco Discovery protocol. This includes edge devices (VoIP phones) in the network-edge domain.
EXOS-CDP runs on top of the controlled port of an 802 MAC client. If port access is controlled by IEEE 802.1X, the port must be authorized before you enable CDP protocol receive functionality. CDP also runs over an aggregated MAC client, and the CDP protocol information must run over all the physical MAC clients of the aggregated ports. The spanning tree state of a port does not affect the transmission of CDP PDUs.
Each CDP message contains information identifying the source port as a connection endpoint identifier. It also contains at least one network address that can be used by an NMS to reach a management agent on the device (through the indicated source port). Each CDP message contains a time-to-live value, which tells the recipient when to discard each element of learned topology information.
By default EXOS-CDP feature is disabled.
Both CDP version 1 and version 2 are supported in EXOS-CDP implementation.
The CDP control packets are encapsulated to the Sub-network Access Protocol (SNAP), and are sent as multicasts with Cisco®-defined multicast MAC address 01:00:0C:CC:CC:CC.
The following table lists and describes the CDP packet fields.
Field | Description |
---|---|
Version | Version of the CDP being used values 0x1 or 0x02 |
Time-to-Live (TTL) | TTL indicates the amount of time in seconds that a receiver should retain the information contained in this packet. |
Check Sum | Standard IP checksum |
Type | Indicates the type of the TLV |
Length | Indicates the total length of the Type,Length,Value fields |
Value | Indicates the value of the TLV |
The following list identifies the different types of TLVs.
This TLV is used to identify Device name in form of Character string. In EXOS-CDP implementation it will be the configurable value. System Mac address will be the default Device ID. Both receive and transmit of this TLV is supported.
This TLV contains a number that indicates how many addresses are contained in the packet, followed by one entry for each address being advertised. The addresses advertised are the ones assigned to the interface on which the CDP message is sent. A device can advertise all addresses for a given protocol suite and, optionally, can advertise one or more loopback IP addresses. If the device can be managed by SNMP (Simple Network Management Protocol), the first entry in the address type/length/value is an address at which the device receives SNMP messages. Maximum of 32 IP address are supported. Both receive and transmit of this TLV is supported.
The following table identifies and describes the various fields in the Address Information TLV.
Field | Description |
---|---|
Protocol Type |
Protocol type It can be one of the following values
|
Length | Length of the protocol field. |
Protocol |
One of the following values:
|
Address Length | Length of the address fields in bytes |
Address | Address of the interface or the address of the system if addresses are not assigned to the interface. |
The port ID contains an ASCII character string that identifies the port on which the CDP message is sent. Both receive and transmit of this TLV is supported.
The capability TLV describes the device‘s functional capability. It can be set to one of the bits listed below. Both receive and transmit of this TLV is supported.
The following table identifies and describes the various bits in the Capabilities TLV.
Bit Description | Bit Description |
---|---|
0x01 | Performs level 3 routing for at least one network layer protocol. |
0x02 | Performs level 2 transparent bridging. |
0x04 | Performs level 2 source-route bridging. A source-route bridge would set both this bit and bit 0x02. |
0x08 | Performs level 2 switching. The difference between this bit and bit 0x02 is that a switch does not run the STP (Spanning Tree Protocol). |
0x10 |
Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this Bit should not be set. |
0x20 | The bridge or switch does not forward IGMP (Internet Group Management Protocol) Report packets on non-router ports. |
0x40 | Provides level 1 functionality. |
The version TLV contains a character string that provides information about the software release version that the device is running. In EXOS-CDP version will be software version. Both receive and transmit of this TLV is supported.
The platform TLV contains an ASCII character string that describes the hardware platform of the device. These platform TLV values are EXOS platform information that is the same seen when you issue the show switch command. Both receive and transmit of this TLV is supported.
The native VLAN TLV indicates, per interface, the assumed VLAN for untagged packets on the interface. CDP learns the native VLAN for an interface. Both receive and transmit of this TLV is supported.
The duplex TLV indicates the duplex configuration of the interface. Both receive and transmit of this TLV is supported.
The voice VLAN query TLV indicates what VLAN ID is to be used for voice. This TLV is mostly used in IP Phones to configure the voice VLAN. IP Phone will query the Neighbor switch for voice VLAN. The switch will reply the VLAN ID value by transmitting in CDP PDU with type voice vlan reply TLV. Only receive functionality is supported.
The voice VLAN reply TLV indicates the voice VID for the VOIP VLAN Query. The switch will reply the VLAN ID value when it receives the voice vlan query TLV. Only transmit functionality is supported. When the VOIP VLAN Query is received immediately a CDP PDU is sent with reply TLV filled.
The power TLV indicates the amount of power consumed by remote devices. Only receive functionality is supported.
The power request TLV indicates the power requested by the powered device (PD). Only the receive functionality of this TLV is supported.
The power available TLV indicates the power available in the powered source device. This information will be sent in the CDP PDU to the powered device (PD). Only the transmission of this TLV is supported.
The MTU TLV indicates the size of the largest datagram that can be sent/received by a remote device. Only receive functionality is supported.
The trust bit TLV offers the ability to specify whether the PC port of the phone is trusted. Only transmit functionality is supported. This value is configured by CLI command to say whether the port is trusted/untrusted. Only the transmission of this TLV is supported.
The untrust QOS TLV offers the ability to specify whether the PC port of the phone is untrusted then what to mark the L2 packet cos bit. Only the transmission of this TLV is supported. This value is configured by user through CLI command.
The system name TLV indicates the value of the remote device's sysName MIB object. Both transmit and receive functionality is supported.
The system object ID TLV indicates the value of the remote device's sysObjectID MIB. Only receive functionality is supported.
The management address indicates the ipaddress for which the device accepts the SNMP messages. Both transmit and receive functionality is supported.
The location TLV indicates the physical location, which says either the postal pin address. Both transmit and receive functionality is supported. The location value will be configured by configure snmp syslocation sysLocation