Page MenuHomeFreeBSD

Make RTO.Initial for TCP controllable via sysctl
ClosedPublic

Authored by tuexen on Feb 25 2019, 9:22 PM.

Details

Summary

Add sysctl variable net.inet.tcp.rexmit_initial for setting RTO.Initial used by TCP.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

tuexen created this revision.Feb 25 2019, 9:22 PM
koobs added a comment.Feb 26 2019, 2:21 AM

Thank you for this @tuexen!

sys/netinet/tcp_timer.c
116 ↗(On Diff #54376)

I don't know if we have consistent standards/guidelines for sysctl descriptions (would be nice) for 'units' 'minimum' and 'maximum' values, but, possible improvements:

  • + in seconds or Units: seconds.
  • + Minimum: 1 (based on forced min value in code above)

So, something like:

"Initial Retransmission Timeout in seconds. Minimum: 1"

The unit would be milli seconds, not seconds for the sysctl-variable. In general, I agree that it would be good to give at least the unit for sysctl variables, but

sys/netinet/tcp_timer.c
116 ↗(On Diff #54376)

All timer related sysctl variables for TCP are in ms. The documentation string I added is based on consistency with the existing ones.

I agree, that giving the unit (ms) might help some users, but I think this should be added as a separate commit. I'm happy to do that once this change is in tree.

koobs added a comment.Mar 11 2019, 3:44 AM

Thank you for the insight @tuexen

0mp accepted this revision.Mar 11 2019, 8:56 AM
0mp added a subscriber: 0mp.

OK from manpages

rrs accepted this revision.Mar 18 2019, 1:01 PM
This revision is now accepted and ready to land.Mar 18 2019, 1:01 PM
This revision was automatically updated to reflect the committed changes.