[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