summaryrefslogtreecommitdiff
path: root/lib/lldp/lldp-tlv.h
Commit message (Collapse)AuthorAgeFilesLines
* types: New macros ETH_ADDR_C and ETH_ADDR64_C.Ben Pfaff2017-11-291-3/+1
| | | | | | | | | These macros expand to constants of type struct eth_addr and struct eth_addr64, respectively, and make it more convenient to initialize or assign to an Ethernet address object. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Mark Michelson <mmichels@redhat.com>
* userspace: Define and use struct eth_addr.Jarno Rajahalme2015-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Define struct eth_addr and use it instead of a uint8_t array for all ethernet addresses in OVS userspace. The struct is always the right size, and it can be assigned without an explicit memcpy, which makes code more readable. "struct eth_addr" is a good type name for this as many utility functions are already named accordingly. struct eth_addr can be accessed as bytes as well as ovs_be16's, which makes the struct 16-bit aligned. All use seems to be 16-bit aligned, so some algorithms on the ethernet addresses can be made a bit more efficient making use of this fact. As the struct fits into a register (in 64-bit systems) we pass it by value when possible. This patch also changes the few uses of Linux specific ETH_ALEN to OVS's own ETH_ADDR_LEN, and removes the OFP_ETH_ALEN, as it is no longer needed. This work stemmed from a desire to make all struct flow members assignable for unrelated exploration purposes. However, I think this might be a nice code readability improvement by itself. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
* auto-attach: Support latest version of auto-attach LLDP TLVsDennis Flynn2015-03-231-10/+20
| | | | | | | | | | | | | | | | | The following enhancements to the auto-attach feature are provided - Support recent modifications to the AA element discovery TLV - Support recent Avaya Organizationally Unique ID (OUI) change. (This will change to IEEE assigned OUI once AA standard has been ratified) - Remove some Avaya specific #defines The primary purpose of this commit is to catch up with the latest changes made to the auto attach TLVs as the Auto Attach feature progresses through the 802.1Q IEEE standards committee. Most notably this includes some minor rework of the AA element discovery TLV and a recent change to the Avaya OUI value. Signed-off-by: Dennis Flynn <drflynn@avaya.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* auto-attach: Initial support for Auto-Attach standardDennis Flynn2015-03-031-0/+79
This commit provides the initial delivery of support for the Auto-Attach standard to Open vSwitch. This standard describes a compact method of using IEEE 802.1AB Link Layer Discovery Protocol (LLDP) with a IEEE 802.1aq Shortest Path Bridging (SPB) network to automatically attach network devices not supporting IEEE 802.1ah to individual services in a SPB network. Specifically this commit adds base LLDP support to OVS along with the LLDP extension required to support Auto-Attach. The base LLDP code within this commit is adapted from the open source LLDPD project headed by Vincent Bernat. This base code is augmented with OVS specific logic which integrates LLDP into OVS and which extends LLDP to support Auto-Attach. The required build system changes are provided to include this new Auto-Attach feature. This is the first of a series of commits. Subsequent commits will be provided to complete the task of adding Auto-Attach to OVS. Signed-off-by: Ludovic Beliveau <ludovic.beliveau@windriver.com> Signed-off-by: Dennis Flynn <drflynn@avaya.com> Signed-off-by: Ben Pfaff <blp@nicira.com>