diff options
Diffstat (limited to 'include/linux/pkt_sched.h')
-rw-r--r-- | include/linux/pkt_sched.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index 410b33d014d2..32aef0a439ef 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -509,6 +509,7 @@ enum { | |||
509 | TCA_NETEM_CORRUPT, | 509 | TCA_NETEM_CORRUPT, |
510 | TCA_NETEM_LOSS, | 510 | TCA_NETEM_LOSS, |
511 | TCA_NETEM_RATE, | 511 | TCA_NETEM_RATE, |
512 | TCA_NETEM_ECN, | ||
512 | __TCA_NETEM_MAX, | 513 | __TCA_NETEM_MAX, |
513 | }; | 514 | }; |
514 | 515 | ||
@@ -654,4 +655,84 @@ struct tc_qfq_stats { | |||
654 | __u32 lmax; | 655 | __u32 lmax; |
655 | }; | 656 | }; |
656 | 657 | ||
658 | /* CODEL */ | ||
659 | |||
660 | enum { | ||
661 | TCA_CODEL_UNSPEC, | ||
662 | TCA_CODEL_TARGET, | ||
663 | TCA_CODEL_LIMIT, | ||
664 | TCA_CODEL_INTERVAL, | ||
665 | TCA_CODEL_ECN, | ||
666 | __TCA_CODEL_MAX | ||
667 | }; | ||
668 | |||
669 | #define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) | ||
670 | |||
671 | struct tc_codel_xstats { | ||
672 | __u32 maxpacket; /* largest packet we've seen so far */ | ||
673 | __u32 count; /* how many drops we've done since the last time we | ||
674 | * entered dropping state | ||
675 | */ | ||
676 | __u32 lastcount; /* count at entry to dropping state */ | ||
677 | __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */ | ||
678 | __s32 drop_next; /* time to drop next packet */ | ||
679 | __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */ | ||
680 | __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */ | ||
681 | __u32 dropping; /* are we in dropping state ? */ | ||
682 | }; | ||
683 | |||
684 | /* FQ_CODEL */ | ||
685 | |||
686 | enum { | ||
687 | TCA_FQ_CODEL_UNSPEC, | ||
688 | TCA_FQ_CODEL_TARGET, | ||
689 | TCA_FQ_CODEL_LIMIT, | ||
690 | TCA_FQ_CODEL_INTERVAL, | ||
691 | TCA_FQ_CODEL_ECN, | ||
692 | TCA_FQ_CODEL_FLOWS, | ||
693 | TCA_FQ_CODEL_QUANTUM, | ||
694 | __TCA_FQ_CODEL_MAX | ||
695 | }; | ||
696 | |||
697 | #define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) | ||
698 | |||
699 | enum { | ||
700 | TCA_FQ_CODEL_XSTATS_QDISC, | ||
701 | TCA_FQ_CODEL_XSTATS_CLASS, | ||
702 | }; | ||
703 | |||
704 | struct tc_fq_codel_qd_stats { | ||
705 | __u32 maxpacket; /* largest packet we've seen so far */ | ||
706 | __u32 drop_overlimit; /* number of time max qdisc | ||
707 | * packet limit was hit | ||
708 | */ | ||
709 | __u32 ecn_mark; /* number of packets we ECN marked | ||
710 | * instead of being dropped | ||
711 | */ | ||
712 | __u32 new_flow_count; /* number of time packets | ||
713 | * created a 'new flow' | ||
714 | */ | ||
715 | __u32 new_flows_len; /* count of flows in new list */ | ||
716 | __u32 old_flows_len; /* count of flows in old list */ | ||
717 | }; | ||
718 | |||
719 | struct tc_fq_codel_cl_stats { | ||
720 | __s32 deficit; | ||
721 | __u32 ldelay; /* in-queue delay seen by most recently | ||
722 | * dequeued packet | ||
723 | */ | ||
724 | __u32 count; | ||
725 | __u32 lastcount; | ||
726 | __u32 dropping; | ||
727 | __s32 drop_next; | ||
728 | }; | ||
729 | |||
730 | struct tc_fq_codel_xstats { | ||
731 | __u32 type; | ||
732 | union { | ||
733 | struct tc_fq_codel_qd_stats qdisc_stats; | ||
734 | struct tc_fq_codel_cl_stats class_stats; | ||
735 | }; | ||
736 | }; | ||
737 | |||
657 | #endif | 738 | #endif |