mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-27 17:52:43 +00:00
MFC r272284
Fix integer truncation in affecting systat -ifstat The "systat -ifstat" command was using a u_int to store byte counters. With a 10Gbps or faster interface, this overflows within the default 5 second refresh period. Switch to using a uint64_t across the board, which matches the size used for all counters as of r263102. PR: 182448 MFC after: 1 week Sponsored by: Sandvine Inc
This commit is contained in:
parent
1c9f1b3230
commit
135e604306
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=279473
@ -68,14 +68,14 @@ struct if_stat {
|
||||
struct ifmibdata if_mib;
|
||||
struct timeval tv;
|
||||
struct timeval tv_lastchanged;
|
||||
u_long if_in_curtraffic;
|
||||
u_long if_out_curtraffic;
|
||||
u_long if_in_traffic_peak;
|
||||
u_long if_out_traffic_peak;
|
||||
u_long if_in_curpps;
|
||||
u_long if_out_curpps;
|
||||
u_long if_in_pps_peak;
|
||||
u_long if_out_pps_peak;
|
||||
uint64_t if_in_curtraffic;
|
||||
uint64_t if_out_curtraffic;
|
||||
uint64_t if_in_traffic_peak;
|
||||
uint64_t if_out_traffic_peak;
|
||||
uint64_t if_in_curpps;
|
||||
uint64_t if_out_curpps;
|
||||
uint64_t if_in_pps_peak;
|
||||
uint64_t if_out_pps_peak;
|
||||
u_int if_row; /* Index into ifmib sysctl */
|
||||
u_int if_ypos; /* 0 if not being displayed */
|
||||
u_int display;
|
||||
@ -263,8 +263,8 @@ fetchifstat(void)
|
||||
struct if_stat *ifp = NULL;
|
||||
struct timeval tv, new_tv, old_tv;
|
||||
double elapsed = 0.0;
|
||||
u_int new_inb, new_outb, old_inb, old_outb = 0;
|
||||
u_int new_inp, new_outp, old_inp, old_outp = 0;
|
||||
uint64_t new_inb, new_outb, old_inb, old_outb = 0;
|
||||
uint64_t new_inp, new_outp, old_inp, old_outp = 0;
|
||||
|
||||
SLIST_FOREACH(ifp, &curlist, link) {
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user