When To Run slpd
slpd provides SA (and possibly DA) functionality along with
the ability to maintain a consistent state with respect to the locations
of other SLP agents on the network. The SLP library (libslp.so)
provides UA functionality internally on a per process basis with out the
need to communicate with slpd. This means that in certain cases, the slp
daemon does not always have to be loaded on every machine. We're
not sure if this will be a valuable feature to a majority of users, but
at least it offers the additional flexibility to minimize the overhead for
SLP for those machines that will only need UA capabilities. (If you're
wondering about the meaning of DA, SA, and UA, you should probably read
An
Introduction to SLP).
When is slpd needed?
-
slpd must be running on all machines that will be registering services.
In other words, slpd is required on all machines that run applications
that make calls to one of the following SLP APIs SLPReg(),
SLPDeReg(),
or SLPDelAttrs(). See
the OpenSLP Programmers Guide for details.
-
slpd is the process that maintains static registrations from the /etc/slp.reg
file. If you expect the registrations for this file to be available
to other machines, you must run slpd.
-
slpd is required for automatic DA and scope discovery to work correctly.
If you do not run slpd, then DAs and scopes can only be discovered via DHCP
or the /etc/slp.conf file. (Note: Due
to a lack of a standard DHCP API DA discovery via DHCP is not yet supported).
When is slpd not needed?
-
slpd is not needed if a machine will only be requesting services.
In other words, slpd is not required on machines if a call will never
be made to SLPReg(), SLPDeReg(), or SLPDelAttrs().
-
slpd is not needed on a machine if manual or DHCP DA or scope discovery
is sufficient.