s2n-quic
s2n-quic copied to clipboard
feat(s2n-quic-core): congestion controller fuzz tests
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.