Page MenuHomeFreeBSD

tcp: fix handling of TCP RST segments missing timestamps
ClosedPublic

Authored by tuexen on Wed, Jan 13, 10:50 PM.

Details

Reviewers
rscheff
rrs
kevans
dmgk
Group Reviewers
transport
Summary

A TCP RST segment should be processed even it is missing TCP timestamps.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

With this patch applied, the Go test suite passes on both current (818390ce0ca) and stable/12 (49038d1723a). Thanks!

I'm afraid that I can't provide much better input than dmgk already has, but this does conform to my interpretation of RFC7323 from a brief read at the referenced section.

Functionally, I concur that this is the right way to handle RST packets.

From an implementation, perhaps having the check for TH_RST and the V_tcp_tolerate_missing_ts sysctl of D28142 in a combined || check, rather than two fully independent branches (which is likely if D28142 and D28143 are applied independently).

This revision is now accepted and ready to land.Thu, Jan 14, 8:29 AM

Functionally, I concur that this is the right way to handle RST packets.

From an implementation, perhaps having the check for TH_RST and the V_tcp_tolerate_missing_ts sysctl of D28142 in a combined || check, rather than two fully independent branches (which is likely if D28142 and D28143 are applied independently).

I will apply this patch first, then update the D28142 using an ||. I want to keep them separate, since this is a fix of a bug, D28142 is adding a sysctl.