Page MenuHomeFreeBSD

tcp/hpts: make stacks responsible for clearing themselves out HPTS

Authored by glebius on Nov 30 2023, 9:17 PM.
Referenced Files
Unknown Object (File)
Mon, Feb 26, 1:52 AM
Unknown Object (File)
Sat, Feb 17, 8:11 PM
Unknown Object (File)
Jan 10 2024, 5:17 AM
Unknown Object (File)
Dec 27 2023, 10:14 PM
Unknown Object (File)
Dec 24 2023, 9:48 PM
Unknown Object (File)
Dec 23 2023, 4:27 AM
Unknown Object (File)
Dec 4 2023, 7:54 PM



There already is the tfb_tcp_timer_stop_all method that is supposed to stop
all time events associated with a given tcpcb by given stack. Some time ago
it was doing actual callout_stop(). Today bbr/rack just mark their internal
state as inactive in their tfb_tcp_timer_stop_all methods, but tcpcb stays
in HPTS wheel and potentially called in from HPTS. Change the methods to
also call tcp_hpts_remove(). Note: I'm not sure if internal flag is still
relevant once we are out of HPTS wheel.

Call the method when connection goes to into TCP_CLOSED state, instead of
calling it later when tcpcb is freed. Also call it when we switch between

Diff Detail

rG FreeBSD src repository
Lint Skipped
Tests Skipped
Build Status
Buildable 54717
Build 51606: arc lint + arc unit