[ovs-discuss] OpenFlow MPLS

Ben Pfaff blp at nicira.com
Mon Oct 27 19:55:59 UTC 2014


On Fri, Oct 24, 2014 at 10:37:28PM -0400, vinay kumar wrote:
> I am trying to implement a MPLS network for my project. I am doing this
> using openvswitch 2.0.2.
> But i am facing an error when i try to link using  -O OpenFlow13.
> It gives me the error :
> 2014-10-25T02:07:25Z|00001|vconn|WARN|unix:/var/run/openvswitch/br0.mgmt:
> version negotiation failed (we support version 0x02, peer supports version
> 0x01)
> ovs-ofctl: br0: failed to connect to socket (Protocol error).
> 
> I need this because i'd like to use the goto_table command in my flow
> rules. Is there any other way to do that? If not why is this error coming
> up?

You have ovs-ofctl and Open vSwitch configured for different OpenFlow
versions.

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+ 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.



More information about the discuss mailing list