EXOS CDP Protocol Operations

The EXOS-CDP implementation performs the following tasks:
  • Adds a filter for CDP Multicast MAC when the CDP protocol is enabled on port.
  • Processes received CDP messages.
  • Transmits CDP messages to peer when CDP is enabled.
  • Maintains the current neighbor‘s information in the local database.

Protocol Operations

  • Multicast Address

    This EXOS-CDP Implementation describes the operation of the protocol for reception of CDPPDUs on a single port, using a Multicast Mac address as the destination (01:00:0C:CC:CC:CC).

  • CDP Initialization

    The following EXOS CDP related functions are created as part of the existing CDP process.

    • Upon system initialization, the appropriate default values are assigned to CDP global, port, and neighbor data structure.
    • Retrieval of non-volatile configuration values.
  • CDP Frame Reception

    CDP frame reception consists of three phases: frame recognition, frame validation, CDP neighbor updates.

    Frame Recognition is performed at the kernel level. A CDP raw socket is created and bound to the nexTx device. A filter to receive all the CDP packets with the Multicast MAC address of 01:00:0C:CC: CC:CC is attached during initialization, and when CDP is enabled in the port. Then a per port filter is added using expktInterface_t.

    Frames that are recognized as CDP frames are validated to determine whether they are properly constructed and contain the correct CDP packet format. Frames that pass validation criteria are used to update the contents of the neighbor entries in the database.

    If the neighbor entry does not exist in the CDP neighbor database, a new entry is created. If the neighbor entry already exists in the database, new information contained in the CDPPDU is used to replace the changed information of the existing entry in the neighbor database.

    One of the parameters received in an incoming CDPPDU is the TTL value. This determines how long the information is stored in the neighbor database before it is aged out and deleted. Aging out old data ensures that neighbor entries are purged that were originated by systems that are no longer neighbors, either because of system failure or system inactivation.

  • CDP Port/Connection Failure

    If the port, or the connection to the remote system fails, the neighbor entity from the database is not deleted. It will be deleted after the associated TTL timer expires.

  • Timers

    rx_timer -- A global rx_timer is defined for the CDP receive functionality. This timer is created when any one neighbor is added to the neighbor database. This timer is operated as a countdown timer, with a value of 15 seconds.

    The timers are started when at least one neighbor is created. Once the timer expires, it checks the neighbor database and deletes the neighbor entry when the hold time reaches 0.

    tx_timer -- A tx_timer is defined for the CDP transmit functionality on each port. This timer is created when CDP is enabled on the port.

  • CDPPDU Validation

    The following attributes are validated in the received CDP PDU:

    • The Checksum must be re-calculated in order for the packet to be valid otherwise the EXOS-cdp will reject the packet. Standard IP checksum mechanism used for calculating the checksum
    • The receiving CDP packet length must be greater than, or equal to 4.
    • The packet version must be 1.
  • CDP Frame Transmission

    The EXOS-CDP module uses the same socket created during initialization for transmitting the CDPPDUs.

    Under normal circumstances, remote devices send CDP messages at a configured interval (default 1 minute). If you enable CDP between CDP Messages in Extreme Switches, the feature must wait for next CDPPDU to update in the neighbor database. To avoid this delay when CDP is enabled, a CDPPDUs is sent to peer.

    For every default configuration of message interval 60 seconds, CDP packets are transmitted on the CDP-enabled ports.This message interval is the configurable through CLI. The default value is 60 seconds, and the range for this message interval is 5 to 254 seconds

  • Storing CDP Neighbors

    Advertisements received from the peer contain time-to-live information that indicates the length of time a receiving device holds CDP information before discarding it.

    A neighbor entry is discarded after three advertisements from the device are missed.

  • CDP Packet Statistics

    CDP counters of total TX and RX CDP control packets are maintained on each port.

  • CDP over Lag interface

    CDP that runs over an aggregated MAC client, and the CDPPDUs information, is received on all ports that are part of the aggregated interface.