[ovs-discuss] Openvswitch Openflow version mismatch

S.Liu at t-systems.com S.Liu at t-systems.com
Tue Jan 22 22:03:15 UTC 2013


Hi Ben,

Thanks for your reply.  I confirmed that it is the master and ovs-ofctl
should 
be the latest one.   OFP 1.2 is supported based on the output below.


tsi at tsi-sdn-1:~/openvswitch$ sudo ovs-ofctl -V
ovs-ofctl (Open vSwitch) 1.9.90
Compiled Jan 22 2013 16:35:38
OpenFlow versions 0x1:0x4    <<<<<<  Does it mean OVS supports 1.0, 1.1,
1.2 and 1.3?

tsi at tsi-sdn-1:~/openvswitch$ git branch -a
  branch-1.4
  branch-1.6
  branch-1.7
  branch-1.8
  branch-1.9
* master                      <<<<<   I'm using master.
  remotes/origin/HEAD -> origin/master
  remotes/origin/branch-1.1


I also found out the "version negotiation failed" message is actually
caused by the command "sudo ovs-vsctl set Bridge br0
protocols=OpenFlow12".  See below:
Any clue on what the problem is supposed to be?


I guess my bigger question is which OVS version should I use to support
OpenFlow 1.2?   I tried branch-1.4, 1.8, 1.9, all of them use OFP1.0 and
do not have the 
Set command to set OFP version.  Only 1.9.90 (the master) seem to have
the ability to support OFP1.2 but it doesn't work as expected.


tsi at tsi-sdn-1:~$ sudo ovs-vsctl clear Bridge br0 protocols
tsi at tsi-sdn-1:~$
tsi at tsi-sdn-1:~$ sudo ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):


tsi at tsi-sdn-1:~$ sudo ovs-vsctl set Bridge br0 protocols=OpenFlow12
tsi at tsi-sdn-1:~$ sudo ovs-ofctl dump-flows br0
2013-01-22T21:44:44Z|00001|vconn|WARN|unix:/usr/local/var/run/openvswitc
h/br0.mgmt: version negotiation failed (we support version 0x01, peer
supports version 0x03)
ovs-ofctl: br0: failed to connect to socket (Broken pipe)
tsi at tsi-sdn-1:~$



Thanks,
Steve


-----Original Message-----
From: Ben Pfaff [mailto:blp at nicira.com] 
Sent: Tuesday, January 22, 2013 11:12 AM
To: Liu, Steve
Cc: discuss at openvswitch.org
Subject: Re: [ovs-discuss] Openvswitch Openflow version mismatch

On Tue, Jan 22, 2013 at 10:53:17AM -0500, S.Liu at t-systems.com wrote:
> I'm having some troubles getting ryu openflow controller to work with
> OVS. 
> 
>  
> 
> I'm running ryu controller 1.2 python sample script.  On OVS side I
use
> the latest version 1.9.90.   I was able to use "ovs-vsctl set Bridge
br0
> protocols=OpenFlow12" to add the OF12 support on the OVS.  However
when
> I run the controller ryu script, OVS complained version negotiation
> failed.   I'm not sure why OVS said it support version 0x01, not
version
> 0x03 even though I have enabled OpenFlow12 support there.   Also from
> wireshark, both sides did claim version 0x03 in their OFP hello
packets.

My guess, from the transcript you provided, is that the ovs-ofctl you're
running is too old to support version 1.2.  Make sure you're using
ovs-ofctl from OVS "master".

I don't have a guess why OVS and Ryu would refuse to negotiate 1.2.  I
don't know Ryu.



More information about the discuss mailing list