xref: /linux/include/net/sch_priv.h (revision d8f87aa5fa0a4276491fa8ef436cd22605a3f9ba)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __NET_SCHED_PRIV_H
3 #define __NET_SCHED_PRIV_H
4 
5 #include <net/sch_generic.h>
6 
7 struct mq_sched {
8 	struct Qdisc		**qdiscs;
9 };
10 
11 int mq_init_common(struct Qdisc *sch, struct nlattr *opt,
12 		   struct netlink_ext_ack *extack,
13 		   const struct Qdisc_ops *qdisc_ops);
14 void mq_destroy_common(struct Qdisc *sch);
15 void mq_attach(struct Qdisc *sch);
16 void mq_dump_common(struct Qdisc *sch, struct sk_buff *skb);
17 struct netdev_queue *mq_select_queue(struct Qdisc *sch,
18 				     struct tcmsg *tcm);
19 struct Qdisc *mq_leaf(struct Qdisc *sch, unsigned long cl);
20 unsigned long mq_find(struct Qdisc *sch, u32 classid);
21 int mq_dump_class(struct Qdisc *sch, unsigned long cl,
22 		  struct sk_buff *skb, struct tcmsg *tcm);
23 int mq_dump_class_stats(struct Qdisc *sch, unsigned long cl,
24 			struct gnet_dump *d);
25 void mq_walk(struct Qdisc *sch, struct qdisc_walker *arg);
26 
27 #endif
28