Page MenuHomeFreeBSD

D47231.id145330.diff
No OneTemporary

D47231.id145330.diff

diff --git a/sys/net/route.c b/sys/net/route.c
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -74,6 +74,12 @@
#ifdef VIMAGE
VNET_PCPUSTAT_SYSUNINIT(rtstat);
#endif
+SYSCTL_VNET_PCPUSTAT(_net_route, OID_AUTO, stats, struct rtstat,
+ rtsat, "route statistics.");
+
+SYSCTL_DECL(_net_route);
+SYSCTL_VNET_PCPUSTAT(_net_route, OID_AUTO, stats, struct rtstat,
+ rtstat, "route statistics.");
EVENTHANDLER_LIST_DEFINE(rt_addrmsg);
diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c
--- a/usr.bin/netstat/main.c
+++ b/usr.bin/netstat/main.c
@@ -523,12 +523,9 @@
if (rflag) {
xo_open_container("statistics");
xo_set_version(NETSTAT_XO_VERSION);
- if (sflag) {
- if (live) {
- kresolve_list(nl);
- }
+ if (sflag)
rt_stats();
- } else
+ else
routepr(fib, af);
xo_close_container("statistics");
if (xo_finish() < 0)
diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c
--- a/usr.bin/netstat/route.c
+++ b/usr.bin/netstat/route.c
@@ -699,13 +699,11 @@
rt_stats(void)
{
struct rtstat rtstat;
- u_long rtsaddr;
- if ((rtsaddr = nl[N_RTSTAT].n_value) == 0) {
- xo_emit("{W:rtstat: symbol not in namelist}\n");
+ if (fetch_stats("net.route.stats", nl[N_RTSTAT].n_value, &rtstat,
+ sizeof(rtstat), kread_counters) != 0)
return;
- }
- kread_counters(rtsaddr, (char *)&rtstat, sizeof (rtstat));
+
xo_emit("{T:routing}:\n");
#define p(f, m) if (rtstat.f || sflag <= 1) \

File Metadata

Mime Type
text/plain
Expires
Fri, Jul 24, 4:33 AM (17 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35430622
Default Alt Text
D47231.id145330.diff (1 KB)

Event Timeline