## The slp.conf File

The slp.conf file contains configuration information that affects the operation of the OpenSLP daemon (slpd) and any application that uses the OpenSLP library. The master slp.conf file is located at `/etc/slp.conf`. There is command line option that forces slpd to read a different configuration file, but the SLP library is hard coded to read from `/etc/slp.conf` and can only be changed by re-compiling the library.

The OpenSLP slp.conf file diverges slightly from the RFC 2614 specification for the slp configuration file, so you should probably read Divergence from RFC 2614 even if you are familiar with the RFC spec.

### File Syntax

The slp.conf file syntax is very simple. OpenSLP follows the syntax specified in RFC 2614 which is simply a list of key/value pairs separated by newlines; comment lines begin with a '#' or a ';'. A good example file is copied to `/etc/slp.conf` with the OpenSLP distribution. Take a look at it or read the RFC if you need more details.

### Settings

The following is a list of settings that are supported by OpenSLP:

net.slp.useScopes

> This option is a comma delimited list of strings indicating the only scopes a UA or SA is allowed when making requests or registering or the scopes a DA must support. The default value is "DEFAULT".

net.slp.DAAddresses

> Allows administrator to force UA and SA agents to use specific DAs. If this setting is not used dynamic DA discovery will be used to determine which DAs to use. Default is to use dynamic DA discovery.

net.slp.isBroadcastOnly

> Force broadcasts to be used instead of multicast. This setting is seldom necessary since OpenSLP will automatically use broadcast if multicast is unavailable. Default is false.

net.slp.passiveDADetection

> A boolean indicating whether passive DA detection should be used. Default is true.

net.slp.DAActiveDiscoveryInterval

> A 16 bit positive integer giving the number of seconds between DA active discovery queries. Default is 900 seconds (15 minutes). If the property is set to zero, active discovery is turned off. This is useful when the DAs available are explicitly restricted to those obtained from DHCP or the net.slp.DAAddresses property.

net.slp.multicastTTL

> A positive integer that is less than or equal to 255. The default is 255.

net.slp.multicastMaximumWait

> An integer giving the maximum amount of time (in milliseconds) to perform multicast requests. Default is 15000 ms or 15 secs.

net.slp.unicastMaximumWait

> An integer giving the maximum amount of time (in milliseconds) to perform unicast requests. Default is 15000 ms or 15 secs.

net.slp.randomWaitBound

> An integer giving the maximum value for all random wait parameters. Default is 1000 or 1 sec.

net.slp.MTU

> A integer giving the network packet MTU in bytes. Default is 1400 bytes.

net.slp.interfaces

> A list of IP address of network interfaces on which the DA/SA should listen for slp requests. By default, OpenSLP will use all interfaces.

net.slp.securityEnabled

> Indicates whether all agents should use authentication blocks.

net.slp.locale

> A RFC 1766 Language Tag [6] for the language locale. Setting this property causes the property value to become the default locale for SLP messages. Default is "en". This property is also used for SA and DA configuration.

net.slp.maxResults

> A 32 bit integer giving the maximum number of results to accumulate and return for a synchronous request before the timeout, or the maximum number of results to return through a callback if the request results are reported asynchronously.

net.slp.isDA

> A boolean indicating if the SLP server is to act as a DA. If false, not run as a DA. Default is false.

net.slp.DAHeartBeat

> A 32 bit integer giving the number of seconds for the DA heartbeat. Default is 3 hours (10800 seconds). Ignored if net.slp.isDA is false.

net.slp.DAAttributes (currently ignored)

> A comma-separated list of parenthesized attribute/value list pairs that the DA must advertise in DAAdverts. The property must be in the SLP attribute list wire format, including escapes for reserved characters. [7]

### Divergence from RFC 2614

OpenSLP does not support all of the settings that are specified by RFC 2614. The reasons for not supporting some of the settings range from the implementors' opinions that they are either not useful or very difficult to implement with regard to their usefulness. The following is a list of options that OpenSLP has no plans to support.

net.slp.serializedRegURL

> slpd accepts the [-r] command line parameter that specifies the serialized registration file to use.

net.slp.multicastTimeouts

> OpenSLP does not honor this parameter. Currently multicast timeouts are generated internally based on the net.slp.multicastMaximumWait parameter.

net.slp.DADiscoveryTimeouts

> OpenSLP does not honor this parameter. Currently multicast timeouts are generated internally based on the net.slp.multicastMaximumWait parameter.

net.slp.datagramTimeouts

> OpenSLP does not honor this parameter. Currently unicast timeouts are generated internally based on the net.slp.unicastMaximumWait parameter.