CDP Protocol Implementation

This projects aims at both implementing the CDP protocol and adding CDP capabilities to LiSA. Currently, the implementation is almost complete. The daemon is capable of both advertising local features through CDP and decode CDP advertisments from neighbour devices.

The source code is part of the LiSA tarball (refer to the download page for details), under the userspace/cdpd directory. The daemon is tightly integrated with LiSA, and at present it cannot be used standalone. The following diagram illustrates the general CDP daemon architecture.

The CDP daemon makes use of LiSA's "PF_SWITCH" socket implementation to send and receive CDP frames. Incoming frames are received by the switching engine and delivered to userspace through appropriate PF_SWITCH sockets. Outgoing frames are sent to a PF_SWITCH socket and then enqueued directly to the egress interface by the kernel module.