Page MenuHomeFreeBSD

Use tcp_state_change() in the cxgbe(4) TOE module.
ClosedPublic

Authored by jhb on Nov 9 2018, 12:22 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Aug 11, 8:04 PM
Unknown Object (File)
Tue, Aug 11, 12:46 AM
Unknown Object (File)
Mon, Aug 10, 9:10 PM
Unknown Object (File)
Mon, Aug 10, 8:30 PM
Unknown Object (File)
Mon, Aug 10, 8:27 PM
Unknown Object (File)
Mon, Aug 10, 8:25 PM
Unknown Object (File)
Mon, Aug 10, 2:13 AM
Unknown Object (File)
Sat, Aug 8, 11:04 PM
Subscribers

Details

Summary

r254889 added tcp_state_change() as a centralized place to log state
changes in TCP connections for DTrace. r294869 and r296881 took
advantage of this central location to manage per-state counters.
However, TOE sockets were still performing some (but not all) state
change updates via direct assignments to t_state. This resulted in
state counters underflowing when TOE was in use. Fix by using
tcp_state_change() when changing a TOE connection's state.

Test Plan
  • run netstat -s -p tcp while TOE is in use

Diff Detail

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