aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_atm.c
diff options
context:
space:
mode:
authorJarek Poplawski <jarkao2@gmail.com>2008-10-31 03:45:55 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-31 03:45:55 -0400
commit8e3af97899db433111287e07d5105189f56fe191 (patch)
tree40e7779ea4b587c9c3b882018ccaac1b53419f1c /net/sched/sch_atm.c
parent99c0db26797edb39cf83c8c5f8972067f5426b4e (diff)
pkt_sched: Add qdisc->ops->peek() implementation.
Add qdisc->ops->peek() implementation for work-conserving qdiscs. With feedback from Patrick McHardy. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_atm.c')
-rw-r--r--net/sched/sch_atm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c
index 43d37256c15e..f9eac0818d18 100644
--- a/net/sched/sch_atm.c
+++ b/net/sched/sch_atm.c
@@ -522,6 +522,15 @@ static struct sk_buff *atm_tc_dequeue(struct Qdisc *sch)
522 return skb; 522 return skb;
523} 523}
524 524
525static struct sk_buff *atm_tc_peek(struct Qdisc *sch)
526{
527 struct atm_qdisc_data *p = qdisc_priv(sch);
528
529 pr_debug("atm_tc_peek(sch %p,[qdisc %p])\n", sch, p);
530
531 return p->link.q->ops->peek(p->link.q);
532}
533
525static int atm_tc_requeue(struct sk_buff *skb, struct Qdisc *sch) 534static int atm_tc_requeue(struct sk_buff *skb, struct Qdisc *sch)
526{ 535{
527 struct atm_qdisc_data *p = qdisc_priv(sch); 536 struct atm_qdisc_data *p = qdisc_priv(sch);
@@ -694,6 +703,7 @@ static struct Qdisc_ops atm_qdisc_ops __read_mostly = {
694 .priv_size = sizeof(struct atm_qdisc_data), 703 .priv_size = sizeof(struct atm_qdisc_data),
695 .enqueue = atm_tc_enqueue, 704 .enqueue = atm_tc_enqueue,
696 .dequeue = atm_tc_dequeue, 705 .dequeue = atm_tc_dequeue,
706 .peek = atm_tc_peek,
697 .requeue = atm_tc_requeue, 707 .requeue = atm_tc_requeue,
698 .drop = atm_tc_drop, 708 .drop = atm_tc_drop,
699 .init = atm_tc_init, 709 .init = atm_tc_init,