Home
last modified time | relevance | path

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

123456789

/linux-6.6.21/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-6.6.21/net/sched/
Dsch_generic.c628 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
635 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
650 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc),
677 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument
683 qdisc->enqueue = NULL; in noqueue_init()
721 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument
725 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue()
733 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue()
734 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue()
736 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_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.c25 struct Qdisc *qdisc; member
110 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
113 if (cl->qdisc == NULL) in drr_change_class()
114 cl->qdisc = &noop_qdisc; in drr_change_class()
116 qdisc_hash_add(cl->qdisc, true); in drr_change_class()
123 qdisc_put(cl->qdisc); in drr_change_class()
142 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_mqprio.c353 struct Qdisc *qdisc; in mqprio_init() local
400 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init()
404 if (!qdisc) in mqprio_init()
407 priv->qdiscs[i] = qdisc; in mqprio_init()
408 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init()
438 struct Qdisc *qdisc, *old; in mqprio_attach() local
443 qdisc = priv->qdiscs[ntx]; in mqprio_attach()
444 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mqprio_attach()
448 qdisc_hash_add(qdisc, false); in mqprio_attach()
561 struct Qdisc *qdisc; in mqprio_dump() local
[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()
427 first = !cl->qdisc->q.qlen; in ets_qdisc_enqueue()
428 err = qdisc_enqueue(skb, cl->qdisc, to_free); in ets_qdisc_enqueue()
467 skb = qdisc_dequeue_peeked(cl->qdisc); in ets_qdisc_dequeue()
476 skb = cl->qdisc->ops->peek(cl->qdisc); in ets_qdisc_dequeue()
478 qdisc_warn_nonwc(__func__, cl->qdisc); in ets_qdisc_dequeue()
[all …]
Dsch_tbf.c111 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */ member
224 ret = qdisc_enqueue(segs, q->qdisc, to_free); in tbf_segment()
252 ret = qdisc_enqueue(skb, q->qdisc, to_free); in tbf_enqueue()
274 skb = q->qdisc->ops->peek(q->qdisc); in tbf_dequeue()
297 skb = qdisc_dequeue_peeked(q->qdisc); in tbf_dequeue()
333 qdisc_reset(q->qdisc); in tbf_reset()
431 if (q->qdisc != &noop_qdisc) { in tbf_change()
432 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change()
449 qdisc_tree_flush_backlog(q->qdisc); in tbf_change()
450 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()
/linux-6.6.21/include/net/
Dsch_generic.h133 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
135 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc()
137 refcount_inc(&qdisc->refcnt); in qdisc_refcount_inc()
140 static inline bool qdisc_refcount_dec_if_one(struct Qdisc *qdisc) in qdisc_refcount_dec_if_one() argument
142 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_dec_if_one()
144 return refcount_dec_if_one(&qdisc->refcnt); in qdisc_refcount_dec_if_one()
151 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz() argument
153 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc_nz()
154 return qdisc; in qdisc_refcount_inc_nz()
155 if (refcount_inc_not_zero(&qdisc->refcnt)) in qdisc_refcount_inc_nz()
[all …]
/linux-6.6.21/tools/testing/selftests/net/forwarding/
Dsch_tbf_etsprio.sh17 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
19 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
32 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
34 tc qdisc del dev $swp2 root
43 tc qdisc replace dev $swp2 root handle 1: \
45 tc qdisc replace dev $swp2 parent 1:1 handle 10: \
47 tc qdisc replace dev $swp2 parent 10:3 handle 103: \
49 tc qdisc replace dev $swp2 parent 10:2 handle 102: \
51 tc qdisc replace dev $swp2 parent 10:1 handle 101: \
57 tc qdisc del dev $swp2 root
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
Dskbedit_priority.sh65 tc qdisc add dev $swp1 clsact
66 tc qdisc add dev $swp2 clsact
67 tc qdisc add dev $swp2 root handle 10: \
73 tc qdisc del dev $swp2 root
74 tc qdisc del dev $swp2 clsact
75 tc qdisc del dev $swp1 clsact
Dpedit_ip.sh47 tc qdisc add dev $h2 clsact
52 tc qdisc del dev $h2 clsact
64 tc qdisc add dev $swp1 clsact
65 tc qdisc add dev $swp2 clsact
70 tc qdisc del dev $swp2 clsact
71 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-6.6.21/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-6.6.21/tools/testing/selftests/drivers/net/mlxsw/
Dtc_restrictions.sh44 tc qdisc add dev $swp1 ingress_block 22 clsact
51 tc qdisc add dev $swp2 ingress_block 22 clsact
54 tc qdisc del dev $swp2 clsact
56 tc qdisc add dev $swp2 egress_block 22 clsact
61 tc qdisc add dev $swp2 egress_block 22 clsact
68 tc qdisc del dev $swp1 clsact
70 tc qdisc add dev $swp1 egress_block 22 clsact
79 tc qdisc del dev $swp2 clsact
80 tc qdisc del dev $swp1 clsact
92 tc qdisc add dev $swp1 ingress_block 22 clsact
[all …]
Dsch_offload.sh57 tc qdisc add dev $h1 $locus handle $handle \
60 tc qdisc del dev $h1 $locus
68 tc qdisc add dev $h1 $locus handle $handle \
71 tc qdisc del dev $h1 $locus
79 tc qdisc add dev $h1 $locus handle $handle \
82 tc qdisc del dev $h1 $locus
90 tc qdisc add dev $h1 $locus handle $handle \
93 tc qdisc del dev $h1 $locus
101 tc qdisc add dev $h1 $locus handle $handle pfifo limit 100K
103 tc qdisc del dev $h1 $locus
[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 parent 1: handle 10: $QDISC \
36 tc qdisc add dev $swp3 parent 10:8 handle 108: red \
45 tc qdisc add dev $swp3 parent 10:7 handle 107: red \
60 tc qdisc del dev $swp3 parent 10:8
65 tc qdisc del dev $swp3 parent 10:7
70 tc qdisc del dev $swp3 parent 1:
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
102 tc qdisc add dev $swp1 clsact
103 tc qdisc add dev $swp2 clsact
114 tc qdisc del dev $swp2 clsact
115 tc qdisc del dev $swp1 clsact
Drif_mac_profiles.sh19 tc qdisc add dev $h1 ingress
24 tc qdisc del dev $h1 ingress
35 tc qdisc add dev $h2 ingress
40 tc qdisc del dev $h2 ingress
51 tc qdisc add dev $rp1 clsact
52 tc qdisc add dev $rp2 clsact
61 tc qdisc del dev $rp2 clsact
62 tc qdisc del dev $rp1 clsact
Dqos_pfc.sh174 tc qdisc replace dev $swp1 root handle 1: \
190 tc qdisc replace dev $swp2 root handle 1: \
192 tc qdisc replace dev $swp2 parent 1:7 handle 17: \
207 tc qdisc replace dev $swp3 root handle 1: \
229 tc qdisc replace dev $swp4 root handle 1: \
294 tc qdisc del dev $swp4 root
308 tc qdisc del dev $swp3 root
320 tc qdisc del dev $swp2 parent 1:7
321 tc qdisc del dev $swp2 root
334 tc qdisc del dev $swp1 root
/linux-6.6.21/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-6.6.21/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

123456789