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 {