I have been having trouble getting the perl mib agent examples going.  Does not 
seem to register the OID.  Below I include a) test-mib.pl,  b) snmpd.conf, c) 
output from 'snmpd' cmd, d) output from good 'snmpget' and f) failed 'snmpget' 
on new OID.

Any suggestions?

Thanks,
Bob Cole
===========================================



test-mib.pl:
===========================================
use NetSNMP::OID (':all');
use NetSNMP::agent (':all');


sub myhandler {
    my ($handler, $registration_info, $request_info, $requests) = @_;
    my $request;

            for($request = $requests; $request; $request = $request->next()) {
                my $oid = $request->getOID();
                if ($request_info->getMode() == MODE_GET) {
                    # ... generally, you would calculate value from oid
                    if ($oid == new 
NetSNMP::OID(".1.3.6.1.4.1.8072.9999.9999.7375.1.0")) {
                        $request->setValue(ASN_OCTET_STR, "hello world!");
                    }
                } elsif ($request_info->getMode() == MODE_GETNEXT) {
                    # ... generally, you would calculate value from oid
                    if ($oid < new 
NetSNMP::OID(".1.3.6.1.4.1.8072.9999.9999.7375.1.0")) {
                        
$request->setOID(".1.3.6.1.4.1.8072.9999.9999.7375.1.0");
                        $request->setValue(ASN_OCTET_STR, "hello world!");
                    }
                }
                #elsif ($request_info->getMode() == MODE_SET_RESERVE1) {
                #   if ($oid != new 
NetSNMP::OID(".1.3.6.1.4.1.8072.9999.9999.7375.1.0")) {  
                        # do error checking here
                #       $request->setError($request_info, SNMP_ERR_NOSUCHNAME);
                #   }
                #} elsif ($request_info->getMode() == MODE_SET_ACTION) {
                    # ... (or use the value)
                    #    $value = $request->getValue();
                    #}
            }
        }


    #
    # Associate the handler with a particular OID tree
    #
    my $rootOID = ".1.3.6.1.4.1.8072.9999.9999.7375";
    my $regoid = new NetSNMP::OID($rootOID); 
    $agent->register("Bob Net-SNMP Agen", $regoid, \&myhandler);

    print STDERR "Loaded the Bob example perl snmpagent handler\n";

===========================================


snmpd.conf:
===========================================
###########################################################################
#
# snmpd.conf
#
#   - created by the snmpconf configuration program
#
###########################################################################
# SECTION: System Information Setup
#
#   This section defines some of the information reported in
#   the "system" mib group in the mibII tree.

# syslocation: The [typically physical] location of the system.
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysLocation.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  location_string

syslocation  rgc_laptop

# syscontact: The contact information for the administrator
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysContact.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  contact_string

syscontact  [email protected]
# sysservices: The proper value for the sysServices object.
#   arguments:  sysservices_number

sysservices 0




###########################################################################
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.

# rwuser: a SNMPv3 read-write user
#   arguments:  user [noauth|auth|priv] [restriction_oid]

rwuser  localhost noauth

# rouser: a SNMPv3 read-only user
#   arguments:  user [noauth|auth|priv] [restriction_oid]

rouser  localhost noauth

# rocommunity: a SNMPv1/SNMPv2c read-only access community name
#   arguments:  community [default|hostname|network/bits] [oid]

rocommunity  public

# rwcommunity: a SNMPv1/SNMPv2c read-write access community name
#   arguments:  community [default|hostname|network/bits] [oid]

rwcommunity  public


#####
#
# Embedded perl MIB support here
#
#####

#perl  print "\nStarting up the snmpd agent!\n\n";

perl do "/home/rgc/IETF/DEVELOPMENT/TEST/test-mib.pl";


===========================================

'snmpd -DPERL'   output:
===========================================
> snmpd -DPERL
No log handling enabled - turning on stderr logging
registered debug token PERL, 1
Loaded the Bob example perl snmpagent handler
r...@chapman:~/.snmp# NET-SNMP version 5.5

r...@chapman:~/.snmp# unknown var value type: 0

===========================================


'snmpget -v 2c -c public   127.0.0.1   sysUpTime.0'    output:
===========================================
> snmpget -v 2c -c public   127.0.0.1   sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1929) 0:00:19.29

===========================================


'snmpget -v 2c -c public   127.0.0.1  .1.3.6.1.4.1.8072.9999.9999.7375.1.0'    
output:
===========================================
> snmpget -v 2c -c public   127.0.0.1  .1.3.6.1.4.1.8072.9999.9999.7375.1.0
NET-SNMP-MIB::netSnmpPlaypen.7375.1.0 = No Such Instance currently exists at 
this OID

===========================================

------------------------------------------------------------------------------

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to