tcp: uninline tcp_account_for_send()

This allows to clear inclusion of "opt_kern_tls.h" from a system header.

Reviewed by:		rscheff, tuexen
Differential Revision:	https://reviews.freebsd.org/D42696
This commit is contained in:
Gleb Smirnoff
2023-11-21 09:21:41 -08:00
parent 04cfe6c12c
commit 219a6ca919
2 changed files with 28 additions and 25 deletions
+27
View File
@@ -4678,3 +4678,30 @@ tcp_get_srtt(struct tcpcb *tp, int granularity)
return (srtt);
}
void
tcp_account_for_send(struct tcpcb *tp, uint32_t len, uint8_t is_rxt,
uint8_t is_tlp, bool hw_tls)
{
if (is_tlp) {
tp->t_sndtlppack++;
tp->t_sndtlpbyte += len;
}
/* To get total bytes sent you must add t_snd_rxt_bytes to t_sndbytes */
if (is_rxt)
tp->t_snd_rxt_bytes += len;
else
tp->t_sndbytes += len;
#ifdef KERN_TLS
if (hw_tls && is_rxt && len != 0) {
uint64_t rexmit_percent;
rexmit_percent = (1000ULL * tp->t_snd_rxt_bytes) /
(10ULL * (tp->t_snd_rxt_bytes + tp->t_sndbytes));
if (rexmit_percent > ktls_ifnet_max_rexmit_pct)
ktls_disable_ifnet(tp);
}
#endif
}
+1 -25
View File
@@ -38,7 +38,6 @@
#include <netinet/tcp_fsm.h>
#ifdef _KERNEL
#include "opt_kern_tls.h"
#include <net/vnet.h>
#include <sys/mbuf.h>
#include <sys/ktls.h>
@@ -1358,6 +1357,7 @@ VNET_DECLARE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST + 1]);
#define V_tcp_hhh VNET(tcp_hhh)
#endif
void tcp_account_for_send(struct tcpcb *, uint32_t, uint8_t, uint8_t, bool);
int tcp_addoptions(struct tcpopt *, u_char *);
struct tcpcb *
tcp_close(struct tcpcb *);
@@ -1591,30 +1591,6 @@ tcp_set_flags(struct tcphdr *th, uint16_t flags)
th->th_x2 = (flags >> 8) & 0x0f;
th->th_flags = flags & 0xff;
}
static inline void
tcp_account_for_send(struct tcpcb *tp, uint32_t len, uint8_t is_rxt,
uint8_t is_tlp, bool hw_tls)
{
if (is_tlp) {
tp->t_sndtlppack++;
tp->t_sndtlpbyte += len;
}
/* To get total bytes sent you must add t_snd_rxt_bytes to t_sndbytes */
if (is_rxt)
tp->t_snd_rxt_bytes += len;
else
tp->t_sndbytes += len;
#ifdef KERN_TLS
if (hw_tls && is_rxt && len != 0) {
uint64_t rexmit_percent = (1000ULL * tp->t_snd_rxt_bytes) / (10ULL * (tp->t_snd_rxt_bytes + tp->t_sndbytes));
if (rexmit_percent > ktls_ifnet_max_rexmit_pct)
ktls_disable_ifnet(tp);
}
#endif
}
#endif /* _KERNEL */
#endif /* _NETINET_TCP_VAR_H_ */