Home
last modified time | relevance | path

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

1234567

/Linux-v5.15/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 …]
/Linux-v5.15/net/sched/
Dsch_generic.c576 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
583 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
598 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc),
626 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument
632 qdisc->enqueue = NULL; in noqueue_init()
670 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument
674 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue()
682 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue()
683 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue()
685 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.c139 struct Qdisc *qdisc; in mqprio_init() local
228 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init()
232 if (!qdisc) in mqprio_init()
235 priv->qdiscs[i] = qdisc; in mqprio_init()
236 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init()
293 struct Qdisc *qdisc, *old; in mqprio_attach() local
298 qdisc = priv->qdiscs[ntx]; in mqprio_attach()
299 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mqprio_attach()
303 qdisc_hash_add(qdisc, false); in mqprio_attach()
389 struct Qdisc *qdisc; in mqprio_dump() local
[all …]
Dsch_cbs.c84 struct Qdisc *qdisc; member
109 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_offload() local
111 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload()
118 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_soft() local
128 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_soft()
179 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_soft() local
207 skb = cbs_child_dequeue(sch, qdisc); in cbs_dequeue_soft()
234 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_offload() local
236 return cbs_child_dequeue(sch, qdisc); in cbs_dequeue_offload()
347 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()
160 qdisc_purge_queue(cl->qdisc); in drr_delete_class()
218 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class()
226 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()
417 if (q->qdisc != &noop_qdisc) { in tbf_change()
418 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change()
435 qdisc_tree_flush_backlog(q->qdisc); in tbf_change()
436 qdisc_put(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_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 …]
/Linux-v5.15/include/net/
Dsch_generic.h126 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
128 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc()
130 refcount_inc(&qdisc->refcnt); in qdisc_refcount_inc()
137 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz() argument
139 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc_nz()
140 return qdisc; in qdisc_refcount_inc_nz()
141 if (refcount_inc_not_zero(&qdisc->refcnt)) in qdisc_refcount_inc_nz()
142 return qdisc; in qdisc_refcount_inc_nz()
146 static inline bool qdisc_is_running(struct Qdisc *qdisc) in qdisc_is_running() argument
148 if (qdisc->flags & TCQ_F_NOLOCK) in qdisc_is_running()
[all …]
/Linux-v5.15/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;
51 TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq, struct sk_buff *skb),
53 TP_ARGS(qdisc, txq, skb),
56 __field(struct Qdisc *, qdisc)
[all …]
/Linux-v5.15/tools/testing/selftests/drivers/net/mlxsw/
Dtc_restrictions.sh43 tc qdisc add dev $swp1 ingress_block 22 clsact
50 tc qdisc add dev $swp2 ingress_block 22 clsact
53 tc qdisc del dev $swp2 clsact
55 tc qdisc add dev $swp2 egress_block 22 clsact
60 tc qdisc add dev $swp2 egress_block 22 clsact
67 tc qdisc del dev $swp1 clsact
69 tc qdisc add dev $swp1 egress_block 22 clsact
78 tc qdisc del dev $swp2 clsact
79 tc qdisc del dev $swp1 clsact
91 tc qdisc add dev $swp1 ingress_block 22 clsact
[all …]
Dqos_headroom.sh169 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
171 tc qdisc delete dev $swp root
249 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
255 tc qdisc delete dev $swp root
259 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
261 tc qdisc delete dev $swp root
277 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
291 tc qdisc replace dev $swp root handle 1: bfifo limit 1M
299 tc qdisc replace dev $swp root handle 2: prio bands 8
304 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
/Linux-v5.15/samples/bpf/
Ddo_hbm_test.sh90 qdisc=""
148 qdisc="fq"
169 qdisc="${i#*=}"
236 if [ "$qdisc" != "" ] ; then
239 tc qdisc del dev lo root > /dev/null 2>&1
240 tc qdisc add dev lo root netem delay $netem\ms > /dev/null 2>&1
241 elif [ "$qdisc" != "" ] ; then
242 tc qdisc del dev eth0 root > /dev/null 2>&1
243 tc qdisc add dev eth0 root $qdisc > /dev/null 2>&1
411 tc qdisc del dev lo root > /dev/null 2>&1
[all …]
/Linux-v5.15/tools/testing/selftests/net/forwarding/
Dtc_mpls_l2vpn.sh81 tc qdisc add dev $edge1 ingress
89 tc qdisc add dev $mpls1 ingress
102 tc qdisc del dev $mpls1 ingress
105 tc qdisc del dev $edge1 ingress
110 tc qdisc add dev $edge2 ingress
118 tc qdisc add dev $mpls2 ingress
131 tc qdisc del dev $mpls2 ingress
134 tc qdisc del dev $edge2 ingress
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
/Linux-v5.15/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
/Linux-v5.15/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_qdisc.c102 mlxsw_sp_qdisc_walk(struct mlxsw_sp_qdisc *qdisc, in mlxsw_sp_qdisc_walk() argument
111 tmp = pre(qdisc, data); in mlxsw_sp_qdisc_walk()
116 if (qdisc->ops) { in mlxsw_sp_qdisc_walk()
117 for (i = 0; i < qdisc->num_classes; i++) { in mlxsw_sp_qdisc_walk()
118 tmp = &qdisc->qdiscs[i]; in mlxsw_sp_qdisc_walk()
119 if (qdisc->ops) { in mlxsw_sp_qdisc_walk()
131 mlxsw_sp_qdisc_walk_cb_find(struct mlxsw_sp_qdisc *qdisc, void *data) in mlxsw_sp_qdisc_walk_cb_find() argument
135 if (qdisc->ops && TC_H_MAJ(qdisc->handle) == TC_H_MAJ(parent)) { in mlxsw_sp_qdisc_walk_cb_find()
136 if (qdisc->ops->find_class) in mlxsw_sp_qdisc_walk_cb_find()
137 return qdisc->ops->find_class(qdisc, parent); in mlxsw_sp_qdisc_walk_cb_find()
[all …]

1234567