Home
last modified time | relevance | path

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

1234567

/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/abm/
Dqdisc.c16 static bool nfp_abm_qdisc_is_red(struct nfp_qdisc *qdisc) in nfp_abm_qdisc_is_red() argument
18 return qdisc->type == NFP_QDISC_RED || qdisc->type == NFP_QDISC_GRED; in nfp_abm_qdisc_is_red()
21 static bool nfp_abm_qdisc_child_valid(struct nfp_qdisc *qdisc, unsigned int id) in nfp_abm_qdisc_child_valid() argument
23 return qdisc->children[id] && in nfp_abm_qdisc_child_valid()
24 qdisc->children[id] != NFP_QDISC_UNTRACKED; in nfp_abm_qdisc_child_valid()
45 nfp_abm_stats_update_red(struct nfp_abm_link *alink, struct nfp_qdisc *qdisc, in nfp_abm_stats_update_red() argument
52 if (!qdisc->offloaded) in nfp_abm_stats_update_red()
55 for (i = 0; i < qdisc->red.num_bands; i++) { in nfp_abm_stats_update_red()
57 &qdisc->red.band[i].stats); in nfp_abm_stats_update_red()
63 &qdisc->red.band[i].xstats); in nfp_abm_stats_update_red()
[all …]
/kernel/linux/linux-5.10/net/sched/
Dsch_generic.c548 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
555 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
570 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc),
598 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument
604 qdisc->enqueue = NULL; in noqueue_init()
642 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument
646 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue()
654 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue()
655 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue()
657 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()
132 struct Qdisc *qdisc; in mq_change_real_num_tx() 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()
355 struct Qdisc *qdisc; in mqprio_change_real_num_tx() 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.c110 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */ member
209 ret = qdisc_enqueue(segs, q->qdisc, to_free); in tbf_segment()
237 ret = qdisc_enqueue(skb, q->qdisc, to_free); in tbf_enqueue()
259 skb = q->qdisc->ops->peek(q->qdisc); in tbf_dequeue()
282 skb = qdisc_dequeue_peeked(q->qdisc); in tbf_dequeue()
318 qdisc_reset(q->qdisc); in tbf_reset()
416 if (q->qdisc != &noop_qdisc) { in tbf_change()
417 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change()
434 qdisc_tree_flush_backlog(q->qdisc); in tbf_change()
435 old = q->qdisc; in tbf_change()
[all …]
Dsch_ets.c41 struct Qdisc *qdisc; member
262 *old = qdisc_replace(sch, new, &cl->qdisc); in ets_class_graft()
271 return cl->qdisc; in ets_class_leaf()
306 tcm->tcm_info = cl->qdisc->handle; in ets_class_dump()
326 struct Qdisc *cl_q = cl->qdisc; in ets_class_dump_stats()
435 first = !cl->qdisc->q.qlen; in ets_qdisc_enqueue()
436 err = qdisc_enqueue(skb, cl->qdisc, to_free); in ets_qdisc_enqueue()
475 skb = qdisc_dequeue_peeked(cl->qdisc); in ets_qdisc_dequeue()
484 skb = cl->qdisc->ops->peek(cl->qdisc); in ets_qdisc_dequeue()
486 qdisc_warn_nonwc(__func__, cl->qdisc); in ets_qdisc_dequeue()
[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.c48 struct Qdisc *qdisc; member
74 struct Qdisc *child = q->qdisc; in red_enqueue()
154 struct Qdisc *child = q->qdisc; in red_dequeue()
171 struct Qdisc *child = q->qdisc; in red_peek()
180 qdisc_reset(q->qdisc); in red_reset()
221 qdisc_put(q->qdisc); in red_destroy()
286 qdisc_tree_flush_backlog(q->qdisc); in __red_change()
287 old_child = q->qdisc; in __red_change()
288 q->qdisc = child; in __red_change()
302 if (!q->qdisc->q.qlen) in __red_change()
[all …]
/kernel/linux/linux-5.10/include/net/
Dsch_generic.h121 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
123 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc()
125 refcount_inc(&qdisc->refcnt); in qdisc_refcount_inc()
132 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz() argument
134 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc_nz()
135 return qdisc; in qdisc_refcount_inc_nz()
136 if (refcount_inc_not_zero(&qdisc->refcnt)) in qdisc_refcount_inc_nz()
137 return qdisc; in qdisc_refcount_inc_nz()
141 static inline bool qdisc_is_running(struct Qdisc *qdisc) in qdisc_is_running() argument
143 if (qdisc->flags & TCQ_F_NOLOCK) in qdisc_is_running()
[all …]
/kernel/linux/linux-5.10/tools/testing/selftests/drivers/net/mlxsw/
Dtc_restrictions.sh41 tc qdisc add dev $swp1 ingress_block 22 clsact
48 tc qdisc add dev $swp2 ingress_block 22 clsact
51 tc qdisc del dev $swp2 clsact
53 tc qdisc add dev $swp2 egress_block 22 clsact
58 tc qdisc add dev $swp2 egress_block 22 clsact
65 tc qdisc del dev $swp1 clsact
67 tc qdisc add dev $swp1 egress_block 22 clsact
76 tc qdisc del dev $swp2 clsact
77 tc qdisc del dev $swp1 clsact
89 tc qdisc add dev $swp1 ingress_block 22 clsact
[all …]
Dqos_headroom.sh168 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
170 tc qdisc delete dev $swp root
248 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
254 tc qdisc delete dev $swp root
258 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
260 tc qdisc delete dev $swp root
276 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
290 tc qdisc replace dev $swp root handle 1: bfifo limit 1M
298 tc qdisc replace dev $swp root handle 2: prio bands 8
303 tc qdisc delete dev $swp root
[all …]
Dsch_red_ets.sh28 tc qdisc add dev $swp3 root handle 10: $QDISC \
30 tc qdisc add dev $swp3 parent 10:8 handle 108: red \
33 tc qdisc add dev $swp3 parent 10:7 handle 107: red \
41 tc qdisc del dev $swp3 parent 10:7
42 tc qdisc del dev $swp3 parent 10:8
43 tc qdisc del dev $swp3 root
Dqos_dscp_router.sh68 tc qdisc add dev $h1 clsact
77 tc qdisc del dev $h1 clsact
84 tc qdisc add dev $h2 clsact
93 tc qdisc del dev $h2 clsact
112 tc qdisc add dev $swp1 clsact
113 tc qdisc add dev $swp2 clsact
127 tc qdisc del dev $swp2 clsact
128 tc qdisc del dev $swp1 clsact
Dqos_pfc.sh172 tc qdisc replace dev $swp1 root handle 1: \
188 tc qdisc replace dev $swp2 root handle 1: \
190 tc qdisc replace dev $swp2 parent 1:7 handle 17: \
205 tc qdisc replace dev $swp3 root handle 1: \
227 tc qdisc replace dev $swp4 root handle 1: \
279 tc qdisc del dev $swp4 root
293 tc qdisc del dev $swp3 root
305 tc qdisc del dev $swp2 parent 1:7
306 tc qdisc del dev $swp2 root
319 tc qdisc del dev $swp1 root
Dtc_flower_scale.sh15 tc qdisc add dev $h1 clsact
20 tc qdisc del dev $h1 clsact
27 tc qdisc add dev $h2 clsact
32 tc qdisc del dev $h2 clsact
/kernel/linux/linux-5.10/include/trace/events/
Dqdisc.h2 #define TRACE_SYSTEM qdisc
16 TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq,
19 TP_ARGS(qdisc, txq, packets, skb),
22 __field( struct Qdisc *, qdisc )
34 __entry->qdisc = qdisc;
39 __entry->handle = qdisc->handle;
40 __entry->parent = qdisc->parent;
/kernel/linux/linux-5.10/samples/bpf/
Ddo_hbm_test.sh90 qdisc=""
138 qdisc="fq"
159 qdisc="${i#*=}"
225 if [ "$qdisc" != "" ] ; then
228 tc qdisc del dev lo root > /dev/null 2>&1
229 tc qdisc add dev lo root netem delay $netem\ms > /dev/null 2>&1
230 elif [ "$qdisc" != "" ] ; then
231 tc qdisc del dev eth0 root > /dev/null 2>&1
232 tc qdisc add dev eth0 root $qdisc > /dev/null 2>&1
400 tc qdisc del dev lo root > /dev/null 2>&1
[all …]
/kernel/linux/linux-5.10/tools/testing/selftests/net/forwarding/
Dsch_tbf_etsprio.sh14 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
16 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
27 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
29 tc qdisc del dev $swp2 root
Dskbedit_priority.sh63 tc qdisc add dev $swp1 clsact
64 tc qdisc add dev $swp2 clsact
65 tc qdisc add dev $swp2 root handle 10: \
71 tc qdisc del dev $swp2 root
72 tc qdisc del dev $swp2 clsact
73 tc qdisc del dev $swp1 clsact
Dmirror_topo_lib.sh49 tc qdisc add dev $h3 clsact
54 tc qdisc del dev $h3 clsact
71 tc qdisc add dev $swp1 clsact
76 tc qdisc del dev $swp1 clsact
Dpedit_l4port.sh48 tc qdisc add dev $h2 clsact
53 tc qdisc del dev $h2 clsact
65 tc qdisc add dev $swp1 clsact
66 tc qdisc add dev $swp2 clsact
71 tc qdisc del dev $swp2 clsact
72 tc qdisc del dev $swp1 clsact
/kernel/linux/linux-5.10/Documentation/networking/
Dmultiqueue.rst32 default pfifo_fast qdisc. This qdisc supports one qdisc per hardware queue.
33 A new round-robin qdisc, sch_multiq also supports multiple hardware queues. The
34 qdisc is responsible for classifying the skb's and then directing the skb's to
42 On qdisc load, the number of bands is based on the number of queues on the
51 qdiscs. To add the MULTIQ qdisc to your network device, assuming the device
54 # tc qdisc add dev eth0 root handle 1: multiq
56 The qdisc will allocate the number of bands to equal the number of queues that
57 the device reports, and bring the qdisc online. Assuming eth0 has 4 Tx
/kernel/linux/linux-5.10/tools/testing/selftests/netfilter/
Dconntrack_vrf.sh153 local qdisc=$1
155 if [ "$qdisc" != "default" ]; then
156 tc -net $ns0 qdisc add dev tvrf root $qdisc
193 echo "PASS: iperf3 connect with masquerade + sport rewrite on vrf device ($qdisc qdisc)"
199 if [ "$qdisc" != "default" ]; then
200 tc -net $ns0 qdisc del dev tvrf root

1234567