From: Dennis Flynn <drfl...@avaya.com> This patch sequence provides OVS support for the IETF Auto-Attach SPBM draft standard. This standard describes a compact method of using IEEE 802.1AB Link Layer Discovery Protocol (LLDP) together with a IEEE 802.1aq Shortest Path Bridging (SPB) network to automatically attach network devices to individual services in a SPB network. The intent here is to allow network applications and devices using OVS to be able to easily take advantage of features offered by industry standard SPB networks. Details of the Auto-Attach standard can be found here.
http://tools.ietf.org/html/draft-unbehagen-lldp-spb-00 We have modified the OVS source code to integrate basic LLDP protocol support as required to implement Auto-Attach (AA). We modeled our LLDP code changes after other protocols currently supported by OVS (BFD, CFM, etc.). We have chosen to base this OVS LLDP work on the open source LLDPD project headed by Vincent Bernat. Details of the LLDPD project can be found here. http://vincentbernat.github.io/lldpd Although the LLDPD project provides a full LLDP implementation as per the IEEE 802.1AB standard, our initial offering focuses on the core pieces of LLDP required to provide AA support. We have plans in place to extend this work to include full LLDP support within OVS. We have reached a point in our development where we would like to submit our changes upstream to the OVS development community. Within this patch set we have integrated core LLDP support into OVS and have augmented that to support Auto-Attach. We have extended OVSDB and unixctl adding new commands to support the configuration, status display, and statistics display of Auto-Attach. We have added the associated man pages for these new commands. While there is more Auto-Attach work to be done we feel we are at a point where it makes sense to start presenting this new Auto-Attach feature upstream for your consideration. Regards, Dennis Flynn: Avaya, Inc. email: drfl...@avaya.com Ludovic Beliveau: WindRiver, Inc. email: ludovic.beliv...@windriver.com Rev. 1.0 ======== - Initial submission. Rev. 2.0 ======== - Fix GCC and sparse errors - Replace BSD-style linked lists with OVS-style lists - Add endianness checks in auto attach TLV packet structures - Removed auto attach configuration option and associated conditional compilation - Update NOTICE and copyright.in files with auto attach Copyright and license info - Change comment reflecting Net::CDP packet generation macro license change from GPLv2 to ISC. - Remove lldp logic not required by auto attach - Adapt lldp code to fit Open vSwitch sytles and conventions - Eliminate "#include config.h" from header files - Accommodate GCC specifics and validate build using MSVC 2013 - Eliminate references to log.h in favor of OVS vlog.h - Add auto attach description to man pages and NEWS - Simplify auto attach OVSDB entries - Remove unnecessary GCC version check - Remove references to sysfs Rev. 3.0 ======== - Move base lldp code to new lib/lldp directory to reflect separation of base lldp code from OVS lldp interface code. - More cleanup to conform to OVS coding style - Remove unused lldp code and ovsschema entries - Auto attach documentation improvements Dennis Flynn (3): auto-attach: Initial support for Auto-Attach standard auto-attach: Add auto-attach support to ofproto layer auto-attach: Add auto-attach support to bridge layer and command set NEWS | 5 +- NOTICE | 13 + debian/copyright.in | 18 + lib/automake.mk | 26 +- lib/lldp/aa-structs.h | 48 ++ lib/lldp/lldp-const.h | 230 +++++++++ lib/lldp/lldp-tlv.h | 80 ++++ lib/lldp/lldp.c | 701 +++++++++++++++++++++++++++ lib/lldp/lldpd-structs.c | 138 ++++++ lib/lldp/lldpd-structs.h | 228 +++++++++ lib/lldp/lldpd.c | 770 +++++++++++++++++++++++++++++ lib/lldp/lldpd.h | 117 +++++ lib/odp-util.h | 3 +- lib/ovs-lldp.c | 1039 ++++++++++++++++++++++++++++++++++++++++ lib/ovs-lldp.h | 97 ++++ ofproto/ofproto-dpif-monitor.c | 41 +- ofproto/ofproto-dpif-monitor.h | 3 +- ofproto/ofproto-dpif-xlate.c | 227 ++------- ofproto/ofproto-dpif-xlate.h | 8 +- ofproto/ofproto-dpif.c | 194 ++++---- ofproto/ofproto-provider.h | 61 +++ ofproto/ofproto.c | 195 ++++---- ofproto/ofproto.h | 17 + tests/ovs-vsctl.at | 2 + utilities/ovs-vsctl.8.in | 22 + utilities/ovs-vsctl.c | 192 ++++++++ vswitchd/bridge.c | 271 ++++++++++- vswitchd/vswitch.ovsschema | 29 +- vswitchd/vswitch.xml | 64 +++ 29 files changed, 4407 insertions(+), 432 deletions(-) create mode 100644 lib/lldp/aa-structs.h create mode 100644 lib/lldp/lldp-const.h create mode 100644 lib/lldp/lldp-tlv.h create mode 100644 lib/lldp/lldp.c create mode 100644 lib/lldp/lldpd-structs.c create mode 100644 lib/lldp/lldpd-structs.h create mode 100644 lib/lldp/lldpd.c create mode 100644 lib/lldp/lldpd.h create mode 100644 lib/ovs-lldp.c create mode 100644 lib/ovs-lldp.h -- 1.7.12.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev