[ovs-dev] OVS integration with Openflow protocol

Ben Pfaff blp at nicira.com
Mon Feb 23 16:41:17 UTC 2015


On Mon, Feb 23, 2015 at 07:03:06PM +0530, tech_kals Kals wrote:
> 1) am planning to integrate OVS with Openflow agent to make it interact
> with the controller. will be using ofproto in OVS for this purpose i.e. all
> encoding and decoding would be done by OVS before handling the packet to
> the openflow agent. Is there any restriction between OVS version and
> Openflow version ?

Yes, the FAQ says:

### Q: What versions of OpenFlow does Open vSwitch support?

A: The following table lists the versions of OpenFlow supported by
   each version of Open vSwitch:

       Open vSwitch      OF1.0  OF1.1  OF1.2  OF1.3  OF1.4  OF1.5
       ###============   =====  =====  =====  =====  =====  =====
       1.9 and earlier    yes    ---    ---    ---    ---    ---
       1.10               yes    ---    [*]    [*]    ---    ---
       1.11               yes    ---    [*]    [*]    ---    ---
       2.0                yes    [*]    [*]    [*]    ---    ---
       2.1                yes    [*]    [*]    [*]    ---    ---
       2.2                yes    [*]    [*]    [*]    [%]    [*]
       2.3                yes    yes    yes    yes    [*]    [*]

       [*] Supported, with one or more missing features.
       [%] 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.  OpenFlow
   1.4 and 1.5 are also supported, with missing features, in Open
   vSwitch 2.3 and later, but not enabled by default.  In any case,
   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 OpenFlow 1.0, 1.1, 1.2, 1.3, 1.4, and 1.5 on bridge br0:

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

   - To enable only OpenFlow 1.0 on bridge br0:

     ovs-vsctl set bridge br0 protocols=OpenFlow10

   All current versions of ovs-ofctl enable only OpenFlow 1.0 by
   default.  Use the -O option to enable support for later versions of
   OpenFlow in ovs-ofctl.  For example:

       ovs-ofctl -O OpenFlow13 dump-flows br0

   (Open vSwitch 2.2 had an experimental implementation of OpenFlow
   1.4 that could cause crashes.  We don't recommend enabling it.)

   [OPENFLOW-1.1+.md] in the Open vSwitch source tree tracks support for
   OpenFlow 1.1 and later features.  When support for OpenFlow 1.4 and
   1.5 is solidly implemented, Open vSwitch will enable those version
   by default.  Also, the OpenFlow 1.5 specification is still under
   development and thus subject to change.

> Can OVS 2.3.1 be used with Openflow 1.3.4 based agent ?

As you can see from the table above, OVS 2.3 supports OF 1.3.  I don't
know what an "agent" is, so you'll have to evaluate that.

> Can i use the same OVS with openflow 1.5 based agent also ?

As you can see from the table above, no version of OVS fully supports OF
1.5.  I don't think you'd be satisfied with the results.

> 2) Incase, if i use Broadcom's OFDPA to configure flow information i.e.
> using broadcom's chip, can i use OVS along with openflow agent? I  want to
> know is there any dependencies between OVS and other modules such as
> controller or openflow agent in case if I use OFDPA ?

I have no idea, because I don't know anything about OFDPA or your
"agent".



More information about the dev mailing list