Rework initial congestion window calculation.
The patch is my first (barely compiling) attempt at:
- add ability to specify initcwnd in number of bytes
- move entire calculation into a separate function
- add a new sysctl to enable RFC6928 which is ON by default
- D5124's fix included.
Approach here is, user can specify initcwnd of choice in number of segments or bytes. If none is present, we default to RFC6928 and have initcwnd as 10 segments.
AFAIK, this is not changing the default behavior of what we have in FreeBSD-head right now. OR at least, that is the plan.
This change also makes enabling RFC3390 (to get initcwnd at 4 segments) more obvious/easier. (You just have to disable RFC6928.)
(I need to remember to do any manpage updates with this.)