problem description: data are still transmitted to queue 0 even when use set_queue:2 I created queues and then create flow by using "ovs-ofctl add-flow br0 actions=set_queue:2 --protocols=openflow13" , but no data are enqueued to queue 2, they are still enqueued to queue 0. But if I use tc filter to set the rules, data could be transmitted to queue 2. My question is : how to solve this problem, I want to use this "set_queue" command to finish my experiments.
I use the following command to create three queues: ovs-vsctl -- set port br0 qos=@newqos \ -- --id=@newqos create qos type=linux-htb other-config:max-rate=40000000 queues=0=@q0,1=@q1,2=@q2 \ -- --id=@q0 create queue other-config:min-rate=10000000 other-config:max-rate=10000000 \ -- --id=@q1 create queue other-config:min-rate=20000000 other-config:max-rate=20000000 \ -- --id=@q2 create queue other-config:min-rate=30000000 other-config:max-rate=30000000 ovs-vsctl list qos: ----------------------------- root@OpenWrt:~# ovs-vsctl list qos _uuid : ab514b32-241f-4b9a-ad6e-5f755f9beb2a external_ids : {} other_config : {max-rate="40000000"} queues : {0=17ecc2fe-e6d3-40cc-a6ea-ea6ae7a2ac57, 1=2b2b84f7-8bf0-405f-af5b-6dd6dc71d422, 2=56a4f14e-9ffd-4e1b-9d87-c0ddc39e975d} type : linux-htb -------------------------- ovs-vsctl list queue: *************** root@OpenWrt:~# ovs-vsctl list queue _uuid : 56a4f14e-9ffd-4e1b-9d87-c0ddc39e975d dscp : [] external_ids : {} other_config : {max-rate="30000000", min-rate="30000000"} _uuid : 17ecc2fe-e6d3-40cc-a6ea-ea6ae7a2ac57 dscp : [] external_ids : {} other_config : {max-rate="10000000", min-rate="10000000"} _uuid : 2b2b84f7-8bf0-405f-af5b-6dd6dc71d422 dscp : [] external_ids : {} other_config : {max-rate="20000000", min-rate="20000000"} *************** tc results: @@@@@@@@@@@@@@@ root@OpenWrt:~# tc -s class show dev br0 class htb 1:fffe root rate 40Mbit ceil 40Mbit burst 1495b cburst 1495b Sent 32345529 bytes 248707 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 4480 ctokens: 4480 class htb 1:1 parent 1:fffe prio 0 rate 10Mbit ceil 10Mbit burst 1563b cburst 1563b Sent 32345529 bytes 248707 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 248549 borrowed: 0 giants: 0 tokens: 18725 ctokens: 18725 class htb 1:2 parent 1:fffe prio 0 rate 20Mbit ceil 20Mbit burst 1562b cburst 1562b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 9775 ctokens: 9775 class htb 1:3 parent 1:fffe prio 0 rate 30Mbit ceil 30Mbit burst 1563b cburst 1563b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 6516 ctokens: 6516 @@@@@@@@@@@@@@@ ===================== I use "ovs-ofctl add-flow br0 actions=set_queue:2 --protocols=openflow13" to enforce data to be transmitted to queue 2, but the data are still transmitted to queue 0: OFPST_QUEUE reply (OF1.3) (xid=0x2): 3 queues port LOCAL queue 0: bytes=32342937, pkts=248671, errors=0, duration=2987889752.3375967296s port LOCAL queue 1: bytes=0, pkts=0, errors=0, duration=2987889752.3375967296s port LOCAL queue 2: bytes=0, pkts=0, errors=0, duration=2987889752.3375967296s ==================== However, if I use tc filter to set the rules, data could be transmitted to queue 2: -------------------- # tc filter add dev br0 parent 1: protocol ip prio 1 u32 match ip sport 80 0xffff flowid 1:1 # tc filter add dev br0 parent 1: protocol ip prio 9 u32 match u8 0 0 flowid 1:2 # tc filter add dev br0 parent 1: protocol ip prio 1 u32 match ip dport 25 0xffff flowid 1:3 # tc filter add dev br0 parent 1: protocol ip prio 1 u32 match ip dport 465 0xffff flowid 1:3 # ovs-ofctl queue-stats br0 --protocols=Openflow13 # tc filter add dev br0 parent 1: protocol ip prio 1 u32 match ip dport 6 0xffff flowid 1:3 root@OpenWrt:~# tc -s class show dev br0 class htb 1:fffe root rate 40Mbit ceil 40Mbit burst 1495b cburst 1495b Sent 54297556 bytes 339175 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 4330 ctokens: 4330 class htb 1:1 parent 1:fffe prio 0 rate 10Mbit ceil 10Mbit burst 1563b cburst 1563b Sent 33188566 bytes 196655 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 193180 borrowed: 0 giants: 0 tokens: 19025 ctokens: 19025 class htb 1:2 parent 1:fffe prio 0 rate 20Mbit ceil 20Mbit burst 1562b cburst 1562b Sent 21108990 bytes 142520 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 138876 borrowed: 0 giants: 0 tokens: 9062 ctokens: 9062 class htb 1:3 parent 1:fffe prio 0 rate 30Mbit ceil 30Mbit burst 1563b cburst 1563b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 6516 ctokens: 6516 --------------------
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss