net_sched: precision problem of TBF/HTB
From: Yang Yingliang <hidden>
Date: 2013-07-16 04:12:18
Hi, Eric Commit 1def9238d4aa2 (net_sched: more precise pkt_len computation) makes more precise transfer bytes by taking account of headers in qdisc_skb_cb(skb)->pkt_len, but this introduces a problem with calculating bandwidth in userland. When calculating bandwidth in userland, it's not include headers' bytes. From the user's perspective, it's not a correct bandwidth. Shall we need take account of headers in qdisc_skb_cb(skb)->pkt_len or just skb->len? Example: tc qdisc add dev $DEV root handle 1: tbf latency 50ms burst 500kB rate 500mbit mtu 64k iperf -c host -t 30 -i 10 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 571 MBytes 479 Mbits/sec [ 3] 10.0-20.0 sec 570 MBytes 478 Mbits/sec [ 3] 20.0-30.0 sec 570 MBytes 478 Mbits/sec [ 3] 0.0-30.0 sec 1.67 GBytes 478 Mbits/sec