git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'pandora-27-omap1' into rev2
[pandora-kernel.git]
/
net
/
sched
/
sch_sfq.c
diff --git
a/net/sched/sch_sfq.c
b/net/sched/sch_sfq.c
index
73f5384
..
6e041d1
100644
(file)
--- a/
net/sched/sch_sfq.c
+++ b/
net/sched/sch_sfq.c
@@
-171,14
+171,14
@@
static unsigned int sfq_classify(struct sk_buff *skb, struct Qdisc *sch,
if (!q->filter_list)
return sfq_hash(q, skb) + 1;
if (!q->filter_list)
return sfq_hash(q, skb) + 1;
- *qerr = NET_XMIT_BYPASS;
+ *qerr = NET_XMIT_
SUCCESS | __NET_XMIT_
BYPASS;
result = tc_classify(skb, q->filter_list, &res);
if (result >= 0) {
#ifdef CONFIG_NET_CLS_ACT
switch (result) {
case TC_ACT_STOLEN:
case TC_ACT_QUEUED:
result = tc_classify(skb, q->filter_list, &res);
if (result >= 0) {
#ifdef CONFIG_NET_CLS_ACT
switch (result) {
case TC_ACT_STOLEN:
case TC_ACT_QUEUED:
- *qerr = NET_XMIT_SUCCESS;
+ *qerr = NET_XMIT_SUCCESS
| __NET_XMIT_STOLEN
;
case TC_ACT_SHOT:
return 0;
}
case TC_ACT_SHOT:
return 0;
}
@@
-285,7
+285,7
@@
sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch)
hash = sfq_classify(skb, sch, &ret);
if (hash == 0) {
hash = sfq_classify(skb, sch, &ret);
if (hash == 0) {
- if (ret
==
NET_XMIT_BYPASS)
+ if (ret
& __
NET_XMIT_BYPASS)
sch->qstats.drops++;
kfree_skb(skb);
return ret;
sch->qstats.drops++;
kfree_skb(skb);
return ret;
@@
-339,7
+339,7
@@
sfq_requeue(struct sk_buff *skb, struct Qdisc *sch)
hash = sfq_classify(skb, sch, &ret);
if (hash == 0) {
hash = sfq_classify(skb, sch, &ret);
if (hash == 0) {
- if (ret
==
NET_XMIT_BYPASS)
+ if (ret
& __
NET_XMIT_BYPASS)
sch->qstats.drops++;
kfree_skb(skb);
return ret;
sch->qstats.drops++;
kfree_skb(skb);
return ret;
@@
-536,14
+536,7
@@
static int sfq_dump(struct Qdisc *sch, struct sk_buff *skb)
opt.limit = q->limit;
opt.divisor = SFQ_HASH_DIVISOR;
opt.limit = q->limit;
opt.divisor = SFQ_HASH_DIVISOR;
- 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++;
- }
+ opt.flows = q->limit;
NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);