RFC5682 implementation for FreeBSD

To test the implementation, I used dummynet(4) to spike a delay from 200ms to 800ms.

Result

TCP spurious timeout without RFC5682 (SACK enabled)

TCP spurious timeout with rfc5682 (SACK enabled)

TCP spurious timeout without rfc5682 (SACK disabled)

TCP spurious timeout with rfc5682 (SACK disabled)