[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