Hi,
Thanks for the replies. I'm working on trying to unregister the oid according
to the link given below, using unregister_mib(oid, len). I'm assuming the oid
can be specified as a byte-string or integer array. The difficulty I'm having
is probably related to the ctypes translation mechanism from python. Here's
what I'm using in python. The ctypes module enables the translation from the C
libraries to python and imports the net-snmp space as libnsa:
import ctypes
from netsnmpapi import *
import netsnmpvartypes
libnsa = ctypes.cdll.LoadLibrary(ctypes.util.find_library("netsnmpagent"))
...
{code that registers oids from new mib}
...
{start subagent}
print(libnsa.unregister_mib(b("SNMPv2-MIB::sysContact"),
len("SNMPv2-MIB::sysContact"))
This always returns -1, whether I unregister before starting the agent or
after. I've also tried unregistering some objects from my mib that were
previously registered with the same result.
Winston
________________________________
From: Larry Hayes <[email protected]>
Sent: Friday, January 28, 2022 4:48 PM
To: Winston Gadsby <[email protected]>
Cc: [email protected]
<[email protected]>
Subject: Re: Re-registering sysContact and sysLocation with subagent
Someone just this month asked about taking control of the system description.
I would suspect that sysContact and sysLocation would follow the same way.
Their solution was to unregister the OID then register your own handler.
unregister_mib() API.
https://sourceforge.net/p/net-snmp/mailman/message/37598495/
It is a hassle, but you can also control the values of those inside of a
snmpd.local.conf file.
syscontact Nobody <[email protected]>
Your agent would write the values to that file then SIGHUP the snmpd to pick
up the changes.
On Fri, Jan 28, 2022 at 3:37 PM Winston Gadsby
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I'm running a subagent based on python-netsnmpagent, along with the
distribution snmpd (net-snmp) agent on a Debian embedded system. I'm using the
version of snmpd that comes default with the distribution - 5.7.3. I have a
custom MIB for my new variables, similar to SIMPLE-MIB.txt in the
python-netsnmpagent example. Through the standard snmp command line commands I
am able to read and write to the standard MIB defined OIDs, and to the new OIDs
in my MIB, without issue.
I would like to also be able to take over management of sysContact and
sysLocation through my subagent. This makes it easier to control these
variables through my outside gui. I've tried registering
SNMPv2-MIB::sysContact and SNMPv2-MIB::sysLocation through the agentx socket,
but receive error 263 - duplicate registration. It seems the primary agent has
already registered these variables and won't give up control.
How does the agent know which variables the subagent can register and which it
cannot? Is my error due to another cause? My custom MIB is located in the
same directory as the rest of the system MIBs, in the search path -
/usr/share/snmp/mibs. When I register a variable from my MIB, the master agent
accepts it. When I attempt to register sysContact or sysLocation it is denied.
If all the MIBs are stored together, how does it know my SIMPLE-MIB objects
can be registered, but the others cannot? Is there configuration somewhere
else that determines which MIB variables I can register and which I cannot? Am
I only able to register variables in the new MIB? How does it know which MIBs
are custom and which are standard? I've checked the snmpd.conf file, and it
looks like I can define OID trees that trigger external programs, but there
doesn't appear to be configuration for which OIDs are under master control and
which can be controlled by the subagent, for normal snmp command line access.
Is there perhaps a better way of going about doing this?
I've gone through the mail lists and haven't been able to find an answer to
this question. Any help/pointers on this would be much appreciated. Thank you,
Winston
_______________________________________________
Net-snmp-coders mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders