Page MenuHomeFreeBSD

ECN incorrectly set
ClosedPublic

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

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
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.