version 1.3, 1996/06/26 05:37:23 |
version 1.4, 1997/06/29 20:18:02 |
|
|
n /= 1048576; |
n /= 1048576; |
} |
} |
|
|
sprintf(buf, "%u%c", n, t); |
sprintf(buf, "%lu%c", n, t); |
return (buf); |
return (buf); |
} |
} |
|
|
|
|
struct mfc *mfcp, mfc; |
struct mfc *mfcp, mfc; |
register struct vif *v; |
register struct vif *v; |
register vifi_t vifi; |
register vifi_t vifi; |
struct in_addr *grp; |
|
int i; |
int i; |
int banner_printed; |
int banner_printed; |
int saved_nflag; |
int saved_nflag; |
|
|
printf(" %3u %3u %5u %-15.15s", |
printf(" %3u %3u %5u %-15.15s", |
vifi, v->v_threshold, v->v_rate_limit, |
vifi, v->v_threshold, v->v_rate_limit, |
routename(v->v_lcl_addr.s_addr)); |
routename(v->v_lcl_addr.s_addr)); |
printf(" %-15.15s %6u %7u\n", (v->v_flags & VIFF_TUNNEL) ? |
printf(" %-15.15s %6lu %7lu\n", (v->v_flags & VIFF_TUNNEL) ? |
routename(v->v_rmt_addr.s_addr) : "", |
routename(v->v_rmt_addr.s_addr) : "", |
v->v_pkt_in, v->v_pkt_out); |
v->v_pkt_in, v->v_pkt_out); |
} |
} |
|
|
|
|
kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat)); |
kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat)); |
printf("multicast routing:\n"); |
printf("multicast routing:\n"); |
printf("\t%d datagram%s with no route for origin\n", |
printf("\t%ld datagram%s with no route for origin\n", |
mrtstat.mrts_no_route, plural(mrtstat.mrts_no_route)); |
mrtstat.mrts_no_route, plural(mrtstat.mrts_no_route)); |
printf("\t%d upcall%s made to mrouted\n", |
printf("\t%ld upcall%s made to mrouted\n", |
mrtstat.mrts_upcalls, plural(mrtstat.mrts_upcalls)); |
mrtstat.mrts_upcalls, plural(mrtstat.mrts_upcalls)); |
printf("\t%d datagram%s with malformed tunnel options\n", |
printf("\t%ld datagram%s with malformed tunnel options\n", |
mrtstat.mrts_bad_tunnel, plural(mrtstat.mrts_bad_tunnel)); |
mrtstat.mrts_bad_tunnel, plural(mrtstat.mrts_bad_tunnel)); |
printf("\t%d datagram%s with no room for tunnel options\n", |
printf("\t%ld datagram%s with no room for tunnel options\n", |
mrtstat.mrts_cant_tunnel, plural(mrtstat.mrts_cant_tunnel)); |
mrtstat.mrts_cant_tunnel, plural(mrtstat.mrts_cant_tunnel)); |
printf("\t%d datagram%s arrived on wrong interface\n", |
printf("\t%ld datagram%s arrived on wrong interface\n", |
mrtstat.mrts_wrong_if, plural(mrtstat.mrts_wrong_if)); |
mrtstat.mrts_wrong_if, plural(mrtstat.mrts_wrong_if)); |
printf("\t%d datagram%s dropped due to upcall Q overflow\n", |
printf("\t%ld datagram%s dropped due to upcall Q overflow\n", |
mrtstat.mrts_upq_ovflw, plural(mrtstat.mrts_upq_ovflw)); |
mrtstat.mrts_upq_ovflw, plural(mrtstat.mrts_upq_ovflw)); |
printf("\t%d datagram%s dropped due to upcall socket overflow\n", |
printf("\t%ld datagram%s dropped due to upcall socket overflow\n", |
mrtstat.mrts_upq_sockfull, plural(mrtstat.mrts_upq_sockfull)); |
mrtstat.mrts_upq_sockfull, plural(mrtstat.mrts_upq_sockfull)); |
printf("\t%d datagram%s cleaned up by the cache\n", |
printf("\t%ld datagram%s cleaned up by the cache\n", |
mrtstat.mrts_cache_cleanups, plural(mrtstat.mrts_cache_cleanups)); |
mrtstat.mrts_cache_cleanups, plural(mrtstat.mrts_cache_cleanups)); |
printf("\t%d datagram%s dropped selectively by ratelimiter\n", |
printf("\t%ld datagram%s dropped selectively by ratelimiter\n", |
mrtstat.mrts_drop_sel, plural(mrtstat.mrts_drop_sel)); |
mrtstat.mrts_drop_sel, plural(mrtstat.mrts_drop_sel)); |
printf("\t%d datagram%s dropped - bucket Q overflow\n", |
printf("\t%ld datagram%s dropped - bucket Q overflow\n", |
mrtstat.mrts_q_overflow, plural(mrtstat.mrts_q_overflow)); |
mrtstat.mrts_q_overflow, plural(mrtstat.mrts_q_overflow)); |
printf("\t%d datagram%s dropped - larger than bkt size\n", |
printf("\t%ld datagram%s dropped - larger than bkt size\n", |
mrtstat.mrts_pkt2large, plural(mrtstat.mrts_pkt2large)); |
mrtstat.mrts_pkt2large, plural(mrtstat.mrts_pkt2large)); |
} |
} |