ip6stat
SYSCTL_VNET_PCPUSTAT(_net_inet6_ip6, IPV6CTL_STATS, stats, struct ip6stat,
ip6stat,
VNET_PCPUSTAT_DEFINE(struct ip6stat, ip6stat);
VNET_PCPUSTAT_SYSINIT(ip6stat);
VNET_PCPUSTAT_SYSUNINIT(ip6stat);
VNET_PCPUSTAT_DECLARE(struct ip6stat, ip6stat);
VNET_PCPUSTAT_ADD(struct ip6stat, ip6stat, name, (val)); \
VNET_PCPUSTAT_ADD(struct ip6stat, ip6stat, name, 1); \
struct ip6stat ip6stat;
if (fetch_stats("net.inet6.ip6.stats", off, &ip6stat,
sizeof(ip6stat), kread_counters) != 0)
#define p(f, m) if (ip6stat.f || sflag <= 1) \
xo_emit(m, (uintmax_t)ip6stat.f, plural(ip6stat.f))
#define p1a(f, m) if (ip6stat.f || sflag <= 1) \
xo_emit(m, (uintmax_t)ip6stat.f)
if (ip6stat.ip6s_nxthist[i] != 0) {
(uintmax_t)ip6stat.ip6s_nxthist[i]);
(uintmax_t)ip6stat.ip6s_m1);
if (ip6stat.ip6s_m2m[i] != 0) {
(uintmax_t)ip6stat.ip6s_m2m[i]);
(uintmax_t)ip6stat.ip6s_mext1);
"{N:/two or more ext mbuf}\n", (uintmax_t)ip6stat.ip6s_mext2m);
i, (uintmax_t)ip6stat.s, i); \
if (ip6stat.ip6s_sources_sameif[i]) {
if (ip6stat.ip6s_sources_otherif[i]) {
if (ip6stat.ip6s_sources_samescope[i]) {
if (ip6stat.ip6s_sources_otherscope[i]) {
if (ip6stat.ip6s_sources_deprecated[i]) {
if (ip6stat.ip6s_sources_rule[i]) {
(uintmax_t)ip6stat.ip6s_sources_rule[i],
domode(struct ip6stat *ret)
const struct ip6stat *sub;
struct ip6stat stats;
static struct ip6stat curstat, initstat, oldstat;