Hi,
> Does anyone know why this error in action format validation occurs? If you > have any experience in using Ryu with OpenFlow 1.5, please share with me. It > would be great if there is a sample code. The cause of this problem is that OVS does not support OpenFlow 1.5 Packet-Out messages. Please refer to "EXT-427" on the OVS GitHub page. https://github.com/openvswitch/ovs/blob/master/OPENFLOW-1.1%2B.md#openflow-15-only In OpenFlow 1.5, the structure of Packet-Out is changed to enable setting all pipeline fields, but OVS does not seems to support this changes. So, OVS cannot parse the OpenFlow 1.5 Packet-Out messages Ryu sent. > Actually, I am trying to utilize features like TCP flag matching which is > only supported by OpenFlow 1.5. Thanks for your help! For TCP flag match field, you can use this field as ONF experimenter field on other OpenFlow version. http://ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html#flow-match-structure Thanks, Iwase On 2016年07月23日 23:51, Jianhua Sun wrote: > Hello Everyone, > > I have been testing the OpenFlow 1.5 implementation of Ryu during the last > week. However, I have seen problems even for the simplest case of packet > forwarding. > > Basically, I am using the latest version of Ryu which supports OpenFlow 1.5, > and the Open vSwitch 2.5.0. Two Xen based virtual machines are connected > through the > Open vSwitch instance ovsbr0. I configured Open vSwitch to talk to the Ryu > controller using OpenFlow 1.5 and it seems the configuration works (from the > output of "ovs-ofctl -O dump-flows ovsbr0"). > > I modified simple_switch_14.py slightly to use the OpenFlow 1.5 parser. The > controller and the switch can successfully negotiates about the protocol and > moves to the main mode. Here is the output: > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > jianhua@Xen-Dom0:~/ryu$ PYTHONPATH=. ./bin/ryu-manager --verbose > ryu/app/simple_switch_15.py > loading app ryu/app/simple_switch_15.py > loading app ryu.controller.ofp_handler > instantiating app ryu.controller.ofp_handler of OFPHandler > instantiating app ryu/app/simple_switch_15.py of SimpleSwitch15 > BRICK SimpleSwitch15 > CONSUMES EventOFPSwitchFeatures > CONSUMES EventOFPPacketIn > BRICK ofp_event > PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch15': set(['config'])} > PROVIDES EventOFPPacketIn TO {'SimpleSwitch15': set(['main'])} > CONSUMES EventOFPPortStatus > CONSUMES EventOFPSwitchFeatures > CONSUMES EventOFPErrorMsg > CONSUMES EventOFPEchoRequest > CONSUMES EventOFPPortDescStatsReply > CONSUMES EventOFPEchoReply > CONSUMES EventOFPHello > connected socket:<eventlet.greenio.GreenSocket object at 0x7fe4ab5a22d0> > address:('127.0.0.1', 34595) > hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x7fe4ab5a2950> > move onto config mode > EVENT ofp_event->SimpleSwitch15 EventOFPSwitchFeatures > switch features ev > version=0x6,msg_type=0x6,msg_len=0x20,xid=0xcbd67c85,OFPSwitchFeatures(auxiliary_id=0,capabilities=79,datapath_id=227131215516230,n_buffers=256,n_tables=254) > move onto main mode > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > However, when I tried to ping from one VM to the other VM, the following > error message shows up: > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > EVENT ofp_event->SimpleSwitch15 EventOFPPacketIn > packet in 227131215516230 00:16:3e:5f:48:e4 ff:ff:ff:ff:ff:ff 1 > EventOFPErrorMsg received. > version=0x6, msg_type=0x1, msg_len=0x3c, xid=0xcbd67c8a > `-- msg_type: OFPT_ERROR(1) > OFPErrorMsg(type=0x2, code=0x4, > data=b'\x06\x0d\x00\x30\xcb\xd6\x7c\x8a\x00\x00\x01\x02\x00\x10\x00\x00\x00\x01\x00\x0c\x80\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x10\xff\xff\xff\xfb\xff\xe5\x00\x00\x00\x00\x00\x00') > |-- type: OFPET_BAD_ACTION(2) > |-- code: OFPBAC_BAD_OUT_PORT(4) > `-- data: version=0x6, msg_type=0xd, msg_len=0x30, xid=0xcbd67c8a > `-- msg_type: OFPT_PACKET_OUT(13) > > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Does anyone know why this error in action format validation occurs? If you > have any experience in using Ryu with OpenFlow 1.5, please share with me. It > would be great if there is a sample code. > Actually, I am trying to utilize features like TCP flag matching which is > only supported by OpenFlow 1.5. Thanks for your help! > > > > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > > > > _______________________________________________ > Ryu-devel mailing list > Ryu-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ryu-devel > ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel