linux/net/ipv4/tcp_vegas.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * TCP Vegas congestion control interface
   4 */
   5#ifndef __TCP_VEGAS_H
   6#define __TCP_VEGAS_H 1
   7
   8/* Vegas variables */
   9struct vegas {
  10        u32     beg_snd_nxt;    /* right edge during last RTT */
  11        u32     beg_snd_una;    /* left edge  during last RTT */
  12        u32     beg_snd_cwnd;   /* saves the size of the cwnd */
  13        u8      doing_vegas_now;/* if true, do vegas for this RTT */
  14        u16     cntRTT;         /* # of RTTs measured within last RTT */
  15        u32     minRTT;         /* min of RTTs measured within last RTT (in usec) */
  16        u32     baseRTT;        /* the min of all Vegas RTT measurements seen (in usec) */
  17};
  18
  19void tcp_vegas_init(struct sock *sk);
  20void tcp_vegas_state(struct sock *sk, u8 ca_state);
  21void tcp_vegas_pkts_acked(struct sock *sk, const struct ack_sample *sample);
  22void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event);
  23size_t tcp_vegas_get_info(struct sock *sk, u32 ext, int *attr,
  24                          union tcp_cc_info *info);
  25
  26#endif  /* __TCP_VEGAS_H */
  27