« I see dead servers - in O(1) time | Main | Assimilation Monitoring LinuxCon Video »

10 September 2012


Feed You can follow this conversation by subscribing to the comment feed for this post.


Is there already a lightweight client that will do the listening? Seems it will need raw socket access (and promiscious interface?) to get the relevant ethernet frames...


So answering my own question, for CDP you can use:

tcpdump -c1 -vvv -s0 -i fxp0 "ether multicast and ether[20:2] = 0x2000"

to dump the first recieved CDP frame as text, and
tcpdump -c1 -vvv -s0 -i fxp0 "ether multicast and ether proto 0x88cc"

does a similar (less nice) job with LLDP.

Alan R.

My code in the Assimilation project monitoring system knows how to decode LLDP and CDP packets, and is lightweight, and doesn't enable promiscuous mode on Linux. What you really want is to listen on all your interfaces at once, and enable each as the packet(s) come in. LLDP has this annoying property that the frame length is split across two bytes, taking one bit from the frame type.

Michael Cornelia

I have been having trouble assigning them according to the location of the server. I eventually want them to require zero administrative effort when I replace a server. I have been trying to get this figured out for about a month now because my business needs a disaster recovery plan. I felt that cloud computing would be a great alternative for this.

Alan R.

Doing this right is definitely a pain in the you-know-what. It will require:
(0) Renumbering all your IP addresses of your switches as noted above
leaving room for all your servers AND their virtual IPs as well as fixed IPs
(1) Enabling LLDP or CDP in your network
(2) Writing a piece of software to intercept/read the incoming LLDP or CDP packets
on all the interfaces you expect CDP or LLDP on
(3) Integrating this CDP/LLDP reader into the bootup process to assign IP addresses
as the packets arrive, and terminate when all the requested interfaces are assigned
(4) Do a LOT of testing to make this all work.

Obviously, you'd want to start with a small test network to use in creating and testing this software.

Regarding Disaster Recovery - that's a complicated issue - not particularly related to cloud computing. It is unlikely that in most cloud computing scenarios that you'd have _any_ influence over IP address assignments.

The comments to this entry are closed.

Become a Fan

AddThis Social Bookmark Button
Blog powered by Typepad