Module Name: src
Committed By: riastradh
Date: Sat Jun 29 12:59:09 UTC 2024
Modified Files:
src/sys/netinet: if_arp.c ip_flow.c ip_input.c raw_ip.c tcp_input.c
tcp_output.c tcp_syncache.c
Log Message:
netinet: Use _NET_STAT* API instead of direct array access.
PR kern/58380
To generate a diff of this commit:
cvs rdiff -u -r1.312 -r1.313 src/sys/netinet/if_arp.c
cvs rdiff -u -r1.85 -r1.86 src/sys/netinet/ip_flow.c
cvs rdiff -u -r1.402 -r1.403 src/sys/netinet/ip_input.c
cvs rdiff -u -r1.184 -r1.185 src/sys/netinet/raw_ip.c
cvs rdiff -u -r1.438 -r1.439 src/sys/netinet/tcp_input.c
cvs rdiff -u -r1.219 -r1.220 src/sys/netinet/tcp_output.c
cvs rdiff -u -r1.6 -r1.7 src/sys/netinet/tcp_syncache.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/if_arp.c
diff -u src/sys/netinet/if_arp.c:1.312 src/sys/netinet/if_arp.c:1.313
--- src/sys/netinet/if_arp.c:1.312 Sat Feb 24 21:39:05 2024
+++ src/sys/netinet/if_arp.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: if_arp.c,v 1.312 2024/02/24 21:39:05 mlelstv Exp $ */
+/* $NetBSD: if_arp.c,v 1.313 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (c) 1998, 2000, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.312 2024/02/24 21:39:05 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.313 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -515,7 +515,7 @@ arprequest(struct ifnet *ifp,
struct mbuf *m;
struct arphdr *ah;
struct sockaddr sa;
- uint64_t *arps;
+ net_stat_ref_t arps;
KASSERT(sip != NULL);
KASSERT(tip != NULL);
@@ -561,8 +561,8 @@ arprequest(struct ifnet *ifp,
sa.sa_family = AF_ARP;
sa.sa_len = 2;
arps = ARP_STAT_GETREF();
- arps[ARP_STAT_SNDTOTAL]++;
- arps[ARP_STAT_SENDREQUEST]++;
+ _NET_STATINC_REF(arps, ARP_STAT_SNDTOTAL);
+ _NET_STATINC_REF(arps, ARP_STAT_SENDREQUEST);
ARP_STAT_PUTREF();
if_output_lock(ifp, ifp, m, &sa, NULL);
}
@@ -779,7 +779,7 @@ in_arpinput(struct mbuf *m)
struct in_addr isaddr, itaddr, myaddr;
int op, rt_cmd, new_state = 0;
void *tha;
- uint64_t *arps;
+ net_stat_ref_t arps;
struct psref psref, psref_ia;
int s;
char ipbuf[INET_ADDRSTRLEN];
@@ -1166,8 +1166,8 @@ reply:
sa.sa_family = AF_ARP;
sa.sa_len = 2;
arps = ARP_STAT_GETREF();
- arps[ARP_STAT_SNDTOTAL]++;
- arps[ARP_STAT_SNDREPLY]++;
+ _NET_STATINC_REF(arps, ARP_STAT_SNDTOTAL);
+ _NET_STATINC_REF(arps, ARP_STAT_SNDREPLY);
ARP_STAT_PUTREF();
if_output_lock(ifp, ifp, m, &sa, NULL);
if (rcvif != NULL)
Index: src/sys/netinet/ip_flow.c
diff -u src/sys/netinet/ip_flow.c:1.85 src/sys/netinet/ip_flow.c:1.86
--- src/sys/netinet/ip_flow.c:1.85 Fri Feb 19 14:51:59 2021
+++ src/sys/netinet/ip_flow.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_flow.c,v 1.85 2021/02/19 14:51:59 christos Exp $ */
+/* $NetBSD: ip_flow.c,v 1.86 2024/06/29 12:59:08 riastradh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_flow.c,v 1.85 2021/02/19 14:51:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_flow.c,v 1.86 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_net_mpsafe.h"
@@ -368,7 +368,7 @@ static void
ipflow_addstats(struct ipflow *ipf)
{
struct rtentry *rt;
- uint64_t *ips;
+ net_stat_ref_t ips;
rt = rtcache_validate(&ipf->ipf_ro);
if (rt != NULL) {
@@ -377,10 +377,11 @@ ipflow_addstats(struct ipflow *ipf)
}
ips = IP_STAT_GETREF();
- ips[IP_STAT_CANTFORWARD] += ipf->ipf_errors + ipf->ipf_dropped;
- ips[IP_STAT_TOTAL] += ipf->ipf_uses;
- ips[IP_STAT_FORWARD] += ipf->ipf_uses;
- ips[IP_STAT_FASTFORWARD] += ipf->ipf_uses;
+ _NET_STATADD_REF(ips, IP_STAT_CANTFORWARD,
+ ipf->ipf_errors + ipf->ipf_dropped);
+ _NET_STATADD_REF(ips, IP_STAT_TOTAL, ipf->ipf_uses);
+ _NET_STATADD_REF(ips, IP_STAT_FORWARD, ipf->ipf_uses);
+ _NET_STATADD_REF(ips, IP_STAT_FASTFORWARD, ipf->ipf_uses);
IP_STAT_PUTREF();
}
@@ -476,7 +477,7 @@ ipflow_slowtimo_work(struct work *wk, vo
{
struct rtentry *rt;
struct ipflow *ipf, *next_ipf;
- uint64_t *ips;
+ net_stat_ref_t ips;
/* We can allow enqueuing another work at this point */
atomic_swap_uint(&ipflow_work_enqueued, 0);
@@ -493,9 +494,10 @@ ipflow_slowtimo_work(struct work *wk, vo
rt->rt_use += ipf->ipf_uses;
rtcache_unref(rt, &ipf->ipf_ro);
ips = IP_STAT_GETREF();
- ips[IP_STAT_TOTAL] += ipf->ipf_uses;
- ips[IP_STAT_FORWARD] += ipf->ipf_uses;
- ips[IP_STAT_FASTFORWARD] += ipf->ipf_uses;
+ _NET_STATADD_REF(ips, IP_STAT_TOTAL, ipf->ipf_uses);
+ _NET_STATADD_REF(ips, IP_STAT_FORWARD, ipf->ipf_uses);
+ _NET_STATADD_REF(ips, IP_STAT_FASTFORWARD,
+ ipf->ipf_uses);
IP_STAT_PUTREF();
ipf->ipf_uses = 0;
}
Index: src/sys/netinet/ip_input.c
diff -u src/sys/netinet/ip_input.c:1.402 src/sys/netinet/ip_input.c:1.403
--- src/sys/netinet/ip_input.c:1.402 Fri Sep 2 03:50:00 2022
+++ src/sys/netinet/ip_input.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_input.c,v 1.402 2022/09/02 03:50:00 thorpej Exp $ */
+/* $NetBSD: ip_input.c,v 1.403 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -91,7 +91,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_input.c,v 1.402 2022/09/02 03:50:00 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_input.c,v 1.403 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1333,7 +1333,7 @@ ip_forward(struct mbuf *m, int srcrt, st
struct sockaddr dst;
struct sockaddr_in dst4;
} u;
- uint64_t *ips;
+ net_stat_ref_t ips;
struct route *ro;
KASSERTMSG(cpu_softintr_p(), "ip_forward: not in the software "
@@ -1422,10 +1422,10 @@ ip_forward(struct mbuf *m, int srcrt, st
}
ips = IP_STAT_GETREF();
- ips[IP_STAT_FORWARD]++;
+ _NET_STATINC_REF(ips, IP_STAT_FORWARD);
if (type) {
- ips[IP_STAT_REDIRECTSENT]++;
+ _NET_STATINC_REF(ips, IP_STAT_REDIRECTSENT);
IP_STAT_PUTREF();
goto redirect;
}
Index: src/sys/netinet/raw_ip.c
diff -u src/sys/netinet/raw_ip.c:1.184 src/sys/netinet/raw_ip.c:1.185
--- src/sys/netinet/raw_ip.c:1.184 Fri Nov 4 09:00:58 2022
+++ src/sys/netinet/raw_ip.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: raw_ip.c,v 1.184 2022/11/04 09:00:58 ozaki-r Exp $ */
+/* $NetBSD: raw_ip.c,v 1.185 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.184 2022/11/04 09:00:58 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.185 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -219,13 +219,13 @@ rip_input(struct mbuf *m, int off, int p
if (last != NULL) {
rip_sbappendaddr(last, ip, sintosa(&ripsrc), hlen, m);
} else if (inetsw[ip_protox[ip->ip_p]].pr_input == rip_input) {
- uint64_t *ips;
+ net_stat_ref_t ips;
icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_PROTOCOL,
0, 0);
ips = IP_STAT_GETREF();
- ips[IP_STAT_NOPROTO]++;
- ips[IP_STAT_DELIVERED]--;
+ _NET_STATINC_REF(ips, IP_STAT_NOPROTO);
+ _NET_STATDEC_REF(ips, IP_STAT_DELIVERED);
IP_STAT_PUTREF();
} else {
m_freem(m);
Index: src/sys/netinet/tcp_input.c
diff -u src/sys/netinet/tcp_input.c:1.438 src/sys/netinet/tcp_input.c:1.439
--- src/sys/netinet/tcp_input.c:1.438 Fri Nov 4 09:01:53 2022
+++ src/sys/netinet/tcp_input.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_input.c,v 1.438 2022/11/04 09:01:53 ozaki-r Exp $ */
+/* $NetBSD: tcp_input.c,v 1.439 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -138,7 +138,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.438 2022/11/04 09:01:53 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.439 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -462,7 +462,7 @@ tcp_reass(struct tcpcb *tp, const struct
#ifdef TCP_REASS_COUNTERS
u_int count = 0;
#endif
- uint64_t *tcps;
+ net_stat_ref_t tcps;
so = tp->t_inpcb->inp_socket;
@@ -585,8 +585,8 @@ tcp_reass(struct tcpcb *tp, const struct
if (SEQ_LEQ(q->ipqe_seq, pkt_seq) &&
SEQ_GEQ(q->ipqe_seq + q->ipqe_len, pkt_seq + pkt_len)) {
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVDUPPACK]++;
- tcps[TCP_STAT_RCVDUPBYTE] += pkt_len;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVDUPBYTE, pkt_len);
TCP_STAT_PUTREF();
tcp_new_dsack(tp, pkt_seq, pkt_len);
m_freem(m);
@@ -728,11 +728,12 @@ insert_it:
*/
tp->t_rcvoopack++;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVOOPACK]++;
- tcps[TCP_STAT_RCVOOBYTE] += rcvoobyte;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVOOPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVOOBYTE, rcvoobyte);
if (rcvpartdupbyte) {
- tcps[TCP_STAT_RCVPARTDUPPACK]++;
- tcps[TCP_STAT_RCVPARTDUPBYTE] += rcvpartdupbyte;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPARTDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVPARTDUPBYTE,
+ rcvpartdupbyte);
}
TCP_STAT_PUTREF();
@@ -981,7 +982,7 @@ static void tcp_vtw_input(struct tcphdr
int tiflags;
int todrop;
uint32_t t_flags = 0;
- uint64_t *tcps;
+ net_stat_ref_t tcps;
tiflags = th->th_flags;
todrop = vp->rcv_nxt - th->th_seq;
@@ -1011,8 +1012,8 @@ static void tcp_vtw_input(struct tcphdr
t_flags |= TF_ACKNOW;
todrop = tlen;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVDUPPACK] += 1;
- tcps[TCP_STAT_RCVDUPBYTE] += todrop;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVDUPBYTE, todrop);
TCP_STAT_PUTREF();
} else if ((tiflags & TH_RST) &&
th->th_seq != vp->rcv_nxt) {
@@ -1023,8 +1024,9 @@ static void tcp_vtw_input(struct tcphdr
goto dropafterack_ratelim;
} else {
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVPARTDUPPACK] += 1;
- tcps[TCP_STAT_RCVPARTDUPBYTE] += todrop;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPARTDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVPARTDUPBYTE,
+ todrop);
TCP_STAT_PUTREF();
}
@@ -1198,7 +1200,7 @@ tcp_input(struct mbuf *m, int off, int p
struct mbuf *tcp_saveti = NULL;
uint32_t ts_rtt;
uint8_t iptos;
- uint64_t *tcps;
+ net_stat_ref_t tcps;
vestigial_inpcb_t vestige;
vestige.valid = 0;
@@ -1841,9 +1843,10 @@ after_listen:
tcp_now - tp->t_rtttime);
acked = th->th_ack - tp->snd_una;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_PREDACK]++;
- tcps[TCP_STAT_RCVACKPACK]++;
- tcps[TCP_STAT_RCVACKBYTE] += acked;
+ _NET_STATINC_REF(tcps, TCP_STAT_PREDACK);
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVACKPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVACKBYTE,
+ acked);
TCP_STAT_PUTREF();
nd_hint(tp);
@@ -1924,9 +1927,9 @@ after_listen:
tp->snd_wl1 = th->th_seq;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_PREDDAT]++;
- tcps[TCP_STAT_RCVPACK]++;
- tcps[TCP_STAT_RCVBYTE] += tlen;
+ _NET_STATINC_REF(tcps, TCP_STAT_PREDDAT);
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVBYTE, tlen);
TCP_STAT_PUTREF();
nd_hint(tp);
/*
@@ -2139,8 +2142,9 @@ after_listen:
tlen = tp->rcv_wnd;
tiflags &= ~TH_FIN;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVPACKAFTERWIN]++;
- tcps[TCP_STAT_RCVBYTEAFTERWIN] += todrop;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPACKAFTERWIN);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVBYTEAFTERWIN,
+ todrop);
TCP_STAT_PUTREF();
}
tp->snd_wl1 = th->th_seq - 1;
@@ -2188,9 +2192,9 @@ after_listen:
tp->ts_recent = 0;
} else {
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVDUPPACK]++;
- tcps[TCP_STAT_RCVDUPBYTE] += tlen;
- tcps[TCP_STAT_PAWSDROP]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVDUPBYTE, tlen);
+ _NET_STATINC_REF(tcps, TCP_STAT_PAWSDROP);
TCP_STAT_PUTREF();
tcp_new_dsack(tp, th->th_seq, tlen);
goto dropafterack;
@@ -2230,8 +2234,8 @@ after_listen:
todrop = tlen;
dupseg = true;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVDUPPACK]++;
- tcps[TCP_STAT_RCVDUPBYTE] += todrop;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVDUPBYTE, todrop);
TCP_STAT_PUTREF();
} else if ((tiflags & TH_RST) && th->th_seq != tp->rcv_nxt) {
/*
@@ -2241,8 +2245,9 @@ after_listen:
goto dropafterack_ratelim;
} else {
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVPARTDUPPACK]++;
- tcps[TCP_STAT_RCVPARTDUPBYTE] += todrop;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPARTDUPPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVPARTDUPBYTE,
+ todrop);
TCP_STAT_PUTREF();
}
tcp_new_dsack(tp, th->th_seq, todrop);
@@ -2521,8 +2526,8 @@ after_listen:
}
acked = th->th_ack - tp->snd_una;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVACKPACK]++;
- tcps[TCP_STAT_RCVACKBYTE] += acked;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVACKPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVACKBYTE, acked);
TCP_STAT_PUTREF();
/*
@@ -2759,8 +2764,8 @@ dodata:
tp->rcv_nxt += tlen;
tiflags = th->th_flags & TH_FIN;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_RCVPACK]++;
- tcps[TCP_STAT_RCVBYTE] += tlen;
+ _NET_STATINC_REF(tcps, TCP_STAT_RCVPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_RCVBYTE, tlen);
TCP_STAT_PUTREF();
nd_hint(tp);
if (so->so_state & SS_CANTRCVMORE) {
Index: src/sys/netinet/tcp_output.c
diff -u src/sys/netinet/tcp_output.c:1.219 src/sys/netinet/tcp_output.c:1.220
--- src/sys/netinet/tcp_output.c:1.219 Wed Sep 13 15:54:28 2023
+++ src/sys/netinet/tcp_output.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_output.c,v 1.219 2023/09/13 15:54:28 bouyer Exp $ */
+/* $NetBSD: tcp_output.c,v 1.220 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -135,7 +135,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_output.c,v 1.219 2023/09/13 15:54:28 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_output.c,v 1.220 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -402,18 +402,18 @@ tcp_build_datapkt(struct tcpcb *tp, stru
long len, int hdrlen, struct mbuf **mp)
{
struct mbuf *m, *m0;
- uint64_t *tcps;
+ net_stat_ref_t tcps;
tcps = TCP_STAT_GETREF();
if (tp->t_force && len == 1)
- tcps[TCP_STAT_SNDPROBE]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDPROBE);
else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) {
tp->t_sndrexmitpack++;
- tcps[TCP_STAT_SNDREXMITPACK]++;
- tcps[TCP_STAT_SNDREXMITBYTE] += len;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDREXMITPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_SNDREXMITBYTE, len);
} else {
- tcps[TCP_STAT_SNDPACK]++;
- tcps[TCP_STAT_SNDBYTE] += len;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDPACK);
+ _NET_STATADD_REF(tcps, TCP_STAT_SNDBYTE, len);
}
TCP_STAT_PUTREF();
@@ -534,7 +534,7 @@ tcp_output(struct tcpcb *tp)
#ifdef TCP_SIGNATURE
int sigoff = 0;
#endif
- uint64_t *tcps;
+ net_stat_ref_t tcps;
so = tp->t_inpcb->inp_socket;
ro = &tp->t_inpcb->inp_route;
@@ -1245,13 +1245,13 @@ reset: TCP_REASS_UNLOCK(tp);
} else {
tcps = TCP_STAT_GETREF();
if (tp->t_flags & TF_ACKNOW)
- tcps[TCP_STAT_SNDACKS]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDACKS);
else if (flags & (TH_SYN|TH_FIN|TH_RST))
- tcps[TCP_STAT_SNDCTRL]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDCTRL);
else if (SEQ_GT(tp->snd_up, tp->snd_una))
- tcps[TCP_STAT_SNDURG]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDURG);
else
- tcps[TCP_STAT_SNDWINUP]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDWINUP);
TCP_STAT_PUTREF();
MGETHDR(m, M_DONTWAIT, MT_HEADER);
@@ -1633,9 +1633,9 @@ out:
tp->t_pmtud_mtu_sent = packetlen;
tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_SNDTOTAL]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDTOTAL);
if (tp->t_flags & TF_DELACK)
- tcps[TCP_STAT_DELACK]++;
+ _NET_STATINC_REF(tcps, TCP_STAT_DELACK);
TCP_STAT_PUTREF();
/*
Index: src/sys/netinet/tcp_syncache.c
diff -u src/sys/netinet/tcp_syncache.c:1.6 src/sys/netinet/tcp_syncache.c:1.7
--- src/sys/netinet/tcp_syncache.c:1.6 Fri Nov 4 09:01:53 2022
+++ src/sys/netinet/tcp_syncache.c Sat Jun 29 12:59:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_syncache.c,v 1.6 2022/11/04 09:01:53 ozaki-r Exp $ */
+/* $NetBSD: tcp_syncache.c,v 1.7 2024/06/29 12:59:08 riastradh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_syncache.c,v 1.6 2022/11/04 09:01:53 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_syncache.c,v 1.7 2024/06/29 12:59:08 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -938,9 +938,9 @@ syn_cache_add(struct sockaddr *src, stru
sc->sc_timestamp = tb.ts_recent;
m_freem(m);
if (syn_cache_respond(sc) == 0) {
- uint64_t *tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_SNDACKS]++;
- tcps[TCP_STAT_SNDTOTAL]++;
+ net_stat_ref_t tcps = TCP_STAT_GETREF();
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDACKS);
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDTOTAL);
TCP_STAT_PUTREF();
}
return 1;
@@ -1046,9 +1046,9 @@ syn_cache_add(struct sockaddr *src, stru
sc->sc_tp = tp;
m_freem(m);
if (syn_cache_respond(sc) == 0) {
- uint64_t *tcps = TCP_STAT_GETREF();
- tcps[TCP_STAT_SNDACKS]++;
- tcps[TCP_STAT_SNDTOTAL]++;
+ net_stat_ref_t tcps = TCP_STAT_GETREF();
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDACKS);
+ _NET_STATINC_REF(tcps, TCP_STAT_SNDTOTAL);
TCP_STAT_PUTREF();
syn_cache_insert(sc, tp);
} else {