Page MenuHomeFreeBSD

ECN incorrectly set

Authored by rrs on Wed, Feb 12, 12:44 PM.



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

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

rrs created this revision.Wed, Feb 12, 12:44 PM
rrs added reviewers: tuexen, transport.
tuexen accepted this revision.Wed, Feb 12, 12:47 PM
This revision is now accepted and ready to land.Wed, Feb 12, 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.