Merge tag 'mvebu-fixes-4.1-3' of git://git.infradead.org/linux-mvebu into fixes
[sfrench/cifs-2.6.git] / net / ipv4 / tcp_vegas.h
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 void tcp_vegas_init(struct sock *sk);
19 void tcp_vegas_state(struct sock *sk, u8 ca_state);
20 void tcp_vegas_pkts_acked(struct sock *sk, u32 cnt, s32 rtt_us);
21 void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event);
22 size_t tcp_vegas_get_info(struct sock *sk, u32 ext, int *attr,
23                           union tcp_cc_info *info);
24
25 #endif  /* __TCP_VEGAS_H */