diff options
Diffstat (limited to 'net/sched/sch_sfq.c')
-rw-r--r-- | net/sched/sch_sfq.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 534f33231c17..201cbac2b32c 100644 --- a/net/sched/sch_sfq.c +++ b/net/sched/sch_sfq.c | |||
@@ -334,7 +334,7 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
334 | if (++sch->q.qlen <= q->limit) { | 334 | if (++sch->q.qlen <= q->limit) { |
335 | sch->bstats.bytes += qdisc_pkt_len(skb); | 335 | sch->bstats.bytes += qdisc_pkt_len(skb); |
336 | sch->bstats.packets++; | 336 | sch->bstats.packets++; |
337 | return 0; | 337 | return NET_XMIT_SUCCESS; |
338 | } | 338 | } |
339 | 339 | ||
340 | sfq_drop(sch); | 340 | sfq_drop(sch); |
@@ -508,6 +508,11 @@ nla_put_failure: | |||
508 | return -1; | 508 | return -1; |
509 | } | 509 | } |
510 | 510 | ||
511 | static struct Qdisc *sfq_leaf(struct Qdisc *sch, unsigned long arg) | ||
512 | { | ||
513 | return NULL; | ||
514 | } | ||
515 | |||
511 | static unsigned long sfq_get(struct Qdisc *sch, u32 classid) | 516 | static unsigned long sfq_get(struct Qdisc *sch, u32 classid) |
512 | { | 517 | { |
513 | return 0; | 518 | return 0; |
@@ -519,6 +524,10 @@ static unsigned long sfq_bind(struct Qdisc *sch, unsigned long parent, | |||
519 | return 0; | 524 | return 0; |
520 | } | 525 | } |
521 | 526 | ||
527 | static void sfq_put(struct Qdisc *q, unsigned long cl) | ||
528 | { | ||
529 | } | ||
530 | |||
522 | static struct tcf_proto **sfq_find_tcf(struct Qdisc *sch, unsigned long cl) | 531 | static struct tcf_proto **sfq_find_tcf(struct Qdisc *sch, unsigned long cl) |
523 | { | 532 | { |
524 | struct sfq_sched_data *q = qdisc_priv(sch); | 533 | struct sfq_sched_data *q = qdisc_priv(sch); |
@@ -571,9 +580,12 @@ static void sfq_walk(struct Qdisc *sch, struct qdisc_walker *arg) | |||
571 | } | 580 | } |
572 | 581 | ||
573 | static const struct Qdisc_class_ops sfq_class_ops = { | 582 | static const struct Qdisc_class_ops sfq_class_ops = { |
583 | .leaf = sfq_leaf, | ||
574 | .get = sfq_get, | 584 | .get = sfq_get, |
585 | .put = sfq_put, | ||
575 | .tcf_chain = sfq_find_tcf, | 586 | .tcf_chain = sfq_find_tcf, |
576 | .bind_tcf = sfq_bind, | 587 | .bind_tcf = sfq_bind, |
588 | .unbind_tcf = sfq_put, | ||
577 | .dump = sfq_dump_class, | 589 | .dump = sfq_dump_class, |
578 | .dump_stats = sfq_dump_class_stats, | 590 | .dump_stats = sfq_dump_class_stats, |
579 | .walk = sfq_walk, | 591 | .walk = sfq_walk, |