User: Password:
Subscribe / Log in / New account

implementation of IEEE 802.1Qbg in lldpad

From:  Jens Osterkamp <>
Subject:  implementation of IEEE 802.1Qbg in lldpad
Date:  Tue, 28 Sep 2010 17:10:53 +0200
Message-ID:  <>
Archive-link:  Article


this set of patches contains the initial implementation of the IEEE 802.1Qbg
standard: code for the exchange of EVB TLVs in LLDP frames to negotiate VSI
capabalities as well as VDP VSI TLVs between a host with virtual machines
and an adjacent switch.

It supports setting the parameters of the TLV exchange from the command
line using lldptool.

VDP profiles consisting of mode,mgrid,typeid,typeidversion,instanceid,mac,vlan
can be given to lldpad with lldptool or sent to lldpad via netlink messages from
the kernel or another program, e.g. libvirt.

VDP profiles are processed through the VDP/VSI and ECP state machines and
sent out in ECP frames.
ACK frames are received and processed through ECP and VDP/VSI state machines.

It implements a VDP bridge role for a port together with a lldptool command to
switch a port to the bridge role.

These patches apply against lldpad 0.9.38 and still contain code to log
low-level protocol activity more verbosely than necessary.

In comparison to the last posted series, several changes have been made:

 - ECP and VDP implementation patches have been merged. Now ECP/VDP only consists
   of 2 patches: ECP/VDP and VDP commandline interface
 - VDP sequence numbering has been fixed
 - profile is removed in case VDP state machine reaches VSI_EXIT
 - reduced debug verbosity in VDP code
 - network byte order in sequence numbering was fixed
 - fixed bug in profile comparison
 - fixed default values for EVB supported mode and capabilities
 - increased test coverage
 - addressed John's comments on my last series
 - many other small bug fixes

For more information about lldpad take a look at

Please review and comment.

Thanks !


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds