aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/testing/selftests/tc-testing/tc-tests
diff options
context:
space:
mode:
authorNeal Cardwell <ncardwell@google.com>2020-06-24 12:42:03 -0400
committerDavid S. Miller <davem@davemloft.net>2020-06-25 16:08:47 -0700
commit7d21d54d624777358ab6c7be7ff778808fef70ba (patch)
tree49c330b281928a72db56ed5c0841426e1e78bda8 /tools/testing/selftests/tc-testing/tc-tests
parenttcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT (diff)
downloadwireguard-linux-7d21d54d624777358ab6c7be7ff778808fef70ba.tar.xz
wireguard-linux-7d21d54d624777358ab6c7be7ff778808fef70ba.zip
bpf: tcp: bpf_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
Apply the fix from: "tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT" to the BPF implementation of TCP CUBIC congestion control. Repeating the commit description here for completeness: Mirja Kuehlewind reported a bug in Linux TCP CUBIC Hystart, where Hystart HYSTART_DELAY mechanism can exit Slow Start spuriously on an ACK when the minimum rtt of a connection goes down. From inspection it is clear from the existing code that this could happen in an example like the following: o The first 8 RTT samples in a round trip are 150ms, resulting in a curr_rtt of 150ms and a delay_min of 150ms. o The 9th RTT sample is 100ms. The curr_rtt does not change after the first 8 samples, so curr_rtt remains 150ms. But delay_min can be lowered at any time, so delay_min falls to 100ms. The code executes the HYSTART_DELAY comparison between curr_rtt of 150ms and delay_min of 100ms, and the curr_rtt is declared far enough above delay_min to force a (spurious) exit of Slow start. The fix here is simple: allow every RTT sample in a round trip to lower the curr_rtt. Fixes: 6de4a9c430b5 ("bpf: tcp: Add bpf_cubic example") Reported-by: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/tc-testing/tc-tests')
0 files changed, 0 insertions, 0 deletions