Bug 265865 - Unable to use non default tcp stack and cc with daemons
Summary: Unable to use non default tcp stack and cc with daemons
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 13.1-STABLE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-15 23:15 UTC by Ivan Rozhuk
Modified: 2022-08-15 23:15 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Rozhuk 2022-08-15 23:15:16 UTC
I have set:

rc.conf:
kld_list="${kld_list} cc_htcp tcp_rack"

sysctl.conf:
net.inet.tcp.functions_default=rack	# Use TCP stack: freebsd / rack
net.inet.tcp.cc.algorithm=htcp		# TCP cognestion algoritm


After boot all daemons started with default freebsd+newreno:
# netstat -c -C -L -n -a
Current listen queue sizes (qlen/incqlen/maxqlen)
Proto Listen                           Local Address          Stack   CC            cwin   ssthresh   MSS ECN
tcp4  0/0/128                          127.0.0.1.631           freebsd newreno 1073725440 1073725440   536 n/a
tcp6  0/0/128                          ::1.631                 freebsd newreno 1073725440 1073725440  1220 n/a
tcp4  0/0/128                          *.22                    freebsd newreno 1073725440 1073725440   536 n/a
tcp6  0/0/128                          *.22                    freebsd newreno 1073725440 1073725440  1220 n/a


This happen because boot order is:
sysctl - at this point rack+htcp can not be set, not loaded
kld
daemons
sysctl_latest

I do not want move cc_htcp and tcp_rack to loader or write some workaround script to restart all services with freebsd+newreno after boot done.