Hi,

On 2014年10月11日 01:56, Hui-Lan Lee wrote:
> Hi Yusuke,
> You are right, it is working well right now.
> Thanks~~~
> Then I change to openflow 1.3 ,
> add flow entry using command:
> curl -X POST -d '{"dpid":"0000000000000001", 
> "priority":"32764","match":{"in_port":2, 
> "dl_vlan":6},"actions":[{"type":"PUSH_VLAN","ethertype":33024},{"type":"SET_FIELD","field":"vlan_vid","value":5},{"type":"OUTPUT","port":1}]}'
>  http://127.0.0.1:8080/stats/flowentry/add

I think you need to set OFPVID_PRESENT bit in OXM_OF_VLAN_VID set-field actions.

e.g.)
  ..., {"type":"SET_FIELD","field":"vlan_vid","value":4101}, ...

When you use ofctl_rest.py with OpenFlow 1.3 and try to set vlan_vid=5 in 
set-field action,
you need bitwise OR operation like as follows.

 value = vlan_vid | OFPVID_PRESENT(0x1000 = 4096)
       = 5 | 4096
       = 4101

For details, please refer to "7.2.3.8 Header Match Fields" in OpenFlow Spec 
1.3.4.

>
> RYU shows the error message:
> error msg ev version: 0x4 msg_type 0x1 xid 0xedfd27a5 
> OFPErrorMsg(code=15,data="\x04\x0e\x00p\xed\xfd'\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x01\x00\x0c\x80\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x00",type=2)
>  type 0x2 code 0xf 0x4 0xe 0x0 0x70 0xed 0xfd 0x27 0xa5 0x0 0x0 0x0 0x0 0x0 
> 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7f 0xfc 
> 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x0 0x0 0x0 
> 0x0 0x1 0x0 0xc 0x80 0x0 0x0 0x4 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x0
> (3294) accepted ('127.0.0.1', 34484)
>
> Am I doing something wrong ?
>
> 2014-10-10 15:00 GMT+08:00 Yusuke Iwase <[email protected] 
> <mailto:[email protected]>>:
>
>     Hi
>
>     On 2014年10月07日 05:07, Hui-Lan Lee wrote:
>     > Hi,
>     > I design 2 scenarios in mininet,
>     > (1) host1 connect to port1 with tag vlan5, host2 connect to   port2 
> with tag vlan 6 . Then host1 ping host2 .
>     > (2) host1 connect to  port 1 with no-vlan, host2 connect to  port2 with 
> tag vlan 6. Then host1 ping host2 .
>     >
>     > I am running RYU :
>     > #./bin/ryu-manager --verbose --observe-links ryu.topology.switches 
> ryu.app.rest_topology ryu.app.ofctl_re
>     > st ryu.app.simple_switch
>     > ~/ryu/ryu/gui$ ./controller.py
>     >
>     > in these two scenarios, I add static flow entry   but they don't work, 
> Either in case(1) or in case(2), host1 and host2 all cann't ping each other.  
> Could you help me checkout what's wrong with my static flow entry?
>     > (1)
>     > curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"OUTPUT","port":"1"}, 
> {"type":"SET_VLAN_VID","vlan_vid":"5"}], "match":{"in_port":"2", 
> "dl_vlan":"6"}}' http://127.0.0.1:8080/stats/flowentry/add
>     >
>     > curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"OUTPUT","port":"2"}, 
> {"type":"SET_VLAN_VID","vlan_vid":"6"}], "match":{"in_port":"1", 
> "dl_vlan":"5"}}' http://127.0.0.1:8080/stats/flowentry/add
>     >
>     > (2)
>     > curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32500","actions":[{"type":"OUTPUT","port":"2"}, 
> {"type":"SET_VLAN_VID","vlan_vid":"6"}], "match":{"in_port":"1"}}' 
> http://127.0.0.1:8080/stats/flowentry/add
>     >
>     > curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"OUTPUT","port":"1"}, 
> {"type":"STRIP_VLAN","ethertype":33024}], "match":{"in_port":"2", 
> "dl_vlan":"6"}}' http://127.0.0.1:8080/stats/flowentry/add
>
>     I think the specified order of "actions" is wrong in your flow entries.
>     In Open Flow Spec 1.0, action list for inserted flow entries MUST be 
> processed in the order specified.
>
>     So, How about commands as follows?
>
>     (1)
>     curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"SET_VLAN_VID","vlan_vid":"5"}, 
> {"type":"OUTPUT","port":"1"}], "match":{"in_port":"2", "dl_vlan":"6"}}' 
> http://127.0.0.1:8080/stats/flowentry/add
>
>     curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"SET_VLAN_VID","vlan_vid":"6"}, 
> {"type":"OUTPUT","port":"2"}], "match":{"in_port":"1", "dl_vlan":"5"}}' 
> http://127.0.0.1:8080/stats/flowentry/add
>
>     (2)
>     curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32500","actions":[{"type":"SET_VLAN_VID","vlan_vid":"6"}, 
> {"type":"OUTPUT","port":"2"}], "match":{"in_port":"1"}}' 
> http://127.0.0.1:8080/stats/flowentry/add
>
>     curl -X POST -d '{"dpid": "0000000000000001", 
> "priority":"32768","actions":[{"type":"STRIP_VLAN"}, 
> {"type":"OUTPUT","port":"1"}], "match":{"in_port":"2", "dl_vlan":"6"}}' 
> http://127.0.0.1:8080/stats/flowentry/add
>
>     Just I changed the order of your flow entries.
>     (And "STRIP_VLAN" takes no arguments and consists like "ethertype")
>
>     >
>     >
>     > 
> ------------------------------------------------------------------------------
>     > Slashdot TV.  Videos for Nerds.  Stuff that Matters.
>     > 
> http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
>     >
>     >
>     >
>     > _______________________________________________
>     > Ryu-devel mailing list
>     > [email protected] <mailto:[email protected]>
>     > https://lists.sourceforge.net/lists/listinfo/ryu-devel
>     >
>
>

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to