Difference between revisions of "IF-MIB rewrite"

From Net-SNMP Wiki
Jump to: navigation, search
(Porting Status)
m (Reverted edits by VaracEldel (Talk); changed back to last version by Tanders)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Starting with net-snmp 5.2 there's a new IF-MIB implementation that covers much more MIB objects (e.g. 64-bit ifHC* counters) than the old instrumentation. This IF-MIB rewrite has initially been provided for Linux only, but can easily be ported to other platforms.
+
Starting with net-snmp 5.2 there's a new IF-MIB implementation that covers much more MIB objects (e.g. ifXTable with 64-bit ifHC* counters) than the old instrumentation. This IF-MIB rewrite has initially been provided for Linux only, but has already been ported to others and can easily be ported to more platforms.
  
 
== Porting Status ==
 
== Porting Status ==
  
net-snmp 5.2.x (configure --enable-mfd-rewrites) and 5.3.x (by default) support the new IF-MIB implementation for '''Linux''' only. net-snmp 5.4.x will also have support for '''OpenBSD, FreeBSD and Solaris''' (off by default, need to "./configure --enable-mfd-rewrites", also enabled the udp-mib and tcp-mib rewrites for Solaris).
+
net-snmp 5.2.x (configure --enable-mfd-rewrites) and 5.3.x (by default) support the new IF-MIB implementation for '''Linux''' only. net-snmp 5.4 and later also has support for '''OpenBSD, FreeBSD and Solaris''' (off by default, need to "./configure --enable-mfd-rewrites", also enables the udp-mib and tcp-mib rewrites for Solaris).
  
 
== Porting HOWTO ==
 
== Porting HOWTO ==

Latest revision as of 15:55, 7 October 2007

Starting with net-snmp 5.2 there's a new IF-MIB implementation that covers much more MIB objects (e.g. ifXTable with 64-bit ifHC* counters) than the old instrumentation. This IF-MIB rewrite has initially been provided for Linux only, but has already been ported to others and can easily be ported to more platforms.

Porting Status

net-snmp 5.2.x (configure --enable-mfd-rewrites) and 5.3.x (by default) support the new IF-MIB implementation for Linux only. net-snmp 5.4 and later also has support for OpenBSD, FreeBSD and Solaris (off by default, need to "./configure --enable-mfd-rewrites", also enables the udp-mib and tcp-mib rewrites for Solaris).

Porting HOWTO

Here's what needs to be done to port the IF-MIB rewrite to a new platform. We're looking for volunteers!

There's really only one pair of files that need to be coded:

 agent/mibgroup/if-mib/data_access/interface_XXXX.[ch]

It should contain the following routines:

 netsnmp_arch_interface_init
 netsnmp_arch_interface_index_find
 netsnmp_arch_interface_container_load

See the routines for Linux for an example.

To see how the old implementation retrieved the relevant data from kernel, refer to

 agent/mibgroup/mibII/interfaces.c

and related files.

Discussion

If you're interested, please get in touch with us on the lists and/or IRC.