summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
b4ca8b1)
Type: feature
Change-Id: I7f476f4f81994c9c6cc2e8091de08adff4bcbc77
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
tm->tx_pacing = 1;
tm->cc_algo = TCP_CC_NEWRENO;
tm->default_mtu = 1460;
tm->tx_pacing = 1;
tm->cc_algo = TCP_CC_NEWRENO;
tm->default_mtu = 1460;
+ tm->initial_cwnd_multiplier = 0;
;
else if (unformat (input, "mtu %d", &tm->default_mtu))
;
;
else if (unformat (input, "mtu %d", &tm->default_mtu))
;
+ else if (unformat (input, "initial-cwnd-multiplier %d",
+ &tm->initial_cwnd_multiplier))
+ ;
else if (unformat (input, "no-tx-pacing"))
tm->tx_pacing = 0;
else if (unformat (input, "cc-algo %U", unformat_tcp_cc_algo,
else if (unformat (input, "no-tx-pacing"))
tm->tx_pacing = 0;
else if (unformat (input, "cc-algo %U", unformat_tcp_cc_algo,
/** Default MTU to be used when establishing connections */
u16 default_mtu;
/** Default MTU to be used when establishing connections */
u16 default_mtu;
+ /** Initial CWND multiplier, which multiplies MSS to determine initial CWND.
+ * Set 0 to determine the initial CWND by another way */
+ u16 initial_cwnd_multiplier;
+
/** Number of preallocated connections */
u32 preallocated_connections;
u32 preallocated_half_open_connections;
/** Number of preallocated connections */
u32 preallocated_connections;
u32 preallocated_half_open_connections;
always_inline u32
tcp_initial_cwnd (const tcp_connection_t * tc)
{
always_inline u32
tcp_initial_cwnd (const tcp_connection_t * tc)
{
+ if (tcp_main.initial_cwnd_multiplier > 0)
+ return tcp_main.initial_cwnd_multiplier * tc->snd_mss;
+
if (tc->snd_mss > 2190)
return 2 * tc->snd_mss;
else if (tc->snd_mss > 1095)
if (tc->snd_mss > 2190)
return 2 * tc->snd_mss;
else if (tc->snd_mss > 1095)