Page MenuHomeFreeBSD

tcp: avoid useless calculations in tcp_account_for_send() when len is 0
ClosedPublic

Authored by gallatin on Sep 14 2021, 2:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 14 2025, 1:12 AM
Unknown Object (File)
Nov 28 2025, 8:27 PM
Unknown Object (File)
Nov 17 2025, 1:20 AM
Unknown Object (File)
Nov 17 2025, 1:20 AM
Unknown Object (File)
Nov 17 2025, 1:19 AM
Unknown Object (File)
Nov 16 2025, 11:25 PM
Unknown Object (File)
Nov 15 2025, 10:07 PM
Unknown Object (File)
Nov 9 2025, 6:17 PM
Subscribers

Details

Summary

When the length is 0, the retransmit rate could not have changed, so avoid doing math to determine if we need to move a TLS connection from hardware to software.

This also fixes a potential bug when switching from an old or buggy TCP stack which does not call into tcp_account_for_send(). In this case, the first call into tcp_account_for_send() will find the t_sndbytes and t_snd_rxt_bytes as 0, and if that first call is for a rexmit, we'll hit a divide-by-zero bug unless we guard against a zero length.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable