Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 236868
b: refs/heads/master
c: 45e1443
h: refs/heads/master
v: v3
  • Loading branch information
stephen hemminger authored and David S. Miller committed Feb 3, 2011
1 parent 7f98210 commit 6b20e3d
Show file tree
Hide file tree
Showing 5 changed files with 719 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 119b3d386985fcd477b3131190c041516a73f83a
refs/heads/master: 45e144339ac59971eb44be32e1282760aaabe861
29 changes: 29 additions & 0 deletions trunk/include/linux/pkt_sched.h
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,35 @@ struct tc_gred_sopt {
__u16 pad1;
};

/* CHOKe section */

enum {
TCA_CHOKE_UNSPEC,
TCA_CHOKE_PARMS,
TCA_CHOKE_STAB,
__TCA_CHOKE_MAX,
};

#define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1)

struct tc_choke_qopt {
__u32 limit; /* Hard queue length (packets) */
__u32 qth_min; /* Min average threshold (packets) */
__u32 qth_max; /* Max average threshold (packets) */
unsigned char Wlog; /* log(W) */
unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
unsigned char Scell_log; /* cell size for idle damping */
unsigned char flags; /* see RED flags */
};

struct tc_choke_xstats {
__u32 early; /* Early drops */
__u32 pdrop; /* Drops due to queue limits */
__u32 other; /* Drops due to drop() calls */
__u32 marked; /* Marked packets */
__u32 matched; /* Drops due to flow match */
};

/* HTB section */
#define TC_HTB_NUMPRIO 8
#define TC_HTB_MAXDEPTH 8
Expand Down
11 changes: 11 additions & 0 deletions trunk/net/sched/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,17 @@ config NET_SCH_MQPRIO

If unsure, say N.

config NET_SCH_CHOKE
tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
help
Say Y here if you want to use the CHOKe packet scheduler (CHOose
and Keep for responsive flows, CHOose and Kill for unresponsive
flows). This is a variation of RED which trys to penalize flows
that monopolize the queue.

To compile this code as a module, choose M here: the
module will be called sch_choke.

config NET_SCH_INGRESS
tristate "Ingress Qdisc"
depends on NET_CLS_ACT
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/sched/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ obj-$(CONFIG_NET_SCH_ATM) += sch_atm.o
obj-$(CONFIG_NET_SCH_NETEM) += sch_netem.o
obj-$(CONFIG_NET_SCH_DRR) += sch_drr.o
obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o
obj-$(CONFIG_NET_SCH_CHOKE) += sch_choke.o

obj-$(CONFIG_NET_CLS_U32) += cls_u32.o
obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o
obj-$(CONFIG_NET_CLS_FW) += cls_fw.o
Expand Down
Loading

0 comments on commit 6b20e3d

Please sign in to comment.