Skip to content

MFD:ifTable:Testing

Bill Fenner edited this page Aug 30, 2018 · 1 revision

MFD : ifTable testing

If you have not been compiling as you went along, try and compile now.

$

make -f ifTable_Makefile

After running make, you should have an executable named ifTable.

Starting the agent

You can run the ifTable agent as a regular SNMP agent, or as an AgentX sub-agent. The default is to run as a sub-agent. While testing, the -f (do not fork into background) and -L (log to stderr) options are recommended.

AgentX Sub-agent:

ifTable -f -L

Standard SNMP Agent:

ifTable -M -f -L [udp[:port]]

Note that running the sub-agent application as a master agent will runwithout any access control. All SNMPv1 and SNMPv2c requests will be accepted, regardless of the community string.

For that reason, when testing I run as a regular user (not root), and only bind to the localhost interface, like so:

$./ifTable -f -L -DifTable -M localhost:1161 2004-04-21 21:51:47 ifTable:init_ifTable: Registering ifTable as a mibs-for-dummies table. 2004-04-21 21:51:48 ifTable: using linux 2.2 kernel /proc/net/dev            

Querying the agent

A simple snmpwalk will quickly test the module:

$snmpwalk -v1 localhost:1161 ifTable IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifDescr.1 = STRING:  IF-MIB::ifDescr.2 = STRING:  IF-MIB::ifDescr.3 = STRING:  IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.3 = INTEGER: tunnel(131) IF-MIB::ifPhysAddress.1 = STRING: 0:0:0:0:0:0 IF-MIB::ifPhysAddress.2 = STRING: 0:30:65:cd:a3:c8 IF-MIB::ifPhysAddress.3 = STRING: 0:0:0:0:0:0 IF-MIB::ifInOctets.1 = Counter32: 51368348 IF-MIB::ifInOctets.2 = Counter32: 2666605618 IF-MIB::ifInOctets.3 = Counter32: 0 IF-MIB::ifInUcastPkts.1 = Counter32: 415774 IF-MIB::ifInUcastPkts.2 = Counter32: 13971039 IF-MIB::ifInUcastPkts.3 = Counter32: 0 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInDiscards.2 = Counter32: 0 IF-MIB::ifInDiscards.3 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifInErrors.2 = Counter32: 0 IF-MIB::ifInErrors.3 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 51370076 IF-MIB::ifOutOctets.2 = Counter32: 879325033 IF-MIB::ifOutOctets.3 = Counter32: 0 IF-MIB::ifOutUcastPkts.1 = Counter32: 415798 IF-MIB::ifOutUcastPkts.2 = Counter32: 8046959 IF-MIB::ifOutUcastPkts.3 = Counter32: 0 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutDiscards.2 = Counter32: 0 IF-MIB::ifOutDiscards.3 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 IF-MIB::ifOutErrors.2 = Counter32: 0 IF-MIB::ifOutErrors.3 = Counter32: 0 IF-MIB::ifSpecific.3 = No more variables left in this MIB View (It is past the end of the MIB tree)

If you ran the agent with debugging, you should see something like this:

$./ifTable -f -L -DifTable -M localhost:1161 2004-04-21 21:51:47 ifTable:init_ifTable: Registering ifTable as a mibs-for-dummies table. 2004-04-21 21:51:48 ifTable: using linux 2.2 kernel /proc/net/dev

Clone this wiki locally