Page MenuHomeFreeBSD

ECN incorrectly set
ClosedPublic

Authored by rrs on Feb 12 2020, 12:44 PM.
Tags
None
Referenced Files
F108535249: D23645.id68176.diff
Sun, Jan 26, 12:53 AM
F108521924: D23645.id68178.diff
Sat, Jan 25, 9:04 PM
Unknown Object (File)
Wed, Jan 22, 6:21 AM
Unknown Object (File)
Tue, Jan 21, 10:06 AM
Unknown Object (File)
Dec 23 2024, 5:34 PM
Unknown Object (File)
Dec 15 2024, 8:46 PM
Unknown Object (File)
Nov 5 2024, 1:42 PM
Unknown Object (File)
Oct 14 2024, 7:09 AM
Subscribers

Details

Summary

ECN requires that on the SYN both the CWR and ECT bits be set in order
for it to be considered a "request" for ECN. We therefore did not
correctly check for this condition. This fix should make it so we
enforce the RFC properly.

Test Plan

We can use pkt-drill to send in a SYN and make sure that it only
responds to the correct "ECN condtion" i.e. both bits set.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Feb 12 2020, 12:47 PM
This revision was automatically updated to reflect the committed changes.

Good catch!

I should have found that in D23230, when extending the meaning of V_tcp_do_ecn (for ECN+ and ECN++).

Please have a look into D23373 (simultaneous opens) also.