From 16a76bdbafd6c681dd15419183308bba1dd58063 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 21 Apr 2004 09:10:52 -0700 Subject: [TCP]: Add vegas congestion avoidance support. A forward port of an old 2.3.x kernel hack done years ago. I (DaveM) did the first rough port, Stephen Hemminger actually cleaned it up and made it usable. --- include/linux/sysctl.h | 4 ++++ include/linux/tcp.h | 12 ++++++++++++ 2 files changed, 16 insertions(+) (limited to 'include/linux') diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index f32c83568201..46c9268c9079 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -327,6 +327,10 @@ enum NET_TCP_WESTWOOD=95, NET_IPV4_IGMP_MAX_MSF=96, NET_TCP_NO_METRICS_SAVE=97, + NET_TCP_VEGAS=98, + NET_TCP_VEGAS_ALPHA=99, + NET_TCP_VEGAS_BETA=100, + NET_TCP_VEGAS_GAMMA=101, }; enum { diff --git a/include/linux/tcp.h b/include/linux/tcp.h index f8c91e734737..00bece841380 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -388,6 +388,18 @@ struct tcp_opt { __u32 rtt; __u32 rtt_min; /* minimum observed RTT */ } westwood; + +/* Vegas variables */ + struct { + __u32 beg_snd_nxt; /* right edge during last RTT */ + __u32 beg_snd_una; /* left edge during last RTT */ + __u32 beg_snd_cwnd; /* saves the size of the cwnd */ + __u8 do_vegas; /* do vegas for this connection */ + __u8 doing_vegas_now;/* if true, do vegas for this RTT */ + __u16 cntRTT; /* # of RTTs measured within last RTT */ + __u32 minRTT; /* min of RTTs measured within last RTT (in usec) */ + __u32 baseRTT; /* the min of all Vegas RTT measurements seen (in usec) */ + } vegas; }; /* WARNING: don't change the layout of the members in tcp_sock! */ -- cgit v1.2.3