summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_var.h
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2013-07-09 09:43:03 +0000
committerae <ae@FreeBSD.org>2013-07-09 09:43:03 +0000
commit1b1e1de2b2e27f692afabbf18eee1f7a70caa049 (patch)
treeae9cc37d3d61216f4f205b4e2bf561b5cf5ea330 /sys/netinet/tcp_var.h
parent027c687189cc0647592f671691e0a08064401c1d (diff)
downloadFreeBSD-src-1b1e1de2b2e27f692afabbf18eee1f7a70caa049.zip
FreeBSD-src-1b1e1de2b2e27f692afabbf18eee1f7a70caa049.tar.gz
Use new macros to implement ipstat and tcpstat using PCPU counters.
Change interface of kread_counters() similar ot kread() in the netstat(1).
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r--sys/netinet/tcp_var.h113
1 files changed, 4 insertions, 109 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index 0445d8c..cfba5d9 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -514,119 +514,15 @@ struct tcpstat {
};
#ifdef _KERNEL
-
#include <sys/counter.h>
-/* Should match 'struct tcpstat' above. */
-struct tcpstat_p {
- counter_u64_t tcps_connattempt;
- counter_u64_t tcps_accepts;
- counter_u64_t tcps_connects;
- counter_u64_t tcps_drops;
- counter_u64_t tcps_conndrops;
- counter_u64_t tcps_minmssdrops;
- counter_u64_t tcps_closed;
- counter_u64_t tcps_segstimed;
- counter_u64_t tcps_rttupdated;
- counter_u64_t tcps_delack;
- counter_u64_t tcps_timeoutdrop;
- counter_u64_t tcps_rexmttimeo;
- counter_u64_t tcps_persisttimeo;
- counter_u64_t tcps_keeptimeo;
- counter_u64_t tcps_keepprobe;
- counter_u64_t tcps_keepdrops;
- counter_u64_t tcps_sndtotal;
- counter_u64_t tcps_sndpack;
- counter_u64_t tcps_sndbyte;
- counter_u64_t tcps_sndrexmitpack;
- counter_u64_t tcps_sndrexmitbyte;
- counter_u64_t tcps_sndrexmitbad;
- counter_u64_t tcps_sndacks;
- counter_u64_t tcps_sndprobe;
- counter_u64_t tcps_sndurg;
- counter_u64_t tcps_sndwinup;
- counter_u64_t tcps_sndctrl;
- counter_u64_t tcps_rcvtotal;
- counter_u64_t tcps_rcvpack;
- counter_u64_t tcps_rcvbyte;
- counter_u64_t tcps_rcvbadsum;
- counter_u64_t tcps_rcvbadoff;
- counter_u64_t tcps_rcvmemdrop;
- counter_u64_t tcps_rcvshort;
- counter_u64_t tcps_rcvduppack;
- counter_u64_t tcps_rcvdupbyte;
- counter_u64_t tcps_rcvpartduppack;
- counter_u64_t tcps_rcvpartdupbyte;
- counter_u64_t tcps_rcvoopack;
- counter_u64_t tcps_rcvoobyte;
- counter_u64_t tcps_rcvpackafterwin;
- counter_u64_t tcps_rcvbyteafterwin;
- counter_u64_t tcps_rcvafterclose;
- counter_u64_t tcps_rcvwinprobe;
- counter_u64_t tcps_rcvdupack;
- counter_u64_t tcps_rcvacktoomuch;
- counter_u64_t tcps_rcvackpack;
- counter_u64_t tcps_rcvackbyte;
- counter_u64_t tcps_rcvwinupd;
- counter_u64_t tcps_pawsdrop;
- counter_u64_t tcps_predack;
- counter_u64_t tcps_preddat;
- counter_u64_t tcps_pcbcachemiss;
- counter_u64_t tcps_cachedrtt;
- counter_u64_t tcps_cachedrttvar;
- counter_u64_t tcps_cachedssthresh;
- counter_u64_t tcps_usedrtt;
- counter_u64_t tcps_usedrttvar;
- counter_u64_t tcps_usedssthresh;
- counter_u64_t tcps_persistdrop;
- counter_u64_t tcps_badsyn;
- counter_u64_t tcps_mturesent;
- counter_u64_t tcps_listendrop;
- counter_u64_t tcps_badrst;
- counter_u64_t tcps_sc_added;
- counter_u64_t tcps_sc_retransmitted;
- counter_u64_t tcps_sc_dupsyn;
- counter_u64_t tcps_sc_dropped;
- counter_u64_t tcps_sc_completed;
- counter_u64_t tcps_sc_bucketoverflow;
- counter_u64_t tcps_sc_cacheoverflow;
- counter_u64_t tcps_sc_reset;
- counter_u64_t tcps_sc_stale;
- counter_u64_t tcps_sc_aborted;
- counter_u64_t tcps_sc_badack;
- counter_u64_t tcps_sc_unreach;
- counter_u64_t tcps_sc_zonefail;
- counter_u64_t tcps_sc_sendcookie;
- counter_u64_t tcps_sc_recvcookie;
- counter_u64_t tcps_hc_added;
- counter_u64_t tcps_hc_bucketoverflow;
- counter_u64_t tcps_finwait2_drops;
- counter_u64_t tcps_sack_recovery_episode;
- counter_u64_t tcps_sack_rexmits;
- counter_u64_t tcps_sack_rexmit_bytes;
- counter_u64_t tcps_sack_rcv_blocks;
- counter_u64_t tcps_sack_send_blocks;
- counter_u64_t tcps_sack_sboverflow;
- counter_u64_t tcps_ecn_ce;
- counter_u64_t tcps_ecn_ect0;
- counter_u64_t tcps_ecn_ect1;
- counter_u64_t tcps_ecn_shs;
- counter_u64_t tcps_ecn_rcwnd;
- counter_u64_t tcps_sig_rcvgoodsig;
- counter_u64_t tcps_sig_rcvbadsig;
- counter_u64_t tcps_sig_err_buildsig;
- counter_u64_t tcps_sig_err_sigopt;
- counter_u64_t tcps_sig_err_nosigopt;
-};
-
-VNET_DECLARE(struct tcpstat_p, tcpstatp); /* tcp statistics */
-#define V_tcpstatp VNET(tcpstatp)
-
+VNET_PCPUSTAT_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */
/*
* In-kernel consumers can use these accessor macros directly to update
* stats.
*/
-#define TCPSTAT_ADD(name, val) counter_u64_add(V_tcpstatp.name, (val))
+#define TCPSTAT_ADD(name, val) \
+ VNET_PCPUSTAT_ADD(struct tcpstat, tcpstat, name, (val))
#define TCPSTAT_INC(name) TCPSTAT_ADD(name, 1)
/*
@@ -634,8 +530,7 @@ VNET_DECLARE(struct tcpstat_p, tcpstatp); /* tcp statistics */
*/
void kmod_tcpstat_inc(int statnum);
#define KMOD_TCPSTAT_INC(name) \
- kmod_tcpstat_inc(offsetof(struct tcpstat_p, name) / \
- sizeof(counter_u64_t))
+ kmod_tcpstat_inc(offsetof(struct tcpstat, name) / sizeof(uint64_t))
/*
* TCP specific helper hook point identifiers.
OpenPOWER on IntegriCloud