diff options
author | harti <harti@FreeBSD.org> | 2006-02-13 14:11:18 +0000 |
---|---|---|
committer | harti <harti@FreeBSD.org> | 2006-02-13 14:11:18 +0000 |
commit | a923e07ab3efd8202b4be3f02e729f61e7aef5af (patch) | |
tree | 58f53ab4a3f529c38f0fc2c5d695c82f16c80100 /contrib/bsnmp/snmp_mibII/mibII.h | |
parent | af0ed09791e779050efb210d9304ae1e7100c129 (diff) | |
download | FreeBSD-src-a923e07ab3efd8202b4be3f02e729f61e7aef5af.zip FreeBSD-src-a923e07ab3efd8202b4be3f02e729f61e7aef5af.tar.gz |
Vendor fix: make mibII HC counters really 64-bit on 32-bit platforms by polling
the kernel periodically.
Submitted by: glebius (partly)
Diffstat (limited to 'contrib/bsnmp/snmp_mibII/mibII.h')
-rw-r--r-- | contrib/bsnmp/snmp_mibII/mibII.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/contrib/bsnmp/snmp_mibII/mibII.h b/contrib/bsnmp/snmp_mibII/mibII.h index 4b0803d..65c14cc 100644 --- a/contrib/bsnmp/snmp_mibII/mibII.h +++ b/contrib/bsnmp/snmp_mibII/mibII.h @@ -56,7 +56,6 @@ #include "snmp_mibII.h" #include "mibII_tree.h" - /* * Interface list and flags. */ @@ -66,12 +65,19 @@ enum { MIBIF_HIGHSPEED = 0x0002, MIBIF_VERYHIGHSPEED = 0x0004, }; -#define hc_inoctets mib.ifmd_data.ifi_ibytes -#define hc_outoctets mib.ifmd_data.ifi_obytes -#define hc_omcasts mib.ifmd_data.ifi_omcasts -#define hc_opackets mib.ifmd_data.ifi_opackets -#define hc_imcasts mib.ifmd_data.ifi_imcasts -#define hc_ipackets mib.ifmd_data.ifi_ipackets + +/* + * Private mibif data - hang off from the mibif. + */ +struct mibif_private { + uint64_t hc_inoctets; + uint64_t hc_outoctets; + uint64_t hc_omcasts; + uint64_t hc_opackets; + uint64_t hc_imcasts; + uint64_t hc_ipackets; +}; +#define MIBIF_PRIV(IFP) ((struct mibif_private *)((IFP)->private)) /* * Interface addresses. @@ -193,6 +199,18 @@ extern uint64_t mibarpticks; /* info on system clocks */ extern struct clockinfo clockinfo; +/* baud rate of fastest interface */ +extern uint64_t mibif_maxspeed; + +/* user-forced update interval */ +extern u_int mibif_force_hc_update_interval; + +/* current update interval */ +extern u_int mibif_hc_update_interval; + +/* re-compute update interval */ +void mibif_reset_hc_timer(void); + /* get interfaces and interface addresses. */ void mib_fetch_interfaces(void); |