41 SLP #
Configuring a network client requires detailed knowledge about services provided over the network (such as printing or LDAP, for example). To make it easier to configure such services on a network client, the “service location protocol” (SLP) was developed. SLP makes the availability and configuration data of selected services known to all clients in the local network. Applications that support SLP can use this information to be configured automatically.
SUSE® Linux Enterprise Server supports installation using installation sources provided with SLP and contains many system services with integrated support 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. Services that offer SLP support include cupsd, login, ntp, openldap2-client, postfix, rpasswd, rsyncd, saned, sshd (via fish), vnc, and ypserv.
  All packages necessary to use SLP services on a network client are installed
  by default. However, if you want to provide services via
  SLP, check that the openslp-server package is
  installed.
 
41.1 The SLP front-end slptool #
   slptool is a command line tool to query and register SLP
   services. The query functions are useful for diagnostic purposes. The most
   important slptool subcommands are listed below.
   slptool --help lists all available
   options and functions.
  
- findsrvtypes
- List all service types available on the network. - >slptool findsrvtypes service:install.suse:nfs service:install.suse:ftp service:install.suse:http service:install.suse:smb service:ssh service:fish service:YaST.installation.suse:vnc service:smtp service:domain service:management-software.IBM:hardware-management-console service:rsync service:ntp service:ypserv
- findsrvs SERVICE_TYPE
- List all servers providing SERVICE_TYPE - >slptool findsrvs service:ntp service:ntp://ntp.example.com:123,57810 service:ntp://ntp2.example.com:123,57810
- findattrs SERVICE_TYPE//HOST
- List attributes for SERVICE_TYPE on HOST - >slptool findattrs service:ntp://ntp.example.com (owner=tux),(email=tux@example.com)
- register SERVICE type//HOST:PORT "(ATTRIBUTE=VALUE),(ATTRIBUTE=VALUE)"
- Registers SERVICE_TYPE on HOST with an optional list of attributes - slptool register service:ntp://ntp.example.com:57810 \ "(owner=tux),(email=tux@example.com)" 
- deregister SERVICE_TYPE//host
- Deregisters SERVICE_TYPE on HOST - slptool deregister service:ntp://ntp.example.com 
   For more information run slptool --help.
  
41.2 Providing services via SLP #
   To provide SLP services, the SLP daemon
   (slpd) must be running. Like most
   system services in SUSE Linux Enterprise Server,
   slpd is controlled by a
   separate start script. After the installation, the daemon is inactive by
   default. To activate it for the current session, run sudo systemctl
   start slpd. If slpd should
   be activated on system start-up, run sudo systemctl enable
   slpd.
  
   Many applications in SUSE Linux Enterprise Server have integrated SLP support via 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:
  
- Static registration with /etc/slp.reg.d
- Create a separate registration file for each new service. The following example registers 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 host name. 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- 0and- 65535.- 0prevents registration.- 65535removes all restrictions.- The registration file also contains the two variables - watch-port-tcpand- description.- watch-port-tcplinks the SLP service announcement to whether the relevant service is active by having- slpdcheck the status of the service. The second variable contains a more precise description of the service that is displayed in suitable browsers.Tip: YaST and SLP- Some services brokered by YaST, such as an installation server or YOU server, perform this registration automatically when you activate SLP in the module dialogs. YaST then creates registration files for these services. 
- Static registration with /etc/slp.reg
- The only difference between this method and the procedure with - /etc/slp.reg.dis that all services are grouped within a central file.
- Dynamic registration with slptool
- If a service needs to be registered dynamically without the need of configuration files, use the - slptoolcommand line utility. The same utility can also be used to deregister an existing service offering without restarting- slpd. See Section 41.1, “The SLP front-end- slptool” for details.
41.2.1 Setting up an SLP installation server #
Announcing the installation data via SLP within your network makes the network installation much easier, since the installation data such as IP address of the server or the path to the installation media are automatically required via SLP query. Refer to Capítulo 16, Configuración de un origen de instalación de red for instructions.
41.3 More information #
- RFC 2608, 2609, 2610
- 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. 
- http://www.openslp.org
- The home page of the OpenSLP project. 
- /usr/share/doc/packages/openslp
- This directory contains the documentation for SLP coming with the - openslp-serverpackage, including a- README.SUSEcontaining the SUSE Linux Enterprise Server 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-develpackage that is provided with the SUSE Software Development Kit.