Hi, I've just joined the list and found this in the archive. I don't know how to respond to an older thread, so I post it here:
Have you had any success yet? I'm also working with Ryu and HP switches and experienced similar behaviours. As far as I understand this, it's not an issue with Ryu but rather that the switch accepts the command because the syntax is correct but can't install the flow. HP switches have some limitations on what types of actions and matches the can install in certain tables. Per default flows in table 100 will be handled by hardware and flows in table 200 will be handled in software. So if you try to install a flow in a 'hardware table' and the switch can't process that flow in hardware it simply won't install the flow and also don't give an error message. I'm thinking of implementing 2 solutions: First I don't let users install flows the switch can't process. (This is tricky to implement because I don't yet fully grasp which flows HP supports) and secondly after a add-flow I get all flows and check if it has been installed. If not I throw a warning in the interface. Hope this helps a little. Cheers Marvin And props to the Ryu Team. I really like this controller! On 2015-03-05 22:39, Hakan Calim wrote: > Hi all, > > I try to add flows on my OpenFlow Switch which is created on a HP 5900 > as a OpenFlow instance. I am using app/ofctl_rest.py. When I send the > following command I get: > > curl -X GET http://10.16.0.10:8080/stats/flow/637929653646665 > {"637929653646665": [{"actions": ["OUTPUT:6"], "idle_timeout": 0, > "cookie": 0, "packet_count": 1031, "hard_timeout": 0, "byte_count": > 18446744073709551615, "length": 96, "duration_nsec": 4294967295, > "priority": 1, "duration_sec": 167475, "table_id": 0, "flags": 0, > "match": {"dl_dst": "52:54:00:53:31:7d", "in_port": 7}}, {"actions": > ["OUTPUT:7"], "idle_timeout": 0, "cookie": 0, "packet_count": 864, > "hard_timeout": 0, "byte_count": 18446744073709551615, "length": 96, > "duration_nsec": 4294967295, "priority": 1, "duration_sec": 167475, > "table_id": 0, "flags": 0, "match": {"dl_dst": "52:54:00:3f:6e:a6", > "in_port": 6}}, {"actions": ["OUTPUT:4294967293"], "idle_timeout": 0, > "cookie": 0, "packet_count": 6113, "hard_timeout": 0, "byte_count": > 18446744073709551615, "length": 80, "duration_nsec": 4294967295, > "priority": 0, "duration_sec": 90772, "table_id": 0, "flags": 0, > "match": {}}]} > > Then I try to add a flow with the following command: > curl -X POST -d '{ "dpid": 637929653646665, "cookie": 2, "cookie_mask": > 2, "table_id": 0, "idle_timeout": 10, "hard_timeout": 10, "priority": > 11111, "flags": 1, "match":{ "in_port":7}, "actions":[ { > "type":"OUTPUT", "port": 6 } ] }' http://10.16.0.10:8080/stats/flowentry/add > > On the controller I see: > (18345) accepted ('10.16.0.1', 57610) > 10.16.0.1 - - [04/Mar/2015 15:16:17] "GET /stats/flow/637929653646665 > HTTP/1.1" 200 1012 0.112544 > > > but nothing happens. When I call again the GET command from above I get > the same result. Nothing changed. What is wrong? > > Best regards, > Hakan ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel