Hi,

I'm working on code that uses socat to re-create
the pmacctd socket on a machine elsewhere on the
network.  The purpose is so that pmacctd can
be run with memory tables and be very lightweight,
and all the other work can be done on a
bigger box elsewhere on the network.

I would like this code to eventually be
distributed with pmacct.

What I've got now works, for some value of
"works".  There's bugs to fix and features
to add.  This is pre-alpha code.

The big feature would be a pmacct-netd-spawn
program.  I'm thinking it will talk directly
over the network to a daemon spawned by pmacct-netd-spwan
(or maybe that program will run as a deamon itself,
in which case I should probably change the name.)
Anyhow, pmacctd-netd-spawn will "publish" a list
of socketpath/port pairs, so that pmacct-netd-spawn
can spawn pmacct-netd daemons for every socket
on the pmacctd machine so the socket structure
can be re-created on the pmacct machine.

I'd also like to (eventually) write some docbook to generate
man pages.  I suppose this means a Makefile.in
as well.  Stuff that's not documented is awfully
hard to use.

The alternative is to build networking into
the pmacct/pmacctd client/server code.

The downside of the "socat solution" is that
it adds an additional dependency (socat)
and an additional layer of complication
and a certain amount of inefficiency.

The upside is that it's modular.  People
who don't need network client/server don't
have to think about it.   Socat can also
support OpenSSL for serious encryption,
logs, supports socks proxies, IPv6, UDP,
and so forth.  (I've no particular plans
for these features, but I suppose if nothing
else there could be an option that
passes arguments through to socat so
the end-user can do what he wants.)

I thought this would be a good time to post
what I've got so I can get feedback
earlier rather than later.  Ultimately,
socat is glue, albeit versatile glue.

Is the pmacct project interested in
this approach?

What would be a good default port
number?  (You need one port number
per exported Unix socket, so the
port numbers used would count up,
like xdm does per remote X display.)

Regards,

Karl <k...@meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein

Attachment: pmacctd-netd
Description: application/shellscript

Attachment: pmacctd-netd-spawn
Description: application/shellscript

Attachment: pmacct-netd
Description: application/shellscript

_______________________________________________
pmacct-discussion mailing list
http://www.pmacct.net/#mailinglists

Reply via email to