Home
last modified time | relevance | path

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

123

/linux/include/net/
H A Dsch_generic.h66 struct Qdisc { struct
68 struct Qdisc *sch, argument
70 struct sk_buff * (*dequeue)(struct Qdisc *sch); argument
111 struct Qdisc *next_sched; argument
141 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
148 static inline bool qdisc_refcount_dec_if_one(struct Qdisc *qdisc) in qdisc_refcount_dec_if_one()
159 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz()
172 static inline bool qdisc_is_running(struct Qdisc *qdisc) in qdisc_is_running()
179 static inline bool nolock_qdisc_is_empty(const struct Qdisc *qdisc) in nolock_qdisc_is_empty()
184 static inline bool qdisc_is_percpu_stats(const struct Qdisc *q) in qdisc_is_percpu_stats()
[all …]
H A Dpkt_sched.h20 int (*fn)(struct Qdisc *, unsigned long cl, struct qdisc_walker *);
25 const struct Qdisc * : (const void *)&q->privdata, \
26 struct Qdisc * : (void *)&q->privdata)
62 struct Qdisc *qdisc; in psched_get_time()
65 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc,
67 void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc);
90 int fifo_set_limit(struct Qdisc *q, unsigned int limit);
91 struct Qdisc *fifo_create_dflt(struct Qdisc *sch, struct Qdisc_ops *ops,
102 void qdisc_hash_add(struct Qdisc *
[all...]
H A Dpkt_cls.h56 struct tcf_proto __rcu **p_filter_chain, struct Qdisc *q,
58 int tcf_block_get_ext(struct tcf_block **p_block, struct Qdisc *q,
62 void tcf_block_put_ext(struct tcf_block *block, struct Qdisc *q,
86 static inline struct Qdisc *tcf_block_q(struct tcf_block *block) in tcf_block_q()
123 struct tcf_proto __rcu **p_filter_chain, struct Qdisc *q, in tcf_block_get()
130 int tcf_block_get_ext(struct tcf_block **p_block, struct Qdisc *q, in tcf_block_get_ext()
142 void tcf_block_put_ext(struct tcf_block *block, struct Qdisc *q, in tcf_block_put_ext()
147 static inline struct Qdisc *tcf_block_q(struct tcf_block *block) in tcf_block_q()
169 __tcf_bind_filter(struct Qdisc *q, struct tcf_result *r, unsigned long base) in __tcf_bind_filter()
182 struct Qdisc *q = tp->chain->block->q; in tcf_bind_filter()
[all …]
/linux/net/sched/
H A Dsch_multiq.c25 struct Qdisc **queues;
29 static struct Qdisc *
30 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in multiq_classify()
60 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch, in multiq_enqueue()
63 struct Qdisc *qdisc; in multiq_enqueue()
87 static struct sk_buff *multiq_dequeue(struct Qdisc *sch) in multiq_dequeue()
90 struct Qdisc *qdisc; in multiq_dequeue()
118 static struct sk_buff *multiq_peek(struct Qdisc *sch) in multiq_peek()
122 struct Qdisc *qdisc; in multiq_peek()
148 multiq_reset(struct Qdisc *sch) in multiq_reset()
[all …]
H A Dsch_prio.c26 struct Qdisc *queues[TCQ_PRIO_BANDS];
30 static struct Qdisc *
31 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify()
69 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in prio_enqueue()
72 struct Qdisc *qdisc; in prio_enqueue()
97 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek()
103 struct Qdisc *qdisc = q->queues[prio]; in prio_peek()
111 static struct sk_buff *prio_dequeue(struct Qdisc *sch) in prio_dequeue()
117 struct Qdisc *qdisc = q->queues[prio]; in prio_dequeue()
131 prio_reset(struct Qdisc *sch) in prio_reset()
[all …]
H A Dsch_mq.c20 static int mq_offload(struct Qdisc *sch, enum tc_mq_command cmd) in mq_offload()
34 static int mq_offload_stats(struct Qdisc *sch) in mq_offload_stats()
48 void mq_destroy_common(struct Qdisc *sch) in mq_destroy_common()
62 static void mq_destroy(struct Qdisc *sch) in mq_destroy()
68 int mq_init_common(struct Qdisc *sch, struct nlattr *opt, in mq_init_common()
75 struct Qdisc *qdisc; in mq_init_common()
107 static int mq_init(struct Qdisc *sch, struct nlattr *opt, in mq_init()
120 void mq_attach(struct Qdisc *sch) in mq_attach()
124 struct Qdisc *qdisc, *old; in mq_attach()
143 void mq_dump_common(struct Qdisc *sch, struct sk_buff *skb) in mq_dump_common()
[all …]
H A Dsch_ingress.c24 static struct Qdisc *ingress_leaf(struct Qdisc *sch, unsigned long arg) in ingress_leaf()
29 static unsigned long ingress_find(struct Qdisc *sch, u32 classid) in ingress_find()
34 static unsigned long ingress_bind_filter(struct Qdisc *sch, in ingress_bind_filter()
40 static void ingress_unbind_filter(struct Qdisc *sch, unsigned long cl) in ingress_unbind_filter()
44 static void ingress_walk(struct Qdisc *sch, struct qdisc_walker *walker) in ingress_walk()
48 static struct tcf_block *ingress_tcf_block(struct Qdisc *sch, unsigned long cl, in ingress_tcf_block()
63 static void ingress_ingress_block_set(struct Qdisc *sch, u32 block_index) in ingress_ingress_block_set()
70 static u32 ingress_ingress_block_get(struct Qdisc *sch) in ingress_ingress_block_get()
77 static int ingress_init(struct Qdisc *sch, struct nlattr *opt, in ingress_init()
112 static void ingress_destroy(struct Qdisc *sch) in ingress_destroy()
[all …]
H A Dsch_fifo.c19 static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in bfifo_enqueue()
29 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_enqueue()
38 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_tail_enqueue()
59 static void fifo_offload_init(struct Qdisc *sch) in fifo_offload_init()
73 static void fifo_offload_destroy(struct Qdisc *sch) in fifo_offload_destroy()
87 static int fifo_offload_dump(struct Qdisc *sch) in fifo_offload_dump()
100 static int __fifo_init(struct Qdisc *sch, struct nlattr *opt, in __fifo_init()
135 static int fifo_init(struct Qdisc *sch, struct nlattr *opt, in fifo_init()
148 static int fifo_hd_init(struct Qdisc *sch, struct nlattr *opt, in fifo_hd_init()
154 static void fifo_destroy(struct Qdisc *sch) in fifo_destroy()
[all …]
H A Dsch_red.c44 struct Qdisc *sch;
48 struct Qdisc *qdisc;
70 static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch, in red_enqueue()
75 struct Qdisc *child = q->qdisc; in red_enqueue()
152 static struct sk_buff *red_dequeue(struct Qdisc *sch) in red_dequeue()
156 struct Qdisc *child = q->qdisc; in red_dequeue()
170 static struct sk_buff *red_peek(struct Qdisc *sch) in red_peek()
173 struct Qdisc *child = q->qdisc; in red_peek()
178 static void red_reset(struct Qdisc *sch) in red_reset()
186 static int red_offload(struct Qdisc *sch, bool enable) in red_offload()
[all …]
H A Dsch_generic.c40 static void qdisc_maybe_clear_missed(struct Qdisc *q, in qdisc_maybe_clear_missed()
74 static inline struct sk_buff *__skb_dequeue_bad_txq(struct Qdisc *q) in __skb_dequeue_bad_txq()
110 static inline struct sk_buff *qdisc_dequeue_skb_bad_txq(struct Qdisc *q) in qdisc_dequeue_skb_bad_txq()
120 static inline void qdisc_enqueue_skb_bad_txq(struct Qdisc *q, in qdisc_enqueue_skb_bad_txq()
144 static inline void dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q) in dev_requeue_skb()
180 static void try_bulk_dequeue_skb(struct Qdisc *q, in try_bulk_dequeue_skb()
207 static void try_bulk_dequeue_skb_slow(struct Qdisc *q, in try_bulk_dequeue_skb_slow()
233 static struct sk_buff *dequeue_skb(struct Qdisc *q, bool *validate, in dequeue_skb()
319 bool sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, in sch_direct_xmit()
393 static inline bool qdisc_restart(struct Qdisc *q, int *packets, int budget) in qdisc_restart()
[all …]
H A Dsch_drr.c25 struct Qdisc *qdisc;
43 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid) in drr_find_class()
58 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class()
145 static void drr_destroy_class(struct Qdisc *sch, struct drr_class *cl) in drr_destroy_class()
152 static int drr_delete_class(struct Qdisc *sch, unsigned long arg, in drr_delete_class()
174 static unsigned long drr_search_class(struct Qdisc *sch, u32 classid) in drr_search_class()
179 static struct tcf_block *drr_tcf_block(struct Qdisc *sch, unsigned long cl, in drr_tcf_block()
192 static unsigned long drr_bind_tcf(struct Qdisc *sch, unsigned long parent, in drr_bind_tcf()
203 static void drr_unbind_tcf(struct Qdisc *sch, unsigned long arg) in drr_unbind_tcf()
210 static int drr_graft_class(struct Qdisc *sch, unsigned long arg, in drr_graft_class()
[all …]
H A Dsch_ets.c41 struct Qdisc *qdisc;
82 static int ets_quantum_parse(struct Qdisc *sch, const struct nlattr *attr, in ets_quantum_parse()
95 ets_class_from_arg(struct Qdisc *sch, unsigned long arg) in ets_class_from_arg()
104 static u32 ets_class_id(struct Qdisc *sch, const struct ets_class *cl) in ets_class_id()
112 static void ets_offload_change(struct Qdisc *sch) in ets_offload_change()
157 static void ets_offload_destroy(struct Qdisc *sch) in ets_offload_destroy()
171 static void ets_offload_graft(struct Qdisc *sch, struct Qdisc *new, in ets_offload_graft()
172 struct Qdisc *old, unsigned long arg, in ets_offload_graft()
188 static int ets_offload_dump(struct Qdisc *sch) in ets_offload_dump()
208 static int ets_class_change(struct Qdisc *sch, u32 classid, u32 parentid, in ets_class_change()
[all …]
H A Dsch_tbf.c111 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */
142 static void tbf_offload_change(struct Qdisc *sch) in tbf_offload_change()
161 static void tbf_offload_destroy(struct Qdisc *sch) in tbf_offload_destroy()
175 static int tbf_offload_dump(struct Qdisc *sch) in tbf_offload_dump()
188 static void tbf_offload_graft(struct Qdisc *sch, struct Qdisc *new, in tbf_offload_graft()
189 struct Qdisc *old, struct netlink_ext_ack *extack) in tbf_offload_graft()
205 static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch, in tbf_segment()
246 static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch, in tbf_enqueue()
276 static struct sk_buff *tbf_dequeue(struct Qdisc *sc in tbf_dequeue()
[all...]
H A Dbpf_qdisc.c29 BTF_ID_LIST_SINGLE(bpf_qdisc_ids, struct, Qdisc) in BTF_ID_LIST_SINGLE() argument
59 case offsetof(struct Qdisc, limit): in bpf_qdisc_qdisc_access()
60 *end = offsetofend(struct Qdisc, limit); in bpf_qdisc_qdisc_access()
62 case offsetof(struct Qdisc, q) + offsetof(struct qdisc_skb_head, qlen): in bpf_qdisc_qdisc_access()
63 *end = offsetof(struct Qdisc, q) + offsetofend(struct qdisc_skb_head, qlen); in bpf_qdisc_qdisc_access()
65 case offsetof(struct Qdisc, qstats) ... offsetofend(struct Qdisc, qstats) - 1: in bpf_qdisc_qdisc_access()
66 *end = offsetofend(struct Qdisc, qstats); in bpf_qdisc_qdisc_access()
145 * r1 = r1[0]; // r1 will be "struct Qdisc *sch" in BTF_ID_LIST_SINGLE()
175 * r1 = r1[0]; // r1 will be "struct Qdisc *sc in BTF_ID_LIST_SINGLE()
[all...]
H A Dsch_skbprio.c68 static int skbprio_enqueue(struct sk_buff *skb, struct Qdisc *sch, in skbprio_enqueue()
139 static struct sk_buff *skbprio_dequeue(struct Qdisc *sch) in skbprio_dequeue()
166 static int skbprio_change(struct Qdisc *sch, struct nlattr *opt, in skbprio_change()
178 static int skbprio_init(struct Qdisc *sch, struct nlattr *opt, in skbprio_init()
198 static int skbprio_dump(struct Qdisc *sch, struct sk_buff *skb) in skbprio_dump()
210 static void skbprio_reset(struct Qdisc *sch) in skbprio_reset()
223 static void skbprio_destroy(struct Qdisc *sch) in skbprio_destroy()
232 static struct Qdisc *skbprio_leaf(struct Qdisc *sch, unsigned long arg) in skbprio_leaf()
237 static unsigned long skbprio_find(struct Qdisc *sch, u32 classid) in skbprio_find()
242 static int skbprio_dump_class(struct Qdisc *sch, unsigned long cl, in skbprio_dump_class()
[all …]
H A Dsch_mqprio.c24 struct Qdisc **qdiscs;
34 static int mqprio_enable_offload(struct Qdisc *sch, in mqprio_enable_offload()
80 static void mqprio_disable_offload(struct Qdisc *sch) in mqprio_disable_offload()
95 static void mqprio_destroy(struct Qdisc *sch) in mqprio_destroy()
202 static int mqprio_parse_tc_entries(struct Qdisc *sch, struct nlattr *nlattr_opt, in mqprio_parse_tc_entries()
242 static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt, in mqprio_parse_nlattr()
345 static int mqprio_init(struct Qdisc *sch, struct nlattr *opt, in mqprio_init()
351 struct Qdisc *qdisc; in mqprio_init()
431 static void mqprio_attach(struct Qdisc *sch) in mqprio_attach()
435 struct Qdisc *qdisc, *old; in mqprio_attach()
[all …]
H A Dsch_api.c263 static struct Qdisc *qdisc_match_from_root(struct Qdisc *root, u32 handle) in qdisc_match_from_root()
265 struct Qdisc *q; in qdisc_match_from_root()
282 void qdisc_hash_add(struct Qdisc *q, bool invisible) in qdisc_hash_add()
293 void qdisc_hash_del(struct Qdisc *q) in qdisc_hash_del()
302 struct Qdisc *qdisc_lookup(struct net_device *dev, u32 handle) in qdisc_lookup()
304 struct Qdisc *q; in qdisc_lookup()
320 struct Qdisc *qdisc_lookup_rcu(struct net_device *dev, u32 handle) in qdisc_lookup_rcu()
323 struct Qdisc *q; in qdisc_lookup_rcu()
339 static struct Qdisc *qdisc_leaf(struct Qdisc *p, u32 classid, in qdisc_leaf()
616 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc, in qdisc_watchdog_init_clockid()
[all …]
H A Dsch_htb.c126 struct Qdisc *q;
179 struct Qdisc **direct_qdiscs;
186 static inline struct htb_class *htb_find(u32 handle, struct Qdisc *sch) in htb_find()
197 static unsigned long htb_search(struct Qdisc *sch, u32 handle) in htb_search()
219 static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch, in htb_classify()
619 static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch, in htb_enqueue()
940 static struct sk_buff *htb_dequeue(struct Qdisc *sch) in htb_dequeue()
1000 static void htb_reset(struct Qdisc *sch) in htb_reset()
1038 struct Qdisc *sch = q->watchdog.qdisc; in htb_work_func()
1050 static int htb_init(struct Qdisc *sch, struct nlattr *opt, in htb_init()
[all …]
H A Dsch_fq_codel.c76 static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_classify()
137 static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets, in fq_codel_drop()
185 static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_enqueue()
258 struct Qdisc *sch = ctx; in dequeue_func()
276 struct Qdisc *sch = ctx; in drop_func()
282 static struct sk_buff *fq_codel_dequeue(struct Qdisc *sch) in fq_codel_dequeue()
334 static void fq_codel_reset(struct Qdisc *sch) in fq_codel_reset()
366 static int fq_codel_change(struct Qdisc *sch, struct nlattr *opt, in fq_codel_change()
460 static void fq_codel_destroy(struct Qdisc *sch) in fq_codel_destroy()
469 static int fq_codel_init(struct Qdisc *sch, struct nlattr *opt, in fq_codel_init()
[all …]
H A Dsch_dualpi2.c71 struct Qdisc *l_queue; /* The L4S Low latency queue (L-queue) */
72 struct Qdisc *sch; /* The Classic queue (C-queue) */
147 static u64 head_enqueue_time(struct Qdisc *q) in head_enqueue_time()
208 static void dualpi2_calculate_c_protection(struct Qdisc *sch, in dualpi2_calculate_c_protection()
282 static bool must_drop(struct Qdisc *sch, struct dualpi2_sched_data *q, in must_drop()
385 static int dualpi2_enqueue_skb(struct sk_buff *skb, struct Qdisc *sch, in dualpi2_enqueue_skb()
441 static int dualpi2_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in dualpi2_qdisc_enqueue()
517 static struct sk_buff *dequeue_packet(struct Qdisc *sch, in dequeue_packet()
576 struct Qdisc *sch, enum skb_drop_reason reason) in drop_and_retry()
584 static struct sk_buff *dualpi2_qdisc_dequeue(struct Qdisc *sc in dualpi2_qdisc_dequeue()
[all...]
H A Dsch_teql.c55 struct Qdisc *slaves;
64 struct Qdisc *next;
76 teql_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in teql_enqueue()
90 teql_dequeue(struct Qdisc *sch) in teql_dequeue()
95 struct Qdisc *q; in teql_dequeue()
115 teql_peek(struct Qdisc *sch) in teql_peek()
122 teql_reset(struct Qdisc *sch) in teql_reset()
130 teql_destroy(struct Qdisc *sch) in teql_destroy()
132 struct Qdisc *q, *prev; in teql_destroy()
165 static int teql_qdisc_init(struct Qdisc *sch, struct nlattr *opt, in teql_qdisc_init()
[all …]
H A Dsch_codel.c41 struct Qdisc *sch = ctx; in dequeue_func()
53 struct Qdisc *sch = ctx; in drop_func()
59 static struct sk_buff *codel_qdisc_dequeue(struct Qdisc *sch) in codel_qdisc_dequeue()
78 static int codel_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in codel_qdisc_enqueue()
101 static int codel_change(struct Qdisc *sch, struct nlattr *opt, in codel_change()
161 static int codel_init(struct Qdisc *sch, struct nlattr *opt, in codel_init()
190 static int codel_dump(struct Qdisc *sch, struct sk_buff *skb) in codel_dump()
221 static int codel_dump_stats(struct Qdisc *sch, struct gnet_dump *d) in codel_dump_stats()
247 static void codel_reset(struct Qdisc *sch) in codel_reset()
H A Dsch_etf.c75 static bool is_packet_valid(struct Qdisc *sch, struct sk_buff *nskb) in is_packet_valid()
108 static struct sk_buff *etf_peek_timesortedlist(struct Qdisc *sch) in etf_peek_timesortedlist()
120 static void reset_watchdog(struct Qdisc *sch) in reset_watchdog()
162 static int etf_enqueue_timesortedlist(struct sk_buff *nskb, struct Qdisc *sch, in etf_enqueue_timesortedlist()
200 static void timesortedlist_drop(struct Qdisc *sch, struct sk_buff *skb, in timesortedlist_drop()
231 static void timesortedlist_remove(struct Qdisc *sch, struct sk_buff *skb) in timesortedlist_remove()
253 static struct sk_buff *etf_dequeue_timesortedlist(struct Qdisc *sch) in etf_dequeue_timesortedlist()
343 static int etf_init(struct Qdisc *sch, struct nlattr *opt, in etf_init()
417 static void timesortedlist_clear(struct Qdisc *sch) in timesortedlist_clear()
433 static void etf_reset(struct Qdisc *sch) in etf_reset()
[all …]
H A Dsch_taprio.c89 struct Qdisc **qdiscs;
90 struct Qdisc *root;
324 struct Qdisc *sch, in find_entry_to_transmit()
400 static bool is_valid_interval(struct sk_buff *skb, struct Qdisc *sch) in is_valid_interval()
468 static long get_packet_txtime(struct sk_buff *skb, struct Qdisc *sch) in get_packet_txtime()
540 static bool taprio_skb_exceeds_queue_max_sdu(struct Qdisc *sch, in taprio_skb_exceeds_queue_max_sdu()
561 static int taprio_enqueue_one(struct sk_buff *skb, struct Qdisc *sch, in taprio_enqueue_one()
562 struct Qdisc *child, struct sk_buff **to_free) in taprio_enqueue_one()
582 static int taprio_enqueue_segmented(struct sk_buff *skb, struct Qdisc *sch, in taprio_enqueue_segmented()
583 struct Qdisc *child, in taprio_enqueue_segmented()
[all …]
H A Dsch_sfq.c137 struct Qdisc *sch;
156 static unsigned int sfq_classify(struct sk_buff *skb, struct Qdisc *sch, in sfq_classify()
286 static unsigned int sfq_drop(struct Qdisc *sch, struct sk_buff **to_free) in sfq_drop()
342 sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in sfq_enqueue()
476 sfq_dequeue(struct Qdisc *sch) in sfq_dequeue()
517 sfq_reset(struct Qdisc *sch) in sfq_reset()
531 static void sfq_rehash(struct Qdisc *sch) in sfq_rehash()
604 struct Qdisc *sch = q->sch; in sfq_perturbation()
627 static int sfq_change(struct Qdisc *sch, struct nlattr *opt, in sfq_change()
762 static void sfq_destroy(struct Qdisc *sch) in sfq_destroy()
[all …]

123