mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:44:45 +01:00
To enable the cake_mq qdisc to reuse code from the mq qdisc, export a bunch of functions from sch_mq. Split common functionality out from some functions so it can be composed with other code, and export other functions wholesale. To discourage wanton reuse, put the symbols into a new NET_SCHED_INTERNAL namespace, and a sch_priv.h header file. No functional change intended. Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com> Link: https://patch.msgid.link/20260109-mq-cake-sub-qdisc-v8-1-8d613fece5d8@redhat.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
27 lines
899 B
C
27 lines
899 B
C
/* 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
|