freebsd-dev/sys/netinet/cc
Randall Stewart ea9017fb25 tcp: Congestion control move to using reference counting.
In the transport call on 12/3 Gleb asked to move the CC modules towards
using reference counting to prevent folks from unloading a module in use.
It was also agreed that Michael would do a user space utility like tcp_drop
that could be used to move all connections that are using a specific CC
to some other CC.

This is the half I committed to doing, making it so that we maintain a refcount
on a cc module every time a pcb refers to it and decrementing that every
time a pcb no longer uses a cc module. This also helps us simplify the
whole unloading process by getting rid of tcp_ccunload() which munged
through all the tcb's. Instead we mark a module as being removed and
prevent further references to it. We also make sure that if a module is
marked as being removed it cannot be made as the default and also
the opposite of that, if its a default it fails and does not mark it as being
removed.

Reviewed by: Michael Tuexen, Gleb Smirnoff
Sponsored by: Netflix Inc.
Differential Revision: https://reviews.freebsd.org/D33249
2022-02-21 06:30:17 -05:00
..
cc_cdg.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc_chd.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc_cubic.c tcp: Add hystart++ to our cubic implementation. 2022-02-07 06:37:46 -05:00
cc_cubic.h tcp: Add hystart++ to our cubic implementation. 2022-02-07 06:37:46 -05:00
cc_dctcp.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc_hd.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc_htcp.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc_module.h
cc_newreno.c tcp: Add hystart++ to our cubic implementation. 2022-02-07 06:37:46 -05:00
cc_newreno.h tcp: Add hystart++ to our cubic implementation. 2022-02-07 06:37:46 -05:00
cc_vegas.c tcp: Congestion control cleanup. 2021-11-11 06:28:18 -05:00
cc.c tcp: Congestion control move to using reference counting. 2022-02-21 06:30:17 -05:00
cc.h tcp: Congestion control move to using reference counting. 2022-02-21 06:30:17 -05:00