sch_tbf: report backlog information
authorEric Dumazet <eric.dumazet@gmail.com>
Wed, 28 Dec 2011 23:27:44 +0000 (23:27 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Dec 2011 20:07:21 +0000 (15:07 -0500)
Provide child qdisc backlog (byte count) information so that "tc -s
qdisc" can report it to user.

qdisc netem 30: root refcnt 18 limit 1000 delay 20.0ms  10.0ms
 Sent 948517 bytes 898 pkt (dropped 0, overlimits 0 requeues 1)
 rate 175056bit 16pps backlog 114b 1p requeues 1
qdisc tbf 40: parent 30: rate 256000bit burst 20Kb/8 mpu 0b lat 0us
 Sent 948517 bytes 898 pkt (dropped 15, overlimits 611 requeues 0)
 backlog 18168b 12p requeues 0

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_tbf.c

index 1dcfb5223a861fec4e5e4e41200b86f070363baf..b8e156319d7bc48c261ccad7110bbeb84ba44856 100644 (file)
@@ -346,6 +346,7 @@ static int tbf_dump(struct Qdisc *sch, struct sk_buff *skb)
        struct nlattr *nest;
        struct tc_tbf_qopt opt;
 
+       sch->qstats.backlog = q->qdisc->qstats.backlog;
        nest = nla_nest_start(skb, TCA_OPTIONS);
        if (nest == NULL)
                goto nla_put_failure;