[ovs-discuss] OVS-OFCTL - negotiated OpenFlow version

Ben Pfaff blp at nicira.com
Thu May 7 17:45:44 UTC 2015


On Wed, May 06, 2015 at 02:52:16PM -0700, Vipin Garg wrote:
> I am trying to update the status of one of the port using following command
> -
> 
> 
> data2 # ./ovs-ofctl mod-port  vlan20-odl sp4 up
> 
> And I got following error message ...
> 
> 2015-05-06T20:52:49Z|00001|vconn|WARN|unix:/usr/local/var/run/openvswitch/vlan20-odl.mgmt:
> version negotiation failed (we support version 0x01, peer supports version
> 0x04)
> ovs-ofctl: vlan20-odl: failed to connect to socket (Protocol error)
> 
> 
> As suggested on some mailing list, I added openflow versions as follows -
> 
> ./ovs-vsctl set bridge vlan20-odl
> protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15
> 
> and then again update the port ..
> 
> ./ovs-ofctl --verbose mod-port  vlan20-odl sp4 up
> 
> In the logs, I see that --
> 
> 2015-05-06T21:39:55Z|00015|vconn|DBG|unix:/usr/local/var/run/openvswitch/vlan20-odl.mgmt:
> negotiated OpenFlow version 0x01 (we support version 0x01, peer supports
> version 0x06 and earlier)
> 
> 
> My question is -
> 
> 1. Why the negotiated OF version is 1 (not 1.4) when peer (OpenDayLight )
> can support higher version

ovs-ofctl isn't OpenDaylight.  ovs-ofctl defaults to supporting only
OF version 1.0.

> 2 How can I make  trained OVS to communicate using higher version of OF ..

This is in the FAQ.

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

> 3. Why I still don't see port status getting update , Am I missing
> something ?

I would expect to see the PORT_DOWN going away quickly after "mod-port
up".  In a test I ran just now, I did see it go away.  You see
something else?



More information about the discuss mailing list