Home
last modified time | relevance | path

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

123

/linux/include/net/
H A Dsch_generic.h30 struct Qdisc;
69 struct Qdisc { struct
71 struct Qdisc *sch, argument
73 struct sk_buff * (*dequeue)(struct Qdisc *sch); argument
115 struct Qdisc *next_sched; argument
145 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
152 static inline bool qdisc_refcount_dec_if_one(struct Qdisc *qdisc) in qdisc_refcount_dec_if_one()
163 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz()
176 static inline bool qdisc_is_running(struct Qdisc *qdisc) in qdisc_is_running()
183 static inline bool nolock_qdisc_is_empty(const struct Qdisc *qdisc) in nolock_qdisc_is_empty()
[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()
181 __tcf_bind_filter(struct Qdisc *q, struct tcf_result *r, unsigned long base) in __tcf_bind_filter()
194 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 *sc
[all...]
H A Dsch_cbs.c81 int (*enqueue)(struct sk_buff *skb, struct Qdisc *sch,
83 struct sk_buff *(*dequeue)(struct Qdisc *sch);
84 struct Qdisc *qdisc;
88 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch, in cbs_child_enqueue()
89 struct Qdisc *child, in cbs_child_enqueue()
105 static int cbs_enqueue_offload(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_offload()
109 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_offload()
114 static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_soft()
118 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_soft()
131 static int cbs_enqueue(struct sk_buff *skb, struct Qdisc *sc
[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_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_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()
159 static struct sk_buff *red_dequeue(struct Qdisc *sch) in red_dequeue()
163 struct Qdisc *child = q->qdisc; in red_dequeue()
177 static struct sk_buff *red_peek(struct Qdisc *sch) in red_peek()
180 struct Qdisc *child = q->qdisc; in red_peek()
185 static void red_reset(struct Qdisc *sch) in red_reset()
193 static int red_offload(struct Qdisc *sc
[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()
143 static void drr_destroy_class(struct Qdisc *sch, struct drr_class *cl) in drr_destroy_class()
150 static int drr_delete_class(struct Qdisc *sch, unsigned long arg, in drr_delete_class()
172 static unsigned long drr_search_class(struct Qdisc *sch, u32 classid) in drr_search_class()
177 static struct tcf_block *drr_tcf_block(struct Qdisc *sch, unsigned long cl, in drr_tcf_block()
190 static unsigned long drr_bind_tcf(struct Qdisc *sch, unsigned long parent, in drr_bind_tcf()
201 static void drr_unbind_tcf(struct Qdisc *sch, unsigned long arg) in drr_unbind_tcf()
208 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_generic.c40 void __tcf_kfree_skb_list(struct sk_buff *skb, struct Qdisc *q, in __tcf_kfree_skb_list()
65 static void qdisc_maybe_clear_missed(struct Qdisc *q, in qdisc_maybe_clear_missed()
99 static inline struct sk_buff *__skb_dequeue_bad_txq(struct Qdisc *q) in __skb_dequeue_bad_txq()
135 static inline struct sk_buff *qdisc_dequeue_skb_bad_txq(struct Qdisc *q) in qdisc_dequeue_skb_bad_txq()
145 static inline void qdisc_enqueue_skb_bad_txq(struct Qdisc *q, in qdisc_enqueue_skb_bad_txq()
169 static inline void dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q) in dev_requeue_skb()
205 static void try_bulk_dequeue_skb(struct Qdisc *q, in try_bulk_dequeue_skb()
232 static void try_bulk_dequeue_skb_slow(struct Qdisc *q, in try_bulk_dequeue_skb_slow()
258 static struct sk_buff *dequeue_skb(struct Qdisc *q, bool *validate, in dequeue_skb()
344 bool sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, in sch_direct_xmit()
[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()
163 static void tbf_offload_destroy(struct Qdisc *sch) in tbf_offload_destroy()
178 static int tbf_offload_dump(struct Qdisc *sch) in tbf_offload_dump()
192 static void tbf_offload_graft(struct Qdisc *sch, struct Qdisc *new, in tbf_offload_graft()
193 struct Qdisc *old, struct netlink_ext_ack *extack) in tbf_offload_graft()
210 static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch, in tbf_segment()
251 static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch, in tbf_enqueue()
281 static struct sk_buff *tbf_dequeue(struct Qdisc *sc in tbf_dequeue()
[all...]
H A Dsch_sfb.c53 struct Qdisc *qdisc;
282 static int sfb_enqueue(struct sk_buff *skb, struct Qdisc *sch, in sfb_enqueue()
289 struct Qdisc *child = q->qdisc; in sfb_enqueue()
438 static struct sk_buff *sfb_dequeue(struct Qdisc *sch) in sfb_dequeue()
441 struct Qdisc *child = q->qdisc; in sfb_dequeue()
456 static struct sk_buff *sfb_peek(struct Qdisc *sch) in sfb_peek()
459 struct Qdisc *child = q->qdisc; in sfb_peek()
466 static void sfb_reset(struct Qdisc *sch) in sfb_reset()
478 static void sfb_destroy(struct Qdisc *sch) in sfb_destroy()
502 static int sfb_change(struct Qdisc *sch, struct nlattr *opt, in sfb_change()
[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 *sc
[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()
630 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc, in qdisc_watchdog_init_clockid()
[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()
259 struct Qdisc *sch = ctx; in dequeue_func()
278 struct Qdisc *sch = ctx; in drop_func()
284 static struct sk_buff *__fq_codel_dequeue(struct Qdisc *sch) in __fq_codel_dequeue()
324 static void fq_codel_dequeue_drop(struct Qdisc *sch) in fq_codel_dequeue_drop()
336 static struct sk_buff *fq_codel_dequeue(struct Qdisc *sch) in fq_codel_dequeue()
347 static struct sk_buff *fq_codel_peek(struct Qdisc *sch) in fq_codel_peek()
373 static void fq_codel_reset(struct Qdisc *sch) in fq_codel_reset()
[all …]
H A Dsch_htb.c127 struct Qdisc *q;
180 struct Qdisc **direct_qdiscs;
187 static inline struct htb_class *htb_find(u32 handle, struct Qdisc *sch) in htb_find()
198 static unsigned long htb_search(struct Qdisc *sch, u32 handle) in htb_search()
220 static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch, in htb_classify()
620 static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch, in htb_enqueue()
942 static struct sk_buff *htb_dequeue(struct Qdisc *sch) in htb_dequeue()
1002 static void htb_reset(struct Qdisc *sch) in htb_reset()
1040 struct Qdisc *sch = q->watchdog.qdisc; in htb_work_func()
1052 static int htb_init(struct Qdisc *sch, struct nlattr *opt, in htb_init()
[all …]
H A Dsch_teql.c55 struct Qdisc __rcu *slaves;
65 struct Qdisc __rcu *next;
77 teql_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in teql_enqueue()
91 teql_dequeue(struct Qdisc *sch) in teql_dequeue()
96 struct Qdisc *q; in teql_dequeue()
118 teql_peek(struct Qdisc *sch) in teql_peek()
125 teql_reset(struct Qdisc *sch) in teql_reset()
133 teql_destroy(struct Qdisc *sch) in teql_destroy()
135 struct Qdisc *q, *prev; in teql_destroy()
149 struct Qdisc *head, *next; in teql_destroy()
[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()
439 static int dualpi2_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in dualpi2_qdisc_enqueue()
514 static struct sk_buff *dequeue_packet(struct Qdisc *sch, in dequeue_packet()
572 struct Qdisc *sch, enum qdisc_drop_reason reason) in drop_and_retry()
580 static struct sk_buff *__dualpi2_qdisc_dequeue(struct Qdisc *sch) in __dualpi2_qdisc_dequeue()
[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()
73 static void codel_dequeue_drop(struct Qdisc *sch) in codel_qdisc_dequeue()
85 static struct sk_buff *codel_qdisc_dequeue(struct Qdisc *sch) in codel_qdisc_enqueue()
96 static struct sk_buff *codel_peek(struct Qdisc *sch)
116 static int codel_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in codel_change()
138 static int codel_change(struct Qdisc *sch, struct nlattr *opt, in codel_change()
198 static int codel_init(struct Qdisc *sch, struct nlattr *opt, in codel_dump()
227 static int codel_dump(struct Qdisc *sc in codel_dump_stats()
[all...]
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 *sc
[all...]
/linux/tools/testing/selftests/bpf/progs/
H A Dbpf_qdisc_fail__untrusted_write.c12 int BPF_PROG(untrusted_write, struct sk_buff *skb, struct Qdisc *sch, in BPF_PROG()
15 struct Qdisc *next = sch->next_sched; in BPF_PROG()
32 struct sk_buff *BPF_PROG(bpf_qdisc_test_dequeue, struct Qdisc *sch) in BPF_PROG()
39 int BPF_PROG(bpf_qdisc_test_init, struct Qdisc *sch, struct nlattr *opt, in BPF_PROG()
47 void BPF_PROG(bpf_qdisc_test_reset, struct Qdisc *sch) in BPF_PROG()
53 void BPF_PROG(bpf_qdisc_test_destroy, struct Qdisc *sch) in BPF_PROG()

123