Hello,
I registered today to LQ because there's an issue related to shaping (or better: policing) that I can't solve.
I am doing some network experiments using an IP overlay (made of IP tunnels and virtual interfaces: tap0, tap1, etc...).
I am using the Hierarchical Token Bucket queuing discipline to shape the bandwidth to 10 Mbps, as follows:
Code:
tc qdisc add dev $DEV root handle 1: htb default 1
tc class add dev $DEV parent 1: classid 1:1 htb rate 10mbit ceil 10mbit
tc qdisc add dev $DEV parent 1:1 handle 20: sfq limit 20
If I use it on a normal interface (e.g. eth0), and I launch iperf to measure the bandwidth like this:
Code:
iperf -c 10.183.173.134 -i 1 -u -b 12M
the losses registered are proportional to the excess of bandwidth with respect to the shaping limit: in this case 20%.
If I use the shaping on a virtual interface the losses are not proportional to the excess. In fact, they increase abruptly: setting iperf to 12Mbps brings to 97% of losses and an effective bandwidth of some kbps...
What's wrong with shaping of virtual interfaces (or with iperf)...?
Do you have any advice..?
Sorry for my english, that might sound odd.
Thanks in advance for any clarification.