diff options
author | Mubashir Adnan Qureshi <mubashirq@google.com> | 2022-10-26 15:51:12 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-10-28 11:47:42 +0200 |
commit | 1a91bb7c3ebf95e908ec33220defbcda1ecc072f (patch) | |
tree | 16dcf09023e80efd8e75368ca4a43ec417141532 /net/ipv4/tcp_dctcp.c | |
parent | tcp: add sysctls for TCP PLB parameters (diff) | |
download | linux-1a91bb7c3ebf95e908ec33220defbcda1ecc072f.tar.xz linux-1a91bb7c3ebf95e908ec33220defbcda1ecc072f.zip |
tcp: add PLB functionality for TCP
Congestion control algorithms track PLB state and cause the connection
to trigger a path change when either of the 2 conditions is satisfied:
- No packets are in flight and (# consecutive congested rounds >=
sysctl_tcp_plb_idle_rehash_rounds)
- (# consecutive congested rounds >= sysctl_tcp_plb_rehash_rounds)
A round (RTT) is marked as congested when congestion signal
(ECN ce_ratio) over an RTT is greater than sysctl_tcp_plb_cong_thresh.
In the event of RTO, PLB (via tcp_write_timeout()) triggers a path
change and disables congestion-triggered path changes for random time
between (sysctl_tcp_plb_suspend_rto_sec, 2*sysctl_tcp_plb_suspend_rto_sec)
to avoid hopping onto the "connectivity blackhole". RTO-triggered
path changes can still happen during this cool-off period.
Signed-off-by: Mubashir Adnan Qureshi <mubashirq@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_dctcp.c')
0 files changed, 0 insertions, 0 deletions