aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_ratelimit.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/tcp_ratelimit.c')
-rw-r--r--sys/netinet/tcp_ratelimit.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/netinet/tcp_ratelimit.c b/sys/netinet/tcp_ratelimit.c
index 1834c702c493..a0e837cc7d76 100644
--- a/sys/netinet/tcp_ratelimit.c
+++ b/sys/netinet/tcp_ratelimit.c
@@ -246,10 +246,10 @@ const uint64_t desired_rates[] = {
#define RS_ONE_GIGABIT_PERSEC 1000000000
#define RS_TEN_GIGABIT_PERSEC 10000000000
-static struct head_tcp_rate_set int_rs;
+static struct head_tcp_rate_set int_rs = CK_LIST_HEAD_INITIALIZER();
static struct mtx rs_mtx;
-uint32_t rs_number_alive;
-uint32_t rs_number_dead;
+uint32_t rs_number_alive = 0;
+uint32_t rs_number_dead = 0;
static uint32_t rs_floor_mss = 0;
static uint32_t wait_time_floor = 8000; /* 8 ms */
static uint32_t rs_hw_floor_mss = 16;
@@ -1298,6 +1298,12 @@ tcp_rl_ifnet_departure(void *arg __unused, struct ifnet *ifp)
NET_EPOCH_EXIT(et);
}
+void
+tcp_rl_release_ifnet(struct ifnet *ifp)
+{
+ tcp_rl_ifnet_departure(NULL, ifp);
+}
+
static void
tcp_rl_shutdown(void *arg __unused, int howto __unused)
{
@@ -1772,9 +1778,6 @@ static eventhandler_tag rl_shutdown_start;
static void
tcp_rs_init(void *st __unused)
{
- CK_LIST_INIT(&int_rs);
- rs_number_alive = 0;
- rs_number_dead = 0;
mtx_init(&rs_mtx, "tcp_rs_mtx", "rsmtx", MTX_DEF);
rl_ifnet_departs = EVENTHANDLER_REGISTER(ifnet_departure_event,
tcp_rl_ifnet_departure,