| Stephen Hemminger | 7752237 | 2007-04-23 22:28:23 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * TCP Vegas congestion control interface | 
|  | 3 | */ | 
|  | 4 | #ifndef __TCP_VEGAS_H | 
|  | 5 | #define __TCP_VEGAS_H 1 | 
|  | 6 |  | 
|  | 7 | /* Vegas variables */ | 
|  | 8 | struct vegas { | 
|  | 9 | u32	beg_snd_nxt;	/* right edge during last RTT */ | 
|  | 10 | u32	beg_snd_una;	/* left edge  during last RTT */ | 
|  | 11 | u32	beg_snd_cwnd;	/* saves the size of the cwnd */ | 
|  | 12 | u8	doing_vegas_now;/* if true, do vegas for this RTT */ | 
|  | 13 | u16	cntRTT;		/* # of RTTs measured within last RTT */ | 
|  | 14 | u32	minRTT;		/* min of RTTs measured within last RTT (in usec) */ | 
|  | 15 | u32	baseRTT;	/* the min of all Vegas RTT measurements seen (in usec) */ | 
|  | 16 | }; | 
|  | 17 |  | 
|  | 18 | extern void tcp_vegas_init(struct sock *sk); | 
|  | 19 | extern void tcp_vegas_state(struct sock *sk, u8 ca_state); | 
| Stephen Hemminger | 30cfd0b | 2007-07-25 23:49:34 -0700 | [diff] [blame] | 20 | extern void tcp_vegas_pkts_acked(struct sock *sk, u32 cnt, s32 rtt_us); | 
| Stephen Hemminger | 7752237 | 2007-04-23 22:28:23 -0700 | [diff] [blame] | 21 | extern void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event); | 
|  | 22 | extern void tcp_vegas_get_info(struct sock *sk, u32 ext, struct sk_buff *skb); | 
|  | 23 |  | 
|  | 24 | #endif	/* __TCP_VEGAS_H */ |