Constants for the congestion control.
More...
Constants for the congestion control.
Example usage:
.
fr = _my_fast_retransmit,
.same_wnd_adv = _my_same_window_advertised,
.init_mss = 1460,
.cwnd_upper = 2190,
.cwnd_lower = 1095,
.frthresh = 3,
}
void congure_reno_snd_setup(congure_reno_snd_t *c, const congure_reno_snd_consts_t *consts)
Set-up CongURE implementation of TCP Reno driver and constants.
#define CONGURE_WND_SIZE_MAX
Maximum value the window size can take.
Constants for the congestion control.
void(* fr)(congure_reno_snd_t *c)
Callback to enter and perform fast retransmit.
State object for CongURE Reno.
Definition at line 60 of file reno.h.
#include <reno.h>
◆ ca_cwnd_inc
Callback to increase congestion window in congestion avoidance.
Defaults to
c->cwnd += (c->in_flight_size < c->mss)
? c->in_flight_size
: c->mss;
when set to NULL
- Parameters
-
[in] | c | The CongURE state object (callback context is at c->super.ctx ) |
Definition at line 111 of file reno.h.
◆ cwnd_lower
Initial lower bound for initial window initiator-defined units.
1095 bytes in classic TCP-Reno (3/8 of the assumed MSS for Ethernet see RFC 3390).
Definition at line 154 of file reno.h.
◆ cwnd_upper
Initial upper bound for initial window initiator-defined units.
2190 bytes in classic TCP-Reno (3/4 of the assumed MSS for Ethernet, see RFC 3390).
Definition at line 146 of file reno.h.
◆ fr
Callback to enter and perform fast retransmit.
- Parameters
-
[in] | c | The CongURE state object (callback context is at c->super.ctx ) |
Definition at line 67 of file reno.h.
◆ fr_cwnd_dec
Callback to reset congestion window when entering fast recovery.
Defaults to
c->ssthresh = max(c->mss * 2, c->cwnd / 2);
c->cwnd = c->ssthresh + (3 * c->mss);
when set to NULL
- Parameters
-
[in] | c | The CongURE state object (callback context is at c->super.ctx ) |
Definition at line 129 of file reno.h.
◆ frthresh
uint8_t congure_reno_snd_consts_t::frthresh |
Threshold for duplicate ACKs to go into Fast Retransmit.
Definition at line 164 of file reno.h.
◆ init_mss
unsigned congure_reno_snd_consts_t::init_mss |
Initial maximum segment size of the sender in intiator-defined units.
1460 bytes for TCP over Ethernet (see RFC 3390).
Definition at line 138 of file reno.h.
◆ init_ssthresh
Initial slow-start threshold in initiator-defined units.
Definition at line 159 of file reno.h.
◆ same_wnd_adv
Callback to check if the advertised window within an ACK is the same as in the context.
- Parameters
-
[in] | c | The CongURE state object (callback context is at c->super.ctx ) |
[in] | ack | The ACK to check. |
Definition at line 77 of file reno.h.
◆ ss_cwnd_inc
Callback to increase congestion window in slow start.
Defaults to
when set to NULL
- Parameters
-
[in] | c | The CongURE state object (callback context is at c->super.ctx ) |
Definition at line 93 of file reno.h.
The documentation for this struct was generated from the following file: