39 #include <linux/module.h>
40 #include <linux/types.h>
41 #include <linux/kernel.h>
42 #include <linux/errno.h>
43 #include <linux/netdevice.h>
96 return qdisc_enqueue_tail(skb, sch);
99 return qdisc_reshape_fail(skb, sch);
106 if (qdisc_is_throttled(sch))
114 qdisc_throttled(sch);
120 return qdisc_dequeue_head(sch);
137 u32 pkt_limit = qdisc_dev(sch)->tx_queue_len ? : 100;
138 q->
limit = pkt_limit * psched_mtu(qdisc_dev(sch));
142 if (nla_len(opt) <
sizeof(*ctl))
148 qdisc_throttled(sch);
162 static int plug_change(
struct Qdisc *sch,
struct nlattr *opt)
171 if (nla_len(opt) <
sizeof(*msg))
180 qdisc_throttled(sch);
189 qdisc_unthrottled(sch);
197 qdisc_unthrottled(sch);
214 .enqueue = plug_enqueue,
215 .dequeue = plug_dequeue,
216 .peek = qdisc_peek_head,
218 .change = plug_change,
222 static int __init plug_module_init(
void)
227 static void __exit plug_module_exit(
void)