aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2024-11-21 00:35:59 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2024-11-21 00:37:24 +0000
commit3789810845f14102c88ca31f7dccb18621b960a0 (patch)
tree5a0a77c75a56b6f674e9ac83e66e7005f54099b3
parent2944a888eabffd4db47dde0f30aa0f5061460f56 (diff)
tcp: avoid bcopy() in tcp_mss_update()
-rw-r--r--sys/netinet/tcp_input.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index f9ecdf93cc47..03d493b1d7a9 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -3877,19 +3877,16 @@ tcp_mss_update(struct tcpcb *tp, int offer, int mtuoffer,
offer = max(offer, V_tcp_minmss);
}
- /*
- * rmx information is now retrieved from tcp_hostcache.
- */
- tcp_hc_get(&inp->inp_inc, &metrics);
- if (metricptr != NULL)
- bcopy(&metrics, metricptr, sizeof(struct hc_metrics_lite));
+ if (metricptr == NULL)
+ metricptr = &metrics;
+ tcp_hc_get(&inp->inp_inc, metricptr);
/*
* If there's a discovered mtu in tcp hostcache, use it.
* Else, use the link mtu.
*/
- if (metrics.hc_mtu)
- mss = min(metrics.hc_mtu, maxmtu) - min_protoh;
+ if (metricptr->hc_mtu)
+ mss = min(metricptr->hc_mtu, maxmtu) - min_protoh;
else {
#ifdef INET6
if (isipv6) {