/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/abm/ |
D | qdisc.c | 16 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/ |
D | sch_generic.c | 548 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 …]
|
D | sch_mq.c | 73 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 …]
|
D | sch_mqprio.c | 230 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 …]
|
D | sch_cbs.c | 83 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 …]
|
D | sch_drr.c | 26 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 …]
|
D | sch_tbf.c | 110 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 …]
|
D | sch_ets.c | 41 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 …]
|
D | sch_multiq.c | 63 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()
|
D | sch_red.c | 48 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/ |
D | sch_generic.h | 121 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/ |
D | tc_restrictions.sh | 41 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 …]
|
D | qos_headroom.sh | 168 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 …]
|
D | sch_red_ets.sh | 28 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
|
D | qos_dscp_router.sh | 68 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
|
D | qos_pfc.sh | 172 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
|
D | tc_flower_scale.sh | 15 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/ |
D | qdisc.h | 2 #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/ |
D | do_hbm_test.sh | 90 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/ |
D | sch_tbf_etsprio.sh | 14 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
|
D | skbedit_priority.sh | 63 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
|
D | mirror_topo_lib.sh | 49 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
|
D | pedit_l4port.sh | 48 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/ |
D | multiqueue.rst | 32 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/ |
D | conntrack_vrf.sh | 153 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
|