| @@ -1,52 +0,0 @@ | |||
| // Include Guard | |||
| #ifndef TCP_ROCCET_STRUCT | |||
| #define TCP_ROCCET_STRUCT | |||
| #include <linux/math64.h> | |||
| struct AckRate { | |||
| u16 last_rate; | |||
| u32 last_rate_time; | |||
| u16 curr_rate; | |||
| u16 cnt; | |||
| }; | |||
| struct BandwidthLimitDetect { | |||
| u32 sum_cwnd; /* sum of cwnd during time interval */ | |||
| u32 sum_acked; /* sum of received acks during time interval */ | |||
| u32 next_check; /* end/upper bound of time interval */ | |||
| }; | |||
| struct TimedRTT { | |||
| u32 time; | |||
| u32 rtt; | |||
| }; | |||
| /* BIC TCP Parameters */ | |||
| struct bictcp { | |||
| u32 cnt; /* increase cwnd by 1 after ACKs */ | |||
| u32 last_max_cwnd; /* last maximum snd_cwnd */ | |||
| u32 last_cwnd; /* the last snd_cwnd */ | |||
| u32 last_time; /* time when updated last_cwnd */ | |||
| u32 bic_origin_point; /* origin point of bic function */ | |||
| u32 bic_K; /* time to origin point | |||
| from the beginning of the current epoch */ | |||
| u32 delay_min; /* min delay (usec) */ | |||
| u32 epoch_start; /* beginning of an epoch */ | |||
| u32 ack_cnt; /* number of acks */ | |||
| u32 tcp_cwnd; /* estimated tcp cwnd */ | |||
| u32 curr_rtt; /* the minimum rtt of current round */ | |||
| // ROCCETv2 specific | |||
| u32 roccet_last_event_time_us; /* The last time ROCCETv2 was triggered */ | |||
| u32 curr_min_rtt; /* The current observed minRTT */ | |||
| struct TimedRTT curr_min_rtt_timed; /* The current observed minRTT with the | |||
| timestamp when it was observed */ | |||
| u32 curr_srRTT; /* The srRTT calculated based on the latest ACK */ | |||
| struct AckRate ack_rate; /* The last and the current ACK rate */ | |||
| struct BandwidthLimitDetect bw_limit; | |||
| u32 last_rtt; /* Used for jitter calculation */ | |||
| }; | |||
| #endif /* TCP_ROCCET_STRUCT */ | |||