[systemd-devel] help with systemd socket file for programs in the quagga suite
Lennart Poettering
lennart at poettering.net
Wed Oct 22 04:27:27 PDT 2014
On Sat, 13.09.14 23:04, Andrei Borzenkov (arvidjaar at gmail.com) wrote:
> В Fri, 12 Sep 2014 19:10:01 +0100
> "lux-integ" <lux-integ at btconnect.com> пишет:
>
> > On Friday 12 September 2014 18:28:30 Dave Reisner wrote:
> > > I'll stop you here. You can't simply "synthesize" a socket unit for any
> > > arbitrary program that uses a socket (regardless of the address family).
> > > Socket units are specific to socket-activated services (which requires
> > > code changes in the daemon itself) and per-connection spawning.
> > >
> > > Based on a perusal of the manpage and source, Zebra appears to be
> > > neither of these
> >
> >
> > thanks a lot
> >
> > I too checked the man page I found on the internet and found them to be
> > different to doing
> > /usr/sbin/zebra --help
> >
> > I tend to err on the side of trusting the installed more and so
> > why does this line :-
> > ( -z, --socket Set path of zebra socket )
> > results from
> > /usr/sbin/zebra --help
> > ( and indeed all the programs in the quagga suite ? )
> >
> > Is it in error ?
> >
>
> May be not, but socket activated services in systemd receive socket on
> stdin/stdout, not as argument.
That's not entirely true. In inetd-style activation the sockets are
passed as stdin/stdout. On systemd-style activation they are passed as
sockets 3,4,5,..., i.e. the ones immediately following
stdin/stderr/stdout.
But anyway, the gist of it is true: socket activation requires proper
support for it in the daemons. And just being able to set the socket
path is not enough. Without patching zebra to support proper
systemd-style socket activation (or even inetd-style as we support
either) this is not available.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list