|
@@ -536,7 +536,14 @@ static int sfq_dump(struct Qdisc *sch, struct sk_buff *skb)
|
|
|
|
|
|
opt.limit = q->limit;
|
|
|
opt.divisor = SFQ_HASH_DIVISOR;
|
|
|
- opt.flows = q->limit;
|
|
|
+ opt.flows = 0;
|
|
|
+ if (q->tail != SFQ_DEPTH) {
|
|
|
+ unsigned int i;
|
|
|
+
|
|
|
+ for (i = 0; i < SFQ_HASH_DIVISOR; i++)
|
|
|
+ if (q->ht[i] != SFQ_DEPTH)
|
|
|
+ opt.flows++;
|
|
|
+ }
|
|
|
|
|
|
NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
|
|
|
|