1 --- a/include/linux/pkt_sched.h
2 +++ b/include/linux/pkt_sched.h
3 @@ -193,6 +193,33 @@ struct tc_sfq_xstats {
12 + TCA_SFQ_HASH_CLASSIC,
15 + TCA_SFQ_HASH_FWMARK,
17 + TCA_SFQ_HASH_CTORIGDST,
18 + TCA_SFQ_HASH_CTORIGSRC,
19 + TCA_SFQ_HASH_CTREPLDST,
20 + TCA_SFQ_HASH_CTREPLSRC,
21 + TCA_SFQ_HASH_CTNATCHG,
26 + unsigned quantum; /* Bytes per round allocated to flow */
27 + int perturb_period; /* Period of hash perturbation */
28 + __u32 limit; /* Maximal packets in queue */
29 + unsigned divisor; /* Hash divisor */
30 + unsigned flows; /* Maximal number of flows */
31 + unsigned hash_kind; /* Hash function to use for flow identification */
37 @@ -633,4 +660,84 @@ struct tc_qfq_stats {
52 +#define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1)
54 +struct tc_codel_xstats {
55 + __u32 maxpacket; /* largest packet we've seen so far */
56 + __u32 count; /* how many drops we've done since the last time we
57 + * entered dropping state
59 + __u32 lastcount; /* count at entry to dropping state */
60 + __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */
61 + __s32 drop_next; /* time to drop next packet */
62 + __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */
63 + __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */
64 + __u32 dropping; /* are we in dropping state ? */
70 + TCA_FQ_CODEL_UNSPEC,
71 + TCA_FQ_CODEL_TARGET,
73 + TCA_FQ_CODEL_INTERVAL,
76 + TCA_FQ_CODEL_QUANTUM,
80 +#define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1)
83 + TCA_FQ_CODEL_XSTATS_QDISC,
84 + TCA_FQ_CODEL_XSTATS_CLASS,
87 +struct tc_fq_codel_qd_stats {
88 + __u32 maxpacket; /* largest packet we've seen so far */
89 + __u32 drop_overlimit; /* number of time max qdisc
90 + * packet limit was hit
92 + __u32 ecn_mark; /* number of packets we ECN marked
93 + * instead of being dropped
95 + __u32 new_flow_count; /* number of time packets
96 + * created a 'new flow'
98 + __u32 new_flows_len; /* count of flows in new list */
99 + __u32 old_flows_len; /* count of flows in old list */
102 +struct tc_fq_codel_cl_stats {
104 + __u32 ldelay; /* in-queue delay seen by most recently
113 +struct tc_fq_codel_xstats {
116 + struct tc_fq_codel_qd_stats qdisc_stats;
117 + struct tc_fq_codel_cl_stats class_stats;