[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openvswitch-dev
Subject:    [ovs-dev] [PATCH] Enable OpenFlow 1.0, 1.1, 1.2, and 1.3 by default.
From:       blp () nicira ! com (Ben Pfaff)
Date:       2014-04-30 13:54:55
Message-ID: 20140430135455.GB7183 () nicira ! com
[Download RAW message or body]

On Wed, Apr 30, 2014 at 09:59:50AM +0900, YAMAMOTO Takashi wrote:
> > The Open vSwitch software switch now supports all the required features of
> > OpenFlow 1.0 through 1.3, with one known trivial exception[*].  Enable them
> > by default in ovs-vswitchd.
> > 
> > For now, ovs-ofctl only enables OpenFlow 1.0 by default.  This is
> > because ovs-ofctl implements command such as "add-flow" as raw
> > OpenFlow requests, but those requests have subtly different semantics
> > in different OpenFlow versions.  For example:
> > 
> >     - In OpenFlow 1.0, a "mod-flow" operation that does not find any
> >       existing flow to modify adds a new flow.
> > 
> >     - In OpenFlow 1.1, a "mod-flow" operation that does not find any
> >       existing flow to modify adds a new flow, but only if the
> >       mod-flow did not match on the flow cookie.
> > 
> >     - In OpenFlow 1.2 and a later, a "mod-flow" operation never adds a
> >       new flow.
> > 
> > [*] OpenFlow 1.1 requires support for VLANs introduced by Ethertype 0x88a8.
> >     Open vSwitch does not support this Ethertype.  OpenFlow 1.2 and 1.3 do
> >     not require support for this Ethertype.
> > 
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> 
> > ---
> >  FAQ                     |   19 +++++++++++--------
> >  lib/ofp-util.h          |   16 +++++++++-------
> >  tests/ofproto-macros.at |    2 +-
> >  tests/test-vconn.c      |   12 ++++++------
> >  utilities/ovs-ofctl.c   |   19 ++++++++++++++++++-
> >  5 files changed, 45 insertions(+), 23 deletions(-)
> > 
> > diff --git a/FAQ b/FAQ
> > index c43b0c8..778cc28 100644
> > --- a/FAQ
> > +++ b/FAQ
> > @@ -1119,19 +1119,22 @@ A: The following table lists the versions of OpenFlow supported by
> >         2.0                yes    [*]    [*]    [*]    ---
> >         2.1                yes    [*]    [*]    [*]    ---
> >         2.2                yes    [*]    [*]    [*]    [%]
> > +       2.3                yes    yes    yes    yes    [%]
> >  
> >         [*] Supported, with one or more missing features.
> >         [%] Support is unsafe: ovs-vswitchd will abort when certain
> >             unimplemented features are tested.
> >  
> > -   Because of missing features, OpenFlow 1.1, 1.2, and 1.3 must be
> > -   enabled manually.  The following command enables OpenFlow 1.0, 1.1,
> > -   1.2, and 1.3 on bridge br0:
> > +   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.  The following command
> > +   enables OpenFlow 1.0, 1.1, 1.2, and 1.3 on bridge br0:
> >  
> >         ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13
> 
> probably it's more helpful to say how to disable versions.

That is a good point.  I changed this part of the FAQ answer to:

   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.  Either way,
   the user may override the default:

       - To enable OpenFlow 1.0, 1.1, 1.2, and 1.3 on bridge br0:

         ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13

       - To enable only OpenFlow 1.0 on bridge br0:

         ovs-vsctl set bridge br0 protocols=OpenFlow10

> otherwise, looks good to me.
> 
> Reviewed-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>

Thank you for the review!

I had forgotten to update NEWS and vswitchd/vswitch.xml.  I did that
just before pushing the commit.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic