
Hi, We are using libsmi to develop a snmp extension agent. We are students and we need some orientation to do this. (sorry, this is not a libsmi specific question)
We have develop a extension agent in MSVC++ which reads MIBs in Asn.1 with libsmi but know we have to communicate our extension agent with other processes. This processes have to change the MIB's values. We want to know what is the common form to do this because we have a lot of problems sharing the MIB with the other processes (they create a new instance of the object Mib). Our Mib is a collection of MibEntry:
class MibEntry { public: // Atributes UINT access; BYTE type; void* storage; AsnObjectIdentifier oid; MibEntry* next; ResolveStrategy *resolveStrategy;
// Methods MibEntry(); virtual ~MibEntry(); UINT resolveGet(IN OUT RFC1157VarBind *varBind); UINT resolveHardGet(IN OUT RFC1157VarBind *varBind); UINT resolveSet(IN OUT RFC1157VarBind *varBind); UINT resolveHardSet(IN OUT RFC1157VarBind *varBind); };
This is not a question of libsmi... sorry but we are desperate.
Thanks a lot.
_________________________________________________________________ MSN Photos es la manera más sencilla de compartir e imprimir sus fotos: http://photos.latam.msn.com/Support/WorldWide.aspx

Hi!
Alberto> We are using libsmi to develop a snmp extension agent. We are Alberto> students and we need some orientation to do this. Alberto> (sorry, this is not a libsmi specific question)
Alberto> We have develop a extension agent in MSVC++ which reads MIBs in Asn.1 Alberto> with libsmi but know we have to communicate our extension agent with Alberto> other processes. This processes have to change the MIB's values. We Alberto> want to know what is the common form to do this because we have a lot Alberto> of problems sharing the MIB with the other processes (they create a Alberto> new instance of the object Mib).
Why does your agent read MIBs? MIBs contain static information on the data model of managed objects. Libsmi is just used to handle these static pieces of information. In contrast, agents have to handle dynamic data. Libsmi (smidump) can be used to generate stub code to support MIB implementation, but I don't understand how your agent uses libsmi.
The way how you instrument your application that is supposed to be managed through your new agent depends a lot on your agent development kit. If you're using a real sub-agent technology then you typically do not develop a separate sub-agent program, but you just instrument your application so that it registers with the master agent. This makes life much easier, since you do not nead any IPC mechanism. You just have to care about some synchronisation issues.
As you already guessed, it would be better to ask for futher questions in a more appropriate forum, e.g. the comp.protocols.snmp newsgroup, or the mailinglist of the SNMP platform you're using (if there is any).
-frank
participants (2)
-
Alberto Caamaño
-
Frank Strauss