[bind10-dev] Summary of configuration / cc-channel discussions

Ray Burkholder ray at oneunified.net
Sat Sep 12 00:55:59 UTC 2009


If the bind10 team is open to using libraries to help lighten
the coding load, here are some suggestions which may be of interest.
I may be coming in too late, but thought I'd offer these up anyway.

> 
> Using SQLite to store configuration data and having various modules
> pull
> their configuration from that is the plan.  The operations should be
> API'd so we don't call SQLite directly, but instead call functions like
> "Add A Zone" or "Add A Master for a Zone" etc.

Berkeley DB is a nice embedded db with a C++ api wrapper and transactional
ability.
http://www.oracle.com/technology/products/berkeley-db/index.html
Has open source license for open source users.

> 
> We will use the OpenReg (or a simple derivation of it) for the
> command/control light-weight message API.  Which still needs a good
> name.  I propose Octopus.  Not furry, but descriptive.

It may be overkill, but ZeroIce might be useful for interprocess
communications.
C++ based.  Has open source based licenese.
http://www.zeroc.com/ice.html
You create templates defining the messages.  Use a make file to compile the
code into c++ header files, and link with the library to create
self-contained programs which can communicate with each other.  It is
surprising how simple it is to get up and running.

Something else I came across for inter-process communications along the same
lines is RCF:
http://www.codeproject.com/KB/threads/Rcf_Ipc_For_Cpp.aspx

Between the two, I've settled on zeroc for my own stuff.

> 
> Octopus will provide a file descriptor which is used in the client's
> normal processing loop.  When it is readable, an API call is made which
> may return a message.  Not certain about writing ; I'm tempted to let
> it
> block until the full data is sent, but I'm not certain yet.  We only
> sent very small messages in OpenReg.
> 
> We may implement NETCONF externally along with SNMP, a RESTful
> interface, XMLRPC, and perhaps even SOAP.  It all depends on what we
> need and what people ask for.  We should choose one initially and run
> with it for the BigTool CLI.  I propose a RESTful interface; this may
> be
> something to discuss on the next call.  If people need examples, I can
> make them up fast; REST is just that simple. :)

For not having to completely re-invent the SNMP wheel, there is SNMP 
C++ code available for agent/client sides.  I believe open source 
Licensing is available.
http://www.agentpp.com/snmp_pp3_x/snmp_pp3_x.html

For compiling mibs and providing oid decoding, there is something called
libsmi.
http://www.ibr.cs.tu-bs.de/projects/libsmi/index.html

The two libraries pretty much handle all the low level snmp stuff needed.




Ray Burkholder
ray at oneunified.net



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the bind10-dev mailing list