]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - net/sched/sch_gred.c
net_sched: gred: fix qave reporting via netlink
[mirror_ubuntu-jammy-kernel.git] / net / sched / sch_gred.c
index e19d4ebfea1c7294474ef413d6cb0ca490238997..b2570b59d85ebe47f20537eea64a5681e7b5539f 100644 (file)
@@ -534,6 +534,7 @@ static int gred_dump(struct Qdisc *sch, struct sk_buff *skb)
        for (i = 0; i < MAX_DPs; i++) {
                struct gred_sched_data *q = table->tab[i];
                struct tc_gred_qopt opt;
+               unsigned long qavg;
 
                memset(&opt, 0, sizeof(opt));
 
@@ -565,7 +566,9 @@ static int gred_dump(struct Qdisc *sch, struct sk_buff *skb)
                if (gred_wred_mode(table))
                        gred_load_wred_set(table, q);
 
-               opt.qave = red_calc_qavg(&q->parms, &q->vars, q->vars.qavg);
+               qavg = red_calc_qavg(&q->parms, &q->vars,
+                                    q->vars.qavg >> q->parms.Wlog);
+               opt.qave = qavg >> q->parms.Wlog;
 
 append_opt:
                if (nla_append(skb, sizeof(opt), &opt) < 0)