Hi, This series adds run-time configuration of allowed OpenFlow versions to ovs-vswtichd, ovs-ofctl and ovs-controller; and adds tests for Open Flow 1.2 messages that utilise the run-time configuration of allowed OpenFlow versions.
Substantial portions have been re-written since my previous post. * For ovs-vswitchd the allowed versions are configured via the database. * For ovs-ofctl and ovs-controller they are configured using the new --allowed-ofp-versions command line option. * Internally a bitmap is used throughout to represent allowed Open Flow versions. * Open Flow 1.3.1 version negotiation is supported including encoding and decoding of hello messages with version bitmaps. I am unsure what to do about the -V command line option of ovs-vswitchd, ovs-ofctl and ovs-controller. I have left it unmodified. Git and diffstat information is provided to aid review. ---------------------------------------------------------------- The following changes since commit f7b7ee9753cd75da86c21ac6364dab07e5e8d51a: stream.py: un-decorator Stream.register_method (2012-10-17 11:22:08 -0700) are available in the git repository at: git://github.com/horms/openvswitch.git devel/of1.2-runtime-switch2 for you to fetch changes up to d86a2b06acfa3b30bd067f9c48fec748fcb0d123: test: add ofproto OpenFlow1.2 tests (2012-10-18 14:35:29 +0900) ---------------------------------------------------------------- Simon Horman (18): vconn: Paramatise pvconn_open() over minimum OpenFlow version vconn: Add ofputil_version_bitmap vconn: Allowed OpenFlow versions ofp-util: Add version bitmap to hello messages connmgr: Paramatise ofservice_create() over allowed OpenFlow versions ofproto: Make set_pvconns() aware of OpenFlow versions rconn: Add allowed OpenFlow versions ofproto, connmgr: Parameterise OpenFlow versions for adding controller ofp-util: Allow use of OpenFlow 12 flow format connmgr: Use version of underlying rconn vswitchd: Configuration of allowed OpenFlow versions lib: Add helpers for OpenFlow version command line options ovs-ofctl: Add option to set allowed OpenFlow versions ovs-controller: Allow setting of allowed OpenFlow versions ovs-ofctl: By default, do not set flow format for OpenFlow 1.1+ ofp-util: Open Flow 1.1 and 1.2 flow format capabilities ofp-util: Flow Dump Protocol for OpenFlow 12 test: add ofproto OpenFlow1.2 tests include/openflow/openflow-common.h | 11 + lib/automake.mk | 3 + lib/bitmap.c | 31 ++ lib/bitmap.h | 3 + lib/ofp-print.c | 30 +- lib/ofp-util.c | 430 ++++++++++++++++++++++++-- lib/ofp-util.h | 67 +++- lib/ofp-version-opt.c | 43 +++ lib/ofp-version-opt.h | 28 ++ lib/ofp-version.man | 28 ++ lib/rconn.c | 12 +- lib/rconn.h | 5 +- lib/vconn-provider.h | 28 +- lib/vconn-stream.c | 23 +- lib/vconn.c | 146 ++++++--- lib/vconn.h | 17 +- manpages.mk | 2 + ofproto/connmgr.c | 59 ++-- ofproto/connmgr.h | 5 +- ofproto/ofproto.c | 8 +- ofproto/ofproto.h | 11 +- tests/learn.at | 2 +- tests/ofp-print.at | 19 ++ tests/ofproto-macros.at | 2 +- tests/ofproto.at | 595 +++++++++++++++++++++++++++++++++--- tests/ovs-ofctl.at | 2 +- tests/test-vconn.c | 24 +- utilities/ovs-controller.8.in | 1 + utilities/ovs-controller.c | 22 +- utilities/ovs-ofctl.8.in | 1 + utilities/ovs-ofctl.c | 95 +++--- vswitchd/bridge.c | 42 ++- 32 files changed, 1575 insertions(+), 220 deletions(-) create mode 100644 lib/ofp-version-opt.c create mode 100644 lib/ofp-version-opt.h create mode 100644 lib/ofp-version.man _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev