diff options
author | glebius <glebius@FreeBSD.org> | 2016-01-27 00:20:07 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2016-01-27 00:20:07 +0000 |
commit | 2f1de40ae4b267274d3f5ed990e642f42a26b013 (patch) | |
tree | 1e238b5c458a122f5d3018577d05f8c10b448a9b | |
parent | 2e623b340f634c5363b749d9a07efcf5c1c59163 (diff) | |
download | FreeBSD-src-2f1de40ae4b267274d3f5ed990e642f42a26b013.zip FreeBSD-src-2f1de40ae4b267274d3f5ed990e642f42a26b013.tar.gz |
Provide TCPSTAT_DEC() and TCPSTAT_FETCH() macros.
-rw-r--r-- | sys/net/vnet.h | 3 | ||||
-rw-r--r-- | sys/netinet/tcp_var.h | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/net/vnet.h b/sys/net/vnet.h index 7b43f83..75bb728 100644 --- a/sys/net/vnet.h +++ b/sys/net/vnet.h @@ -101,6 +101,9 @@ struct vnet { #define VNET_PCPUSTAT_ADD(type, name, f, v) \ counter_u64_add(VNET(name)[offsetof(type, f) / sizeof(uint64_t)], (v)) +#define VNET_PCPUSTAT_FETCH(type, name, f) \ + counter_u64_fetch(VNET(name)[offsetof(type, f) / sizeof(uint64_t)]) + #define VNET_PCPUSTAT_SYSINIT(name) \ static void \ vnet_##name##_init(const void *unused) \ diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 6cd4cf0..4712c6b 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -605,6 +605,9 @@ VNET_PCPUSTAT_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */ #define TCPSTAT_ADD(name, val) \ VNET_PCPUSTAT_ADD(struct tcpstat, tcpstat, name, (val)) #define TCPSTAT_INC(name) TCPSTAT_ADD(name, 1) +#define TCPSTAT_DEC(name) TCPSTAT_ADD(name, -1) +#define TCPSTAT_FETCH(name) VNET_PCPUSTAT_FETCH(struct tcpstat, tcpstat, \ + name) /* * Kernel module consumers must use this accessor macro. |