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
pmacctd-netd
Description: application/shellscript
pmacctd-netd-spawn
Description: application/shellscript
pmacct-netd
Description: application/shellscript
_______________________________________________ pmacct-discussion mailing list http://www.pmacct.net/#mailinglists