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