Hi Daniel,
On Fri, May 28, 2010 at 10:38:01AM +0200, Daniel Willmann wrote:
OnWaves would like to get/set the status from OpenBSC
via SNMP. I would
like to kick off the discussion about how we can best achieve that
while keeping everyone happy. :-)
thanks for bringing this to the mailing list.
There are two possibilities that have been discussed
so far:
* Implement a subagent in OpenBSC. With this method OpenBSC would
directly connect to snmpd through the agentx protocol.
* Write a proxy that relays the snmp requests to OpenBSC. The proxy
would have to implement the snmp interface and talk to OpenBSC through
some protocol.
There are upsides and downsides with both approaches. One arguably
doesn't want to have the net-snmp library linked to OpenBSC (though I'm
not sure what the exact reasons are, I just heard it from different
people).
For one part, fear of complexity. We are proud to have produced very lean and
small software so far. Building only the smallest of examples for a sub-agent
with net-snmp (
http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_Subagent)
will result in a process that has 130 MBytes virdual memory size and almost
3 megabytes of RSS. That's much bigger than openbsc itself and I feel it
definitely is disproportionate.
On the other hand designing a new protocol to speak
between proxy and OpenBSC
poses problems of its own. Furthermore, if you write the proxy in C you'll be
using net-snmp anyway.
It probably depends... if you only need counters that we write to the database,
then there e.g. is no need for a new interface. also, we could export them
in an easily-parseable fashion from the telnet interface...
You could use python to implement the proxy, but my
local python expert
tells me that the python snmp library is far from nice to use.
There are at least four if not five python snmp libraries. I have not yet
used any of them, but I think it is something to be looked into.
But before we get to that point, I think what we'd need is a specification
of what particular values/objects should be part of the SNMP MIB, what kind
of traps should be raised, etc.
Once that specification exists, we could study the best method to get access
to the respective information (counters/statistics/state/...)
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)