Contents
Abstract
The service location protocol (SLP) was developed to simplify the configuration of networked clients within a local network. To configure a network client, including all required services, the administrator traditionally needs detailed knowledge of the servers available in the network. SLP makes the availability of selected services known to all clients in the local network. Applications that support SLP can use the information distributed and be configured automatically.
SUSE® Linux Enterprise Desktop supports installation using installation sources provided with SLP and contains many system services with integrated support for SLP. YaST and Konqueror both have appropriate front-ends for SLP. You can use SLP to provide networked clients with central functions, such as an installation server, file server, or print server on your system.
![]() | SLP Support in SUSE Linux Enterprise Desktop |
|---|---|
Services that offer SLP support include cupsd, rsyncd, ypserv, openldap2, ksysguardd, saned, kdm, vnc, login, smpppd, rpasswd, postfix, and sshd (via fish). | |
All packages necessary are installed by default. However, if you want to
provide services via SLP, check that the package
openslp-server is installed.
slpd must run on your system to offer services with SLP. If the machine
should only operate as client, and does not offer services, it is not
necessary to run slpd. Like most system services in SUSE Linux Enterprise Desktop, the
slpd daemon is controlled by means of a separate init
script. After the installation, the daemon is inactive by default. To
activate it temporarily, run
rcslpd start as
root or
rcslpd stop to stop it. Perform
a restart or status check with restart or
status. If slpd should be always active after booting,
enable slpd in YaST + or run the
insserv slpd command as
root. This includes slpd in the
set of services to be started at boot time.
To find services provided via SLP in your network, use an SLP front-end. SUSE Linux Enterprise Desktop contains several front-ends:
slptool is a simple command line program that can be used
to announce SLP inquiries in the network or announce proprietary
services. slptool --help
lists all available options and functions. slptool can also be called
from scripts that process SLP information. For example, to find all
network time servers that annouce themselves in the current network,
run the command:
slptool findsrvs service:ntp
Within YaST there is also a SLP browser available.
However, this browser is not available through the YaST Control
Center. To start this YaST module, run yast2 slp
as root user. Click on the
different protocols on the lefthand side of the user interface to get
more information about the respective service.
Many applications in SUSE Linux Enterprise Desktop have integrated SLP support through
the use of the libslp library. If a service has not
been compiled with SLP support, use one of the following methods to make
it available via SLP:
/etc/slp.reg.d
Create a separate registration file for each new service. The following is an example of a file for registering a scanner service:
## Register a saned service on this system ## en means english language ## 65535 disables the timeout, so the service registration does ## not need refreshes service:scanner.sane://$HOSTNAME:6566,en,65535 watch-port-tcp=6566 description=SANE scanner daemon
The most important line in this file is the service
URL, which begins with service:. This
contains the service type (scanner.sane) and the
address under which the service is available on the server.
$HOSTNAME is automatically replaced with
the full hostname. The name of the TCP port on which the relevant
service can be found follows, separated by a colon. Then enter the
language in which the service should appear and the duration of
registration in seconds. These should be separated from the service
URL by commas. Set the value for the duration of registration between
0 and 65535.
0 prevents registration. 65535
removes all restrictions.
The registration file also contains the two variables
watch-port-tcp and
description.
watch-port-tcp links the SLP service
announcement to whether the relevant service is active by having slpd
check the status of the service. The second variable contains a more
precise description of the service that is displayed in suitable
browsers.
/etc/slp.reg
The only difference between this method and the procedure with
/etc/slp.reg.d is that all services are grouped
within a central file.
If a service needs to be registered dynamically without the need of configuration files, use the slptool command line utility. The same utility can also be used to deregister an existing service offering without restarting slpd.
The following sources provide further information about SLP:
RFC 2608 generally deals with the definition of SLP. RFC 2609 deals with the syntax of the service URLs used in greater detail and RFC 2610 deals with DHCP via SLP.
The home page of the OpenSLP project.
/usr/share/doc/packages/openslp
This directory contains all available documentation for SLP, including
a README.SuSE containing the SUSE Linux Enterprise Desktop
details, the RFCs, and two introductory HTML documents. Programmers
who want to use the SLP functions find more information in the
Programmers Guide that is included in the
openslp-devel package.