Home
last modified time | relevance | path

Searched refs:qdisc (Results 1 – 25 of 25) sorted by relevance

/net/sched/
Dsch_generic.c553 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
560 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
575 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc),
603 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument
609 qdisc->enqueue = NULL; in noqueue_init()
647 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument
651 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue()
659 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue()
660 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue()
662 return qdisc_drop(skb, qdisc, to_free); in pfifo_fast_enqueue()
[all …]
Dsch_mq.c73 struct Qdisc *qdisc; in mq_init() local
90 qdisc = qdisc_create_dflt(dev_queue, get_default_qdisc_ops(dev, ntx), in mq_init()
94 if (!qdisc) in mq_init()
96 priv->qdiscs[ntx] = qdisc; in mq_init()
97 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mq_init()
110 struct Qdisc *qdisc, *old; in mq_attach() local
114 qdisc = priv->qdiscs[ntx]; in mq_attach()
115 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mq_attach()
120 qdisc_hash_add(qdisc, false); in mq_attach()
131 struct Qdisc *qdisc; in mq_dump() local
[all …]
Dsch_mqprio.c230 struct Qdisc *qdisc; in mqprio_init() local
270 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init()
274 if (!qdisc) in mqprio_init()
277 priv->qdiscs[i] = qdisc; in mqprio_init()
278 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init()
335 struct Qdisc *qdisc, *old; in mqprio_attach() local
340 qdisc = priv->qdiscs[ntx]; in mqprio_attach()
341 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mqprio_attach()
345 qdisc_hash_add(qdisc, false); in mqprio_attach()
431 struct Qdisc *qdisc; in mqprio_dump() local
[all …]
Dsch_cbs.c83 struct Qdisc *qdisc; member
108 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_offload() local
110 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload()
117 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_soft() local
127 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_soft()
178 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_soft() local
206 skb = cbs_child_dequeue(sch, qdisc); in cbs_dequeue_soft()
233 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_offload() local
235 return cbs_child_dequeue(sch, qdisc); in cbs_dequeue_offload()
346 qdev = qdisc_dev(q->qdisc); in cbs_dev_notifier()
[all …]
Dsch_drr.c26 struct Qdisc *qdisc; member
111 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
114 if (cl->qdisc == NULL) in drr_change_class()
115 cl->qdisc = &noop_qdisc; in drr_change_class()
117 qdisc_hash_add(cl->qdisc, true); in drr_change_class()
126 qdisc_put(cl->qdisc); in drr_change_class()
145 qdisc_put(cl->qdisc); in drr_destroy_class()
159 qdisc_purge_queue(cl->qdisc); in drr_delete_class()
217 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class()
225 return cl->qdisc; in drr_class_leaf()
[all …]
Dsch_tbf.c109 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */ member
163 ret = qdisc_enqueue(segs, q->qdisc, to_free); in tbf_segment()
192 ret = qdisc_enqueue(skb, q->qdisc, to_free); in tbf_enqueue()
214 skb = q->qdisc->ops->peek(q->qdisc); in tbf_dequeue()
237 skb = qdisc_dequeue_peeked(q->qdisc); in tbf_dequeue()
273 qdisc_reset(q->qdisc); in tbf_reset()
373 if (q->qdisc != &noop_qdisc) { in tbf_change()
374 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change()
391 qdisc_tree_flush_backlog(q->qdisc); in tbf_change()
392 old = q->qdisc; in tbf_change()
[all …]
Dsch_multiq.c63 struct Qdisc *qdisc; in multiq_enqueue() local
66 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue()
68 if (qdisc == NULL) { in multiq_enqueue()
77 ret = qdisc_enqueue(skb, qdisc, to_free); in multiq_enqueue()
90 struct Qdisc *qdisc; in multiq_dequeue() local
105 qdisc = q->queues[q->curband]; in multiq_dequeue()
106 skb = qdisc->dequeue(qdisc); in multiq_dequeue()
122 struct Qdisc *qdisc; in multiq_peek() local
137 qdisc = q->queues[curband]; in multiq_peek()
138 skb = qdisc->ops->peek(qdisc); in multiq_peek()
Dsch_red.c44 struct Qdisc *qdisc; member
61 struct Qdisc *child = q->qdisc; in red_enqueue()
118 struct Qdisc *child = q->qdisc; in red_dequeue()
135 struct Qdisc *child = q->qdisc; in red_peek()
144 qdisc_reset(q->qdisc); in red_reset()
184 qdisc_put(q->qdisc); in red_destroy()
238 qdisc_tree_flush_backlog(q->qdisc); in red_change()
239 old_child = q->qdisc; in red_change()
240 q->qdisc = child; in red_change()
254 if (!q->qdisc->q.qlen) in red_change()
[all …]
Dsch_qfq.c137 struct Qdisc *qdisc; member
318 if (cl->qdisc->q.qlen > 0) { /* adding an active class */ in qfq_add_to_agg()
367 if (cl->qdisc->q.qlen > 0) /* class is active */ in qfq_deact_rm_from_agg()
477 cl->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in qfq_change_class()
479 if (cl->qdisc == NULL) in qfq_change_class()
480 cl->qdisc = &noop_qdisc; in qfq_change_class()
492 if (cl->qdisc != &noop_qdisc) in qfq_change_class()
493 qdisc_hash_add(cl->qdisc, true); in qfq_change_class()
521 qdisc_put(cl->qdisc); in qfq_change_class()
532 qdisc_put(cl->qdisc); in qfq_destroy_class()
[all …]
Dsch_hfsc.c126 struct Qdisc *qdisc; /* leaf qdisc */ member
749 if (cl->qdisc->q.qlen == 0 && cl->cl_flags & HFSC_FSC) in update_vf()
992 if (cl->qdisc->q.qlen != 0) { in hfsc_change_class()
993 int len = qdisc_peek_len(cl->qdisc); in hfsc_change_class()
1064 cl->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_change_class()
1066 if (cl->qdisc == NULL) in hfsc_change_class()
1067 cl->qdisc = &noop_qdisc; in hfsc_change_class()
1069 qdisc_hash_add(cl->qdisc, true); in hfsc_change_class()
1084 qdisc_purge_queue(parent->qdisc); in hfsc_change_class()
1100 qdisc_put(cl->qdisc); in hfsc_destroy_class()
[all …]
Dsch_sfb.c53 struct Qdisc *qdisc; member
285 struct Qdisc *child = q->qdisc; in sfb_enqueue()
429 struct Qdisc *child = q->qdisc; in sfb_dequeue()
432 skb = child->dequeue(q->qdisc); in sfb_dequeue()
447 struct Qdisc *child = q->qdisc; in sfb_peek()
458 qdisc_reset(q->qdisc); in sfb_reset()
472 qdisc_put(q->qdisc); in sfb_destroy()
525 qdisc_purge_queue(q->qdisc); in sfb_change()
526 old = q->qdisc; in sfb_change()
527 q->qdisc = child; in sfb_change()
[all …]
Dsch_prio.c72 struct Qdisc *qdisc; in prio_enqueue() local
75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue()
77 if (qdisc == NULL) { in prio_enqueue()
86 ret = qdisc_enqueue(skb, qdisc, to_free); in prio_enqueue()
103 struct Qdisc *qdisc = q->queues[prio]; in prio_peek() local
104 struct sk_buff *skb = qdisc->ops->peek(qdisc); in prio_peek()
117 struct Qdisc *qdisc = q->queues[prio]; in prio_dequeue() local
118 struct sk_buff *skb = qdisc_dequeue_peeked(qdisc); in prio_dequeue()
Dsch_netem.c81 struct Qdisc *qdisc; member
718 if (q->qdisc) { in netem_dequeue()
723 err = qdisc_enqueue(skb, q->qdisc, &to_free); in netem_dequeue()
736 if (q->qdisc) { in netem_dequeue()
737 skb = q->qdisc->ops->dequeue(q->qdisc); in netem_dequeue()
747 if (q->qdisc) { in netem_dequeue()
748 skb = q->qdisc->ops->dequeue(q->qdisc); in netem_dequeue()
761 if (q->qdisc) in netem_reset()
762 qdisc_reset(q->qdisc); in netem_reset()
1077 if (q->qdisc) in netem_destroy()
[all …]
Dsch_api.c301 q = qdisc_match_from_root(rtnl_dereference(dev->qdisc), handle); in qdisc_lookup()
320 q = qdisc_match_from_root(rcu_dereference(dev->qdisc), handle); in qdisc_lookup_rcu()
591 void qdisc_warn_nonwc(const char *txt, struct Qdisc *qdisc) in qdisc_warn_nonwc() argument
593 if (!(qdisc->flags & TCQ_F_WARN_NONWC)) { in qdisc_warn_nonwc()
595 txt, qdisc->ops->id, qdisc->handle >> 16); in qdisc_warn_nonwc()
596 qdisc->flags |= TCQ_F_WARN_NONWC; in qdisc_warn_nonwc()
607 __netif_schedule(qdisc_root(wd->qdisc)); in qdisc_watchdog()
613 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc, in qdisc_watchdog_init_clockid() argument
618 wd->qdisc = qdisc; in qdisc_watchdog_init_clockid()
622 void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc) in qdisc_watchdog_init() argument
[all …]
Dsch_skbprio.c73 struct sk_buff_head *qdisc; in skbprio_enqueue() local
81 qdisc = &q->qdiscs[prio]; in skbprio_enqueue()
83 __skb_queue_tail(qdisc, skb); in skbprio_enqueue()
106 __skb_queue_tail(qdisc, skb); in skbprio_enqueue()
Dsch_teql.c99 q = rcu_dereference_bh(dat_queue->qdisc); in teql_dequeue()
155 root_lock = qdisc_root_sleeping_lock(rtnl_dereference(txq->qdisc)); in teql_destroy()
157 qdisc_reset(rtnl_dereference(txq->qdisc)); in teql_destroy()
265 if (rcu_access_pointer(txq->qdisc) == &noop_qdisc) in teql_resolve()
Dsch_etf.c441 if (q->watchdog.qdisc == sch) in etf_reset()
460 if (q->watchdog.qdisc == sch) in etf_destroy()
Dsch_taprio.c1715 struct Qdisc *qdisc; in taprio_init() local
1718 qdisc = qdisc_create_dflt(dev_queue, in taprio_init()
1723 if (!qdisc) in taprio_init()
1727 qdisc_hash_add(qdisc, false); in taprio_init()
1729 q->qdiscs[i] = qdisc; in taprio_init()
Dcls_api.c638 struct Qdisc *qdisc; in tc_dev_block() local
643 qdisc = dev_ingress_queue(dev)->qdisc_sleeping; in tc_dev_block()
644 if (!qdisc) in tc_dev_block()
647 ops = qdisc->ops; in tc_dev_block()
661 return cops->tcf_block(qdisc, in tc_dev_block()
1082 *q = rcu_dereference(dev->qdisc); in __tcf_qdisc_find()
2556 q = rtnl_dereference(dev->qdisc); in tc_dump_tfilter()
2943 q = rtnl_dereference(dev->qdisc); in tc_dump_chain()
DKconfig334 packets. This qdisc doesn't do anything else besides running classifiers,
336 classifiers that this qdisc holds are executed in the transmit path
337 before real enqueuing to an egress qdisc happens.
819 back onto ingress connections for qdisc priority mapping
Dsch_htb.c991 struct Qdisc *sch = q->watchdog.qdisc; in htb_work_func()
/net/caif/
Dcaif_dev.c193 sch = rcu_dereference_bh(txq->qdisc); in transmit()
/net/core/
Drtnetlink.c1602 struct Qdisc *qdisc; in rtnl_fill_ifinfo() local
1620 qdisc = rtnl_dereference(dev->qdisc); in rtnl_fill_ifinfo()
1639 (qdisc && in rtnl_fill_ifinfo()
1640 nla_put_string(skb, IFLA_QDISC, qdisc->ops->id)) || in rtnl_fill_ifinfo()
Ddev.c2698 struct Qdisc *q = rcu_dereference(txq->qdisc); in netif_schedule_queue()
2712 q = rcu_dereference(dev_queue->qdisc); in netif_tx_wake_queue()
3764 q = rcu_dereference_bh(txq->qdisc); in __dev_queue_xmit()
9543 RCU_INIT_POINTER(queue->qdisc, &noop_qdisc); in dev_ingress_queue_create()
/net/netfilter/
DKconfig281 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000