From 8f2f66b323ac3ea29ebedf12cad06fbbb76edd3c Mon Sep 17 00:00:00 2001 From: Randall Stewart Date: Tue, 18 Nov 2025 10:18:25 -0500 Subject: [PATCH] TCP Pacing system (HPTS) is missing an API Recent changes to HPTS have broken an API that was somehow removed (used by user space programs for time calculations). This commit will add back the inline function that was removed. Differential Revision: --- sys/netinet/tcp_hpts.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/netinet/tcp_hpts.h b/sys/netinet/tcp_hpts.h index 6b05f9701ac2..13527f7f9a4a 100644 --- a/sys/netinet/tcp_hpts.h +++ b/sys/netinet/tcp_hpts.h @@ -32,6 +32,10 @@ #define HPTS_MSEC_IN_SEC 1000 #define HPTS_USEC_IN_MSEC 1000 +/* + * The following functions should also be available + * to userspace as well. + */ static inline uint32_t tcp_tv_to_usec(const struct timeval *sv) { @@ -50,6 +54,13 @@ tcp_tv_to_lusec(const struct timeval *sv) return ((uint64_t)((sv->tv_sec * HPTS_USEC_IN_SEC) + sv->tv_usec)); } +static inline uint64_t +tcp_tv_to_lusectick(const struct timeval *sv) +{ + return ((uint64_t)((sv->tv_sec * HPTS_USEC_IN_SEC) + sv->tv_usec)); +} + + struct hpts_diag { uint32_t p_hpts_active; /* bbr->flex7 x */ uint32_t p_nxt_slot; /* bbr->flex1 x */