Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * TCP Vegas congestion control interface
0004  */
0005 #ifndef __TCP_VEGAS_H
0006 #define __TCP_VEGAS_H 1
0007 
0008 /* Vegas variables */
0009 struct vegas {
0010     u32 beg_snd_nxt;    /* right edge during last RTT */
0011     u32 beg_snd_una;    /* left edge  during last RTT */
0012     u32 beg_snd_cwnd;   /* saves the size of the cwnd */
0013     u8  doing_vegas_now;/* if true, do vegas for this RTT */
0014     u16 cntRTT;     /* # of RTTs measured within last RTT */
0015     u32 minRTT;     /* min of RTTs measured within last RTT (in usec) */
0016     u32 baseRTT;    /* the min of all Vegas RTT measurements seen (in usec) */
0017 };
0018 
0019 void tcp_vegas_init(struct sock *sk);
0020 void tcp_vegas_state(struct sock *sk, u8 ca_state);
0021 void tcp_vegas_pkts_acked(struct sock *sk, const struct ack_sample *sample);
0022 void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event);
0023 size_t tcp_vegas_get_info(struct sock *sk, u32 ext, int *attr,
0024               union tcp_cc_info *info);
0025 
0026 #endif  /* __TCP_VEGAS_H */