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