The NetSNMP::agent Perl module provides an agent object which is used to handle requests for a part of the agent's OID tree. The agent object's constructor has options for running the agent as a sub-agent of snmpd or a standalone agent. No arguments are necessary to create an embedded agent:
1: use NetSNMP::agent (':all'); 2: my $agent = new NetSNMP::agent();
The agent object has a register method which is used to register a callback function with a particular OID . The registerfunction takes a name, OID , and pointer to the callback function. The following example will register a callback function named hello_handler with the SNMP Agent which will handle requests under the OID . 1. 3. 6 . 1. 4 . 1. 8072. 9999 . 9999:
1: $agent->register("hello_tester", ".126.96.36.199.4.1.8072.9999.9999", 2: \& hello_handler);
The OID . 1. 3. 6 . 1. 4 . 1. 8072. 9999.9999 (NET -SNMP -MIB: : netSnmpPlaypen) is typically used for demonstration purposes only. If your organization does not already have a root OID , you can obtain one by contacting an ISO Name Registration Authority (ANSI in the United States).