Changeset View
Changeset View
Standalone View
Standalone View
head/usr.bin/netstat/mroute.c
Show First 20 Lines • Show All 403 Lines • ▼ Show 20 Lines | |||||
void | void | ||||
mrt_stats() | mrt_stats() | ||||
{ | { | ||||
struct mrtstat mrtstat; | struct mrtstat mrtstat; | ||||
u_long mstaddr; | u_long mstaddr; | ||||
mstaddr = nl[N_MRTSTAT].n_value; | mstaddr = nl[N_MRTSTAT].n_value; | ||||
if (mstaddr == 0) { | if (fetch_stats("net.inet.ip.mrtstat", mstaddr, &mrtstat, | ||||
sizeof(mrtstat), kread_counters) != 0) { | |||||
if ((live && errno == ENOENT) || (!live && mstaddr == 0)) | |||||
fprintf(stderr, "No IPv4 MROUTING kernel support.\n"); | fprintf(stderr, "No IPv4 MROUTING kernel support.\n"); | ||||
return; | return; | ||||
} | } | ||||
if (fetch_stats("net.inet.ip.mrtstat", mstaddr, &mrtstat, | |||||
sizeof(mrtstat), kread_counters) != 0) | |||||
return; | |||||
xo_emit("{T:IPv4 multicast forwarding}:\n"); | xo_emit("{T:IPv4 multicast forwarding}:\n"); | ||||
#define p(f, m) if (mrtstat.f || sflag <= 1) \ | #define p(f, m) if (mrtstat.f || sflag <= 1) \ | ||||
xo_emit(m, (uintmax_t)mrtstat.f, plural(mrtstat.f)) | xo_emit(m, (uintmax_t)mrtstat.f, plural(mrtstat.f)) | ||||
#define p2(f, m) if (mrtstat.f || sflag <= 1) \ | #define p2(f, m) if (mrtstat.f || sflag <= 1) \ | ||||
xo_emit(m, (uintmax_t)mrtstat.f, plurales(mrtstat.f)) | xo_emit(m, (uintmax_t)mrtstat.f, plurales(mrtstat.f)) | ||||
Show All 33 Lines |