Hi, Thanks for your answer!
I use this version of OVS: mininet@mininet-vm:~$ sudo ovs-ofctl --version ovs-ofctl (Open vSwitch) 2.0.2 Compiled Aug 15 2014 14:31:02 OpenFlow versions 0x1:0x4 I simply took this VM image Mininet 2.2.0 on Ubuntu 14.04 and installed ryu using the install.sh -y command. It's weird because I installed exactly like I did before so I don't see why it's not working anymore... Best, Clément On 16 January 2015 at 06:59, Yusuke Iwase <[email protected]> wrote: > Hi, > > Well... > On my enviroment, the following commands (that you were mentioned) works fine. > > # Run mininet > --- > $ sudo mn --topo single,2 --mac --switch ovsk --controller remote > *** Creating network > *** Adding controller > Unable to contact the remote controller at 127.0.0.1:6633 > *** Adding hosts: > h1 h2 > *** Adding switches: > s1 > *** Adding links: > (h1, s1) (h2, s1) > *** Configuring hosts > h1 h2 > *** Starting controller > *** Starting 1 switches > s1 > *** Starting CLI: > mininet> > --- > > # Run ofctl_rest > --- > $ sudo ryu-manager ryu.app.ofctl_rest > loading app ryu.app.ofctl_rest > loading app ryu.controller.ofp_handler > instantiating app None of DPSet > creating context dpset > creating context wsgi > instantiating app ryu.app.ofctl_rest of RestStatsApi > instantiating app ryu.controller.ofp_handler of OFPHandler > (6712) wsgi starting up on http://0.0.0.0:8080/ > --- > > # Execute commands > --- > $ # Push a group entry > $ curl -X POST -d '{ >> "dpid": 1, >> "type": "FF", >> "group_id": 1, >> "buckets": [ >> { >> "watch_port": 1, >> "actions": [ >> { >> "type": "OUTPUT", >> "port": 1 >> } >> ] >> } >> ] >> }' http://localhost:8080/stats/groupentry/add > $ > $ # Check the group entry > $ curl -X GET http://localhost:8080/stats/groupdesc/1 > {"1": [{"buckets": [{"actions": ["OUTPUT:1"], "watch_group": 4294967295, > "weight": 0, "watch_port": 1}], "group_id": 1, "type": "FF"}]} > $ > $ # Push a flow entry > $ curl -X POST -d '{ >> "dpid": 1, >> "match":{ >> "vlan_vid": 5 >> }, >> "actions":[ >> { >> "type":"GROUP", >> "group_id": 1 >> } >> ] >> }' http://localhost:8080/stats/flowentry/add > $ > $ # Check the flow entry > $ curl -X GET http://localhost:8080/stats/flow/1 > {"1": [{"actions": ["GROUP:1"], "idle_timeout": 0, "cookie": 0, > "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 80, > "duration_nsec": 548000000, "priority": 0, "duration_sec": 1, "table_id": 0, > "flags": 0, "match": {"dl_vlan": "5"}}]} > --- > > > What switch do you use? > My environment use Open vSwitch 2.3.90 like below. > --- > $ sudo ovs-ofctl --version > ovs-ofctl (Open vSwitch) 2.3.90 > Compiled Jul 29 2014 11:28:11 > OpenFlow versions 0x1:0x4 > --- > > Thanks > > On 2015年01月16日 00:10, Clément Rault wrote: >> Hi, >> >> Could it be a bug of the new version? >> >> Because I seem to remember that I tried to push some group entry with >> the example of the documentation (see below what I mean) with the last >> version and it worked. >> >> "Example of use: >> >> $ curl -X POST -d '{ >> "dpid": 1, >> "type": "ALL", >> "group_id": 1, >> "buckets": [ >> { >> "actions": [ >> { >> "type": "OUTPUT", >> "port": 1 >> } >> ] >> } >> ] >> }' http://localhost:8080/stats/groupentry/add" >> >> Best, >> Clément >> >> >> >> On 13 January 2015 at 17:46, Clément Rault <[email protected]> wrote: >>> Hi, >>> >>> Now that I solved my other problems I'm trying to try some things >>> using group tables. >>> >>> But the weird thing is that it doesn't seem to work. >>> >>> I tried what you wrote in the previous email: >>> >>> mininet@mininet-vm:~$ curl -X POST -d '{ >>>> "dpid": 1, >>>> "type": "FF", >>>> "group_id": 1, >>>> "buckets": [ >>>> { >>>> "watch_port": 1, >>>> "actions": [ >>>> { >>>> "type": "OUTPUT", >>>> "port": 1 >>>> } >>>> ] >>>> } >>>> ] >>>> }' http://localhost:8080/stats/groupentry/add >>> mininet@mininet-vm:~$ >>> mininet@mininet-vm:~$ curl -X GET http://localhost:8080/stats/groupdesc/1 >>> {"1": []}mininet@mininet-vm:~$ >>> mininet@mininet-vm:~$ curl -X POST -d '{ >>>> "dpid": 1, >>>> "match":{ >>>> "vlan_vid": 5 >>>> }, >>>> "actions":[ >>>> { >>>> "type":"GROUP", >>>> "group_id": 1 >>>> } >>>> ] >>>> }' http://localhost:8080/stats/flowentry/add >>> mininet@mininet-vm:~$ >>> mininet@mininet-vm:~$ curl -X GET http://localhost:8080/stats/flow/1 >>> {"1": []} >>> >>> Even though ryu's log show me that the requests got accepted: >>> >>> mininet@mininet-vm:~/ryu$ PYTHONPATH=~/ryu ~/ryu/bin/ryu-manager >>> ~/ryu/ryu/app/ofctl_rest.py >>> loading app /home/mininet/ryu/ryu/app/ofctl_rest.py >>> loading app ryu.controller.ofp_handler >>> instantiating app None of DPSet >>> creating context dpset >>> creating context wsgi >>> instantiating app /home/mininet/ryu/ryu/app/ofctl_rest.py of RestStatsApi >>> instantiating app ryu.controller.ofp_handler of OFPHandler >>> (8305) wsgi starting up on http://0.0.0.0:8080/ >>> (8305) accepted ('127.0.0.1', 54645) >>> 127.0.0.1 - - [09/Jan/2015 17:38:48] "POST /stats/groupentry/add >>> HTTP/1.1" 200 115 0.010800 >>> (8305) accepted ('127.0.0.1', 54646) >>> 127.0.0.1 - - [09/Jan/2015 17:38:49] "GET /stats/groupdesc/1 HTTP/1.1" >>> 200 131 1.004360 >>> (8305) accepted ('127.0.0.1', 54647) >>> 127.0.0.1 - - [09/Jan/2015 17:38:49] "POST /stats/flowentry/add >>> HTTP/1.1" 200 115 0.001661 >>> (8305) accepted ('127.0.0.1', 54648) >>> 127.0.0.1 - - [09/Jan/2015 17:38:52] "GET /stats/flow/1 HTTP/1.1" 200 >>> 131 0.001752 >>> >>> And the weird thing is that when I try to push another flow entry >>> (that I used for another example) it's working fine: >>> >>> mininet@mininet-vm:~$ curl -X POST -d '{ >>>> "dpid": 1, >>>> "cookie": 1, >>>> "cookie_mask": 1, >>>> "table_id": 0, >>>> "idle_timeout": 0, >>>> "hard_timeout": 0, >>>> "priority": 11111, >>>> "flags": 1, >>>> "match":{ >>>> "nw_dst": "11.0.0.2", >>>> "eth_type": 2048 >>>> }, >>>> "actions":[ >>>> { >>>> "type":"OUTPUT", >>>> "port": 2 >>>> } >>>> ] >>>> }' http://localhost:8080/stats/flowentry/add >>> mininet@mininet-vm:~$ curl -X GET http://localhost:8080/stats/flow/1 >>> {"1": [{"actions": ["OUTPUT:2"], "idle_timeout": 0, "cookie": 1, >>> "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 96, >>> "duration_nsec": 127000000, "priority": 11111, "duration_sec": 11, >>> "table_id": 0, "flags": 1, "match": {"dl_type": 2048, "nw_dst": >>> "11.0.0.2"}}] >>> >>> Do you have any idea why? I'm running out of ideas why it doesn't work :/. >>> >>> Thanks for your help. >>> >>> Best, >>> Clément >>> >>> On 2 December 2014 at 01:56, Yusuke Iwase <[email protected]> wrote: >>>> Hi, >>>> >>>> On 2014年12月01日 20:13, Clément Rault wrote: >>>>> Hi, >>>>> >>>>> Ok, thanks. >>>>> >>>>>> I think it's right. >>>>>> OpenFlow Spec describes like as follows. >>>>>> >>>>>> ------- >>>>>> OpenFlow1.3.4 Spec: >>>>>> 5.6.1 Group Types >>>>>> ------- >>>>>> ... >>>>>> - Optional: fast failover: Execute the first live bucket. Each action >>>>>> bucket is associated with >>>>>> a specific port and/or group that controls its liveness. The buckets >>>>>> are evaluated in the order >>>>>> defined by the group, and the first bucket which is associated with >>>>>> a live port/group is selected. >>>>>> ... >>>>>> ------- >>>>>> >>>>>> Thanks >>>>> >>>>> I'm wondering what will happen if every bucket is down. Will it simply >>>>> stop the processing of this and drop it or do you think it will still >>>>> the examine the other (next) group tables (because what I understood >>>>> is that the switch will examine every group table one after each >>>>> other)? >>>> >>>> Is your question about the behavior of Group Table specified by OpenFlow? >>>> If so, please refer to OpenFlow Specification. >>>> (and see the section "5.6.1 Group Types".) >>>> >>>> https://www.opennetworking.org/sdn-resources/onf-specifications/openflow >>>> >>>> If you have still any questions, I guess you have a better chance >>>> to get an answer on ONF mailing list. >>>> >>>>> >>>>> Best, >>>>> Clément >>>>> ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
