Thank you! I applied this to master.
On Thu, Apr 27, 2017 at 09:56:45AM -0700, Yi-Hung Wei wrote:
> Thanks for the patch. I cross-check this patch with 6dc5374435cc
> ("Enable OpenFlow 1.0, 1.1, 1.2, and 1.3 by default."). It LGTM.
>
> Acked-by: Yi-Hung Wei <[email protected]>
>
> On Mon, Apr 24, 2017 at 11:49 AM, Ben Pfaff <[email protected]> wrote:
> > Open vSwitch now supports all OpenFlow 1.4 required features, so enable
> > it by default.
> >
> > Signed-off-by: Ben Pfaff <[email protected]>
> > ---
> > Documentation/faq/openflow.rst | 28 +++++++++-------------------
> > NEWS | 3 +++
> > include/openvswitch/ofp-util.h | 3 ++-
> > lib/ofp-version.man | 22 ++++++++++++++++++----
> > tests/test-vconn.c | 14 +++++++-------
> > utilities/ovs-ofctl.8.in | 4 +++-
> > vswitchd/vswitch.xml | 6 +++---
> > 7 files changed, 45 insertions(+), 35 deletions(-)
> >
> > diff --git a/Documentation/faq/openflow.rst b/Documentation/faq/openflow.rst
> > index d21bb4459395..7cd6161ddefb 100644
> > --- a/Documentation/faq/openflow.rst
> > +++ b/Documentation/faq/openflow.rst
> > @@ -34,29 +34,19 @@ Q: What versions of OpenFlow does Open vSwitch support?
> > Open vSwitch OF1.0 OF1.1 OF1.2 OF1.3 OF1.4 OF1.5 OF1.6
> > =============== ===== ===== ===== ===== ===== ===== =====
> > 1.9 and earlier yes --- --- --- --- --- ---
> > - 1.10 yes --- (*) (*) --- --- ---
> > - 1.11 yes --- (*) (*) --- --- ---
> > - 2.0 yes (*) (*) (*) --- --- ---
> > - 2.1 yes (*) (*) (*) --- --- ---
> > + 1.10, 1.11 yes --- (*) (*) --- --- ---
> > + 2.0, 2.1 yes (*) (*) (*) --- --- ---
> > 2.2 yes (*) (*) (*) (%) (*) ---
> > - 2.3 yes yes yes yes (*) (*) ---
> > - 2.4 yes yes yes yes (*) (*) ---
> > - 2.5 yes yes yes yes (*) (*) (*)
> > + 2.3, 2.4 yes yes yes yes (*) (*) ---
> > + 2.5, 2.6, 2.7 yes yes yes yes (*) (*) (*)
> > + 2.8 yes yes yes yes yes (*) (*)
> > =============== ===== ===== ===== ===== ===== ===== =====
> >
> > - (*) Supported, with one or more missing features.
> > + --- Not supported.
> > + yes Supported and enabled by default
> > + (*) Supported, but missing features, and must be enabled by user.
> > (%) Experimental, unsafe implementation.
> >
> > - Open vSwitch 2.3 enables OpenFlow 1.0, 1.1, 1.2, and 1.3 by default in
> > - ovs-vswitchd. In Open vSwitch 1.10 through 2.2, OpenFlow 1.1, 1.2,
> > and 1.3
> > - must be enabled manually in ovs-vswitchd.
> > -
> > - Some versions of OpenFlow are supported with missing features and
> > therefore
> > - not enabled by default: OpenFlow 1.4 and 1.5, in Open vSwitch 2.3 and
> > - later, as well as OpenFlow 1.6 in Open vSwitch 2.5 and later. Also,
> > the
> > - OpenFlow 1.6 specification is still under development and thus subject
> > to
> > - change.
> > -
> > In any case, the user may override the default:
> >
> > - To enable OpenFlow 1.0, 1.1, 1.2, and 1.3 on bridge br0::
> > @@ -83,7 +73,7 @@ Q: What versions of OpenFlow does Open vSwitch support?
> > could cause crashes. We don't recommend enabling it.)
> >
> > :doc:`/topics/openflow` tracks support for OpenFlow 1.1 and later
> > features.
> > - When support for OpenFlow 1.4 and 1.5 is solidly implemented, Open
> > vSwitch
> > + When support for OpenFlow 1.5 and 1.6 is solidly implemented, Open
> > vSwitch
> > will enable those version by default.
> >
> > Q: Does Open vSwitch support MPLS?
> > diff --git a/NEWS b/NEWS
> > index ea97d84a2dea..4632b80df698 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -22,6 +22,9 @@ Post-v2.7.0
> > * ovn-trace now has basic support for tracing distributed firewalls.
> > - Add the command 'ovs-appctl stp/show' (see ovs-vswitchd(8)).
> > - OpenFlow:
> > + * All features required by OpenFlow 1.4 are now implemented, so
> > + ovs-vswitchd now enables OpenFlow 1.4 by default (in addition to
> > + OpenFlow 1.0 to 1.3).
> > * Increased support for OpenFlow 1.6 (draft).
> > * Bundles now support hashing by just nw_src or nw_dst.
> > * The "learn" action now supports a "limit" option (see ovs-ofctl(8)).
> > diff --git a/include/openvswitch/ofp-util.h b/include/openvswitch/ofp-util.h
> > index f664055c3939..f37d181599b2 100644
> > --- a/include/openvswitch/ofp-util.h
> > +++ b/include/openvswitch/ofp-util.h
> > @@ -189,7 +189,8 @@ enum ofputil_protocol
> > ofputil_protocols_from_version_bitmap(uint32_t bitmap);
> > #define OFPUTIL_SUPPORTED_VERSIONS ((1u << OFP10_VERSION) | \
> > (1u << OFP11_VERSION) | \
> > (1u << OFP12_VERSION) | \
> > - (1u << OFP13_VERSION))
> > + (1u << OFP13_VERSION) | \
> > + (1u << OFP14_VERSION))
> > #define OFPUTIL_DEFAULT_VERSIONS OFPUTIL_SUPPORTED_VERSIONS
> >
> > enum ofputil_protocol ofputil_protocols_from_string(const char *s);
> > diff --git a/lib/ofp-version.man b/lib/ofp-version.man
> > index 54fa1664e5f8..0ab70891d270 100644
> > --- a/lib/ofp-version.man
> > +++ b/lib/ofp-version.man
> > @@ -9,7 +9,6 @@ Sets the OpenFlow protocol versions that are allowed when
> > establishing
> > an OpenFlow session.
> > .
> > .IP
> > -The following versions are considered to be ready for general use.
> > These protocol versions are enabled by default:
> > .
> > .RS
> > @@ -17,9 +16,9 @@ These protocol versions are enabled by default:
> > \fBOpenFlow10\fR, for OpenFlow 1.0.
> > .RE
> > .
> > -.IP
> > -Support for the following protocol versions is provided for testing
> > -and development purposes. They are not enabled by default:
> > +The following protocol versions are generally supported, but for
> > +compatibility with older versions of Open vSwitch they are not enabled
> > +by default:
> > .
> > .RS
> > .IP \(bu
> > @@ -30,4 +29,19 @@ and development purposes. They are not enabled by
> > default:
> > .
> > .IP \(bu
> > \fBOpenFlow13\fR, for OpenFlow 1.3.
> > +.
> > +.IP \(bu
> > +\fBOpenFlow14\fR, for OpenFlow 1.4.
> > +.RE
> > +.
> > +.IP
> > +Support for the following protocol versions is provided for testing
> > +and development purposes. They are not enabled by default:
> > +.
> > +.RS
> > +.IP \(bu
> > +\fBOpenFlow15\fR, for OpenFlow 1.5.
> > +.
> > +.IP \(bu
> > +\fBOpenFlow16\fR, for OpenFlow 1.6.
> > .RE
> > diff --git a/tests/test-vconn.c b/tests/test-vconn.c
> > index 1bf9aa019b51..96e31832cb70 100644
> > --- a/tests/test-vconn.c
> > +++ b/tests/test-vconn.c
> > @@ -1,5 +1,5 @@
> > /*
> > - * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
> > + * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2017 Nicira, Inc.
> > *
> > * Licensed under the Apache License, Version 2.0 (the "License");
> > * you may not use this file except in compliance with the License.
> > @@ -242,7 +242,7 @@ test_read_hello(struct ovs_cmdl_context *ctx)
> > if (retval == sizeof hello) {
> > enum ofpraw raw;
> >
> > - CHECK(hello.version, OFP13_VERSION);
> > + CHECK(hello.version, OFP14_VERSION);
> > CHECK(ofpraw_decode_partial(&raw, &hello, sizeof hello), 0);
> > CHECK(raw, OFPRAW_OFPT_HELLO);
> > CHECK(ntohs(hello.length), sizeof hello);
> > @@ -315,7 +315,7 @@ test_send_hello(const char *type, const void *out,
> > size_t out_size,
> > if (retval == sizeof hello) {
> > enum ofpraw raw;
> >
> > - CHECK(hello.version, OFP13_VERSION);
> > + CHECK(hello.version, OFP14_VERSION);
> > CHECK(ofpraw_decode_partial(&raw, &hello, sizeof hello), 0);
> > CHECK(raw, OFPRAW_OFPT_HELLO);
> > CHECK(ntohs(hello.length), sizeof hello);
> > @@ -366,7 +366,7 @@ test_send_plain_hello(struct ovs_cmdl_context *ctx)
> > const char *type = ctx->argv[1];
> > struct ofpbuf *hello;
> >
> > - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION,
> > + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP14_VERSION,
> > htonl(0x12345678), 0);
> > test_send_hello(type, hello->data, hello->size, 0);
> > ofpbuf_delete(hello);
> > @@ -382,7 +382,7 @@ test_send_long_hello(struct ovs_cmdl_context *ctx)
> > struct ofpbuf *hello;
> > enum { EXTRA_BYTES = 8 };
> >
> > - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION,
> > + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP14_VERSION,
> > htonl(0x12345678), EXTRA_BYTES);
> > ofpbuf_put_zeros(hello, EXTRA_BYTES);
> > ofpmsg_update_length(hello);
> > @@ -398,7 +398,7 @@ test_send_echo_hello(struct ovs_cmdl_context *ctx)
> > const char *type = ctx->argv[1];
> > struct ofpbuf *echo;
> >
> > - echo = ofpraw_alloc_xid(OFPRAW_OFPT_ECHO_REQUEST, OFP13_VERSION,
> > + echo = ofpraw_alloc_xid(OFPRAW_OFPT_ECHO_REQUEST, OFP14_VERSION,
> > htonl(0x12345678), 0);
> > test_send_hello(type, echo->data, echo->size, EPROTO);
> > ofpbuf_delete(echo);
> > @@ -424,7 +424,7 @@ test_send_invalid_version_hello(struct ovs_cmdl_context
> > *ctx)
> > const char *type = ctx->argv[1];
> > struct ofpbuf *hello;
> >
> > - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION,
> > + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP14_VERSION,
> > htonl(0x12345678), 0);
> > ((struct ofp_header *) hello->data)->version = 0;
> > test_send_hello(type, hello->data, hello->size, EPROTO);
> > diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in
> > index 96232a5003e4..0ea914c728b9 100644
> > --- a/utilities/ovs-ofctl.8.in
> > +++ b/utilities/ovs-ofctl.8.in
> > @@ -2243,8 +2243,10 @@ format.
> > .IP "\fBOXM-OpenFlow12\fR"
> > .IQ "\fBOXM-OpenFlow13\fR"
> > .IQ "\fBOXM-OpenFlow14\fR"
> > +.IQ "\fBOXM-OpenFlow15\fR"
> > +.IQ "\fBOXM-OpenFlow16\fR"
> > These are the standard OXM (OpenFlow Extensible Match) flow format in
> > -OpenFlow 1.2, 1.3, and 1.4, respectively.
> > +OpenFlow 1.2 and later.
> > .RE
> > .
> > .IP
> > diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
> > index 870c81318317..5375c4857d98 100644
> > --- a/vswitchd/vswitch.xml
> > +++ b/vswitchd/vswitch.xml
> > @@ -857,12 +857,12 @@
> > <column name="protocols">
> > <p>
> > List of OpenFlow protocols that may be used when negotiating
> > - a connection with a controller. OpenFlow 1.0, 1.1, 1.2, and
> > - 1.3 are enabled by default if this column is empty.
> > + a connection with a controller. OpenFlow 1.0, 1.1, 1.2, 1.3, and
> > + 1.4 are enabled by default if this column is empty.
> > </p>
> >
> > <p>
> > - OpenFlow 1.4, 1.5, and 1.6 are not enabled by default because
> > their
> > + OpenFlow 1.5 and 1.6 are not enabled by default because their
> > implementations are missing features. In addition, the OpenFlow
> > 1.6
> > specification is still under development and thus subject to
> > change.
> > </p>
> > --
> > 2.10.2
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev