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

feat(s2n-quic-core): congestion controller fuzz tests

Open WesleyRosenblum opened this issue 2 years ago • 0 comments

Description of changes:

This change introduces fuzz tests for the Cubic and BBR congestion controller. The fuzz tests simulate a series of packets being sent, acked, lost, etc and verify that no panics are encountered and that the bytes in flight count is correct.

Call-outs:

I also included a few fixes for issues I found during some initial fuzzing:

  • An underflow in BBR when the first packet sent is lost
  • Overflows in hybrid slow start and the default pacer when the MTU is set to a value > 6553 bytes

Testing:

Ran fuzz tests for ~20 minutes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

WesleyRosenblum avatar Aug 12 '22 02:08 WesleyRosenblum