Hello!
How to get value in perl extension via command as below.
snmpset -c private -v 1 localhost .1.3.6.1.4.1.318.2.1.2.1.2.1 s 2222
i.e. How to get the value "2222" for the variable $string_value
Thanks
----- code -----
#!/usr/bin/perl
use NetSNMP::OID (':all');
use NetSNMP::agent (':all');
use NetSNMP::ASN qw(ASN_IPADDRESS ASN_GAUGE ASN_OCTET_STR);
sub hello_handler {
my ($handler, $registration_info, $request_info, $requests) = @_;
my $request;
my $string_value = "1234";
my $string_ASN = ASN_OCTET_STR;
for($request = $requests; $request; $request = $request->next()) {
my $oid = $request->getOID();
# SET mode
if ($request_info->getMode() == MODE_SET) {
if ($oid == new NetSNMP::OID(".1.3.6.1.4.1.318.2.1.2.1.2.1")) {
$request->setValue($string_ASN, ($string_value));
}
elsif ($oid == new NetSNMP::OID(".1.3.6.1.4.1.318.2.1.2.1.2.1")) {
$request->setValue($string_ASN, ($string_value));
}
} elsif ($request_info->getMode() == MODE_GETNEXT) {
if ($oid == new NetSNMP::OID(".1.3.6.1.4.1.318.2.1.2.1.2.1")) {
$request->setOID(".1.3.6.1.4.1.318.2.1.2.1.2.1");
$request->setValue($string_ASN, ($string_value));
}
elsif ($oid < new NetSNMP::OID(".1.3.6.1.4.1.318.2.1.2.1.2.1")) {
$request->setOID(".1.3.6.1.4.1.318.2.1.2.1.2.1");
$request->setValue($string_ASN, ($string_value));
}
}
}
}
my $agent = new NetSNMP::agent();
$agent->register(".1.3.6.1.4.1.318.2.1.2.1.2.1",
".1.3.6.1.4.1.318.2.1.2.1.2.1",
\&hello_handler);
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders