diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2009-06-16 08:33:55 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-17 18:56:45 -0700 |
commit | b964758050f856e44f5fe645d03bea8a1b0b66bd (patch) | |
tree | 086f12ef757a245a410e00fb46e410495c456b3d /net/sched/act_police.c | |
parent | e4f1482e686212e6d1dd6df93888bb26344981c6 (diff) | |
download | linux-b964758050f856e44f5fe645d03bea8a1b0b66bd.tar.bz2 |
pkt_sched: Update drops stats in act_police
Action police statistics could be misleading because drops are not
shown when expected.
With feedback from: Jamal Hadi Salim <hadi@cyberus.ca>
Reported-by: Pawel Staszewski <pstaszewski@itcare.pl>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Acked-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_police.c')
-rw-r--r-- | net/sched/act_police.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sched/act_police.c b/net/sched/act_police.c index f8f047b61245..723964c3ee4f 100644 --- a/net/sched/act_police.c +++ b/net/sched/act_police.c @@ -294,6 +294,8 @@ static int tcf_act_police(struct sk_buff *skb, struct tc_action *a, if (police->tcfp_ewma_rate && police->tcf_rate_est.bps >= police->tcfp_ewma_rate) { police->tcf_qstats.overlimits++; + if (police->tcf_action == TC_ACT_SHOT) + police->tcf_qstats.drops++; spin_unlock(&police->tcf_lock); return police->tcf_action; } @@ -327,6 +329,8 @@ static int tcf_act_police(struct sk_buff *skb, struct tc_action *a, } police->tcf_qstats.overlimits++; + if (police->tcf_action == TC_ACT_SHOT) + police->tcf_qstats.drops++; spin_unlock(&police->tcf_lock); return police->tcf_action; } |