HI to all, I'm facing problems when I try to limit bandwidth of TCP flow to some value smaller than 15 Mbit/s. Problem is next: I created queue with min-bandwidth and max-bandwidth set to 6Mbit/s and added flow rule (with ovs-ofctl) that matches TCP flow that I generate with iperf and forwards its packets to this queue. Iperf is adjusted to report me statistics every second. In average my flow gets 6 Mbit/s but iperf report shows that in one second flow got 10Mbit/s than for few consecutive seconds 0 Mbit/s and so on...(I limited bandwidth of qos policy to 10 Mbit/s in this case)
When I use UDP traffic I don't have this problem. Also, I tried to slice bandwidth between to TCP flows and the same problem was present. UDPvsTCP and UDPvsUDP were OK. I read FAQs on OVS web site, so my first conclusion was that this is some Linux problem. But, when I run Stanford Reference OF switch on the same machine, slicing was correct. Also, as suggested, I repeated the same experiment without any switches active, by manually adding tc rules. Firstly I used these commands: tc qdisc add dev eth0 root handle 1: htb default 11 tc class add dev eth0 parent 1: classid 1:1 htb rate 10000kbit ceil 10000kbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6000kbit ceil 4000kbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4000kbit ceil 6000kbit tc filter add dev eth0 protocol IP parent 1:0 u32 match ip src IP_SRC_ADDR_OF_TCPflow1 flowid 1:10 and I got similar results like with OVS. Later, I reported this problem to Linux mailing list: la...@vger.kernel.org and they said me this: "If you don't specify child qdiscs for htb it will use pfifo with the txqlen on the device as the limit which may be a bit long on eth (1000) or on ppp too short (3)." I added these two commands: tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 10 tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 10 and everything works fine!!! I want to use OVS in my OF testbed. I am developing SDN applications that dynamically creates queues in order to provide QoS guarantees for some flows. I use set-manager command to achieve this. So it's very important for me if you can somehow fix this. I am afraid that I am not enough qualified to this by myself, but I can try if you give me some instructions. After all, I don't know how OVS does traffic shaping? I assumed that it uses tc commands, so excuse me if this isn't bug at all. In any case I will appreciate any help. Regards, Slavica _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss