s2n-quic icon indicating copy to clipboard operation
s2n-quic copied to clipboard

Investigate TCP BBRv2 behavior in bbr2_inflight_hi_from_lost_skb

Open WesleyRosenblum opened this issue 2 years ago • 0 comments

Problem:

The Linux TCP implementation of BBRv2 treats the calculation of a negative inflight_prev value as an error case: https://github.com/google/bbr/blob/1a45fd4faf30229a3d3116de7bfe9d2f933d3562/net/ipv4/tcp_bbr2.c#L1520-L1525

In the s2n-quic implementation of inflight_hi_from_lost_packet, we use saturating subtraction to prevent inflight_prev going negative. It should be possible otherwise for inflight_prev to be negative, if the first packet sent when bytes_in_flight is zero was lost.

Solution:

Investigate why the TCP impl treats this as an error case, as TCP may be doing some upstream filtering that makes it not possible for inflight_prev to be negative

WesleyRosenblum avatar Aug 12 '22 19:08 WesleyRosenblum