summaryrefslogtreecommitdiff
path: root/include/net/sch_priv.h
blob: 4789f668ae8743a9acd1769e25b61e8d2a0d9e69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __NET_SCHED_PRIV_H
#define __NET_SCHED_PRIV_H

#include <net/sch_generic.h>

struct mq_sched {
	struct Qdisc		**qdiscs;
};

int mq_init_common(struct Qdisc *sch, struct nlattr *opt,
		   struct netlink_ext_ack *extack,
		   const struct Qdisc_ops *qdisc_ops);
void mq_destroy_common(struct Qdisc *sch);
void mq_attach(struct Qdisc *sch);
void mq_dump_common(struct Qdisc *sch, struct sk_buff *skb);
struct netdev_queue *mq_select_queue(struct Qdisc *sch,
				     struct tcmsg *tcm);
struct Qdisc *mq_leaf(struct Qdisc *sch, unsigned long cl);
unsigned long mq_find(struct Qdisc *sch, u32 classid);
int mq_dump_class(struct Qdisc *sch, unsigned long cl,
		  struct sk_buff *skb, struct tcmsg *tcm);
int mq_dump_class_stats(struct Qdisc *sch, unsigned long cl,
			struct gnet_dump *d);
void mq_walk(struct Qdisc *sch, struct qdisc_walker *arg);

#endif