SLP.CONF(4) File Formats and Configurations SLP.CONF(4)


NAME


slp.conf - configuration file for Service Location Protocol agents

SYNOPSIS


/etc/inet/slp.conf


DESCRIPTION


slp.conf provides all Service Location Protocol ("SLP") agents with
their operational configuration. slpd(1M) reads slp.conf on startup.
Service Agents ("SAs") and User Agents ("UAs") read slp.conf on
invocation of the SA and UA library routines; configuration parameters
are then cached on a per-process basis. All SA's must use the same set of
properties as slpd on the local machine, since slpd acts as an SA server.


The configuration file format consists of a newline-delimited list of
zero or more property definitions. Each property definition corresponds
to a particular configurable SLP, network, or other parameter in one or
more of the three SLP agents. The file format grammar is shown in RFC
2234 as follows:

config-file = line-list
line-list = line / line line-list
line = property-line / comment-line
comment-line = ( "#" / ";" ) 1*allchar newline
property-line = property newline
property = tag "=" value-list
tag = prop / prop "." tag
prop = 1*tagchar
value-list = value / value "," value-list
value = int / bool /
"(" value-list ")" / string
int = 1*DIGIT
bool = "true" / "false" / "TRUE" / "FALSE"
newline = CR / ( CRLF )
string = 1*stringchar
tagchar = DIGIT / ALPHA / tother / escape
tother = %x21-%x2d / %x2f /
%x3a / %x3c-%x40 /
%x5b-%x60 / %7b-%7e
; i.e., all characters except `.',
; and `='.
stringchar = DIGIT / ALPHA / sother / escape
sother = %x21-%x29 / %x2a-%x2b /
%x2d-%x2f / %x3a-%x40 /
%x5b-%x60 / %7b-%7e
; i.e., all characters except `,'
allchar = DIGIT / ALPHA / HTAB / SP
escape = "\" HEXDIG HEXDIG
; Used for reserved characters


The properties fall into one of the following categories:

o DA Configuration

o Static Scope Configuration

o Tracing and Logging

o Serialized Proxy Registrations

o Networking Configuration Parameters

o UA Configuration

DA Configuration


The following are configuration properties and their parameters for DAs:

net.slp.isDA

Setting Type
Boolean


Default Value
False


Range of Values
True or False

A boolean that indicates whether slpd(1M) is to
act as a DA. If False, slpd(1M) is not run as a
DA.


net.slp.DAHeartBeat

Setting Type
Integer


Default Value
10800 seconds (3 hours)


Range of Values
2000 - 259200000 seconds

A 32-bit integer giving the number of seconds
for the passive DA advertisement heartbeat. The
default value is 10800 seconds. This property is
ignored if net.slp.isDA is False.


net.slp.DAAttributes

Setting Type
List of Strings


Default Value
Unassigned


Range of Values
List of Attribute Tag/Value
List Pairs

A comma-separated list of parenthesized attribute
tag/value list pairs that the DA must advertise
in DA advertisements. The property must be in
the SLP attribute list wire format, which
requires that you use a backslash ("\") to escape
reserved characters. See RFC 2608 for more
information on reserved characters, or refer to
the System Administration Guide: Network
Services.


Static Scope Configuration


The following properties and their parameters allow you to configure
various aspects of scope and DA handling:

net.slp.useScopes

Setting Type
List of Strings


Default Value
Default, for SA and DA;
unassigned for UA.


Range of Values
List of Strings

A list of strings indicating either the scopes
that a UA or an SA is allowed to use when making
requests, or the scopes a DA must support. If
not present for the DA and SA, the default scope
Default is used. If not present for the UA, then
the user scoping model is in force, in which
active and passive DA or SA discovery are used for
scope discovery. The scope Default is used if no
other information is available. If a DA or SA gets
another scope in a request, a SCOPE_NOT_SUPPORTED
error is returned, unless the request was
multicast, in which case it is dropped. If a DA
receives another scope in a registration, a
SCOPE_NOT_SUPPORTED error will be returned.
Unlike other properties, this property is "read-
only", so attempts to change it programmatically
after the configuration file has been read are
ignored.


net.slp.DAAddresses

Setting Type
List of Strings


Default Value
Unassigned


Range of Values
IPv4 addresses or host names

A list of IP addresses or DNS-resolvable
names that denote the DAs to use for statically
configured UAs and SAs. The property is read by
slpd(1M), and registrations are forwarded to the
DAs. The DAs are provided to UAs upon request.
Unlike other properties, this property is "read-
only", so attempts to change it after the
configuration file has been read are ignored.

The following grammar describes the property:

addr-list = addr / addr "," addr-list
addr = fqdn / hostnumber
fqdn = ALPHA / ALPHA *[ anum / "-" ] anum
anum = ALPHA / DIGIT
hostnumber = 1*3DIGIT 3("." 1*3DIGIT)

The following is an example using this grammar:

sawah,mandi,sambal

IP addresses can be used instead of host names in
networks where DNS is not deployed, but network
administrators are reminded that using IP
addresses will complicate machine renumbering,
since the SLP configuration property files in
statically configured networks will have to be
changed.


Tracing and Logging


These properties direct tracing and logging information to be sent to
syslogd at the LOG_INFO priority. These properties affect slpd(1M) only.

net.slp.traceDATraffic

Setting Type
Boolean


Default Value
False


Range of Values
True or False

Set net.slp.traceDATraffic to True to enable
logging of DA traffic by slpd.


net.slp.traceMsg

Setting Type
Boolean


Default Value
False


Range of Values
True or False

Set net.slp.traceMsg to True to display details
about SLP messages. The fields in all
incoming messages and outgoing replies are
printed by slpd.


net.slp.traceDrop

Setting Type
Boolean


Default Value
False


Range of Values
True or False

Set this property to True to display details
when an SLPmessage is dropped by slpd for any
reason.


net.slp.traceReg

Setting Type
Boolean


Default Value
False


Range of Values
True or False

Set this property to True to display the table
of service advertisements when a registration
or deregistration is processed by slpd.


Serialized Proxy Registrations


The following properties control reading and writing serialized
registrations.

net.slp.serializedRegURL

Setting Type
String


Default Value
Unassigned


Range of Values
Valid URL

A string containing a URL pointing to a
document, which contains serialized
registrations that should be processed when
the slpd starts up.


Networking Configuration Parameters


The properties that follow allow you to set various network configuration
parameters:

net.slp.isBroadcastOnly


Setting Type
Boolean


Default Value
False


Range of Values
True or False

A boolean that indicates if broadcast should be used instead of
multicast.


net.slp.multicastTTL


Setting Type
Positive Integer


Default Value
255


Range of Values
A positive integer from 1 to 255.

A positive integer less than or equal to 255 that defines the
multicast TTL.


net.slp.DAActiveDiscoveryInterval


Setting Type
Integer


Default Value
900 seconds (15 minutes)


Range of Values
From 300 to 10800 seconds

A 16-bit positive integer giving the number of seconds between DA
active discovery queries. The default value 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 the net.slp.DAAddresses property.


net.slp.multicastMaximumWait


Setting Type
Integer


Default Value
15000 milliseconds (15 seconds)


Range of Values
1000 to 60000 milliseconds

A 32-bit integer giving the maximum value for the sum of the
net.slp.multicastTimeouts values and net.slp.DADiscoveryTimeouts
values in milliseconds.


net.slp.multicastTimeouts


Setting Type
List of Integers


Default Value
3000,3000,3000,3000


Range of Values
List of Positive Integers

A list of 32-bit integers used as timeouts, in milliseconds, to
implement the multicast convergence algorithm. Each value specifies
the time to wait before sending the next request, or until nothing
new has been learned from two successive requests. In a fast network
the aggressive values of 1000,1250,1500,2000,4000 allow better
performance. The sum of the list must equal
net.slp.multicastMaximumWait.


net.slp.passiveDADetection


Setting Type
Boolean


Default Value
True


Range of Values
True or False

A boolean indicating whether slpd should perform passive DA
detection.


net.slp.DADiscoveryTimeouts


Setting Type
List of Integers.


Default Value
2000,2000,2000,2000,3000,4000


Range of Values
List of Positive Integers

A list of 32-bit integers used as timeouts, in milliseconds, to
implement the multicast convergence algorithm during active DA
discovery. Each value specifies the time to wait before sending the
next request, or until nothing new has been learned from two
successive requests. The sum of the list must equal
net.slp.multicastMaximumWait.


net.slp.datagramTimeouts


Setting Type
List of Integers


Default Value
3000,3000,3000


Range of Values
List of Positive Integers

A list of 32-bit integers used as timeouts, in milliseconds, to
implement unicast datagram transmission to DAs. The nth value gives
the time to block waiting for a reply on the nth try to contact the
DA.


net.slp.randomWaitBound


Setting Type
Integer


Default Value
1000 milliseconds (1 second)


Range of Values
1000 to 3000 milliseconds

Sets the upper bound for calculating the random wait time before
attempting to contact a DA.


net.slp.MTU


Setting Type
Integer


Default Value
1400


Range of Values
128 to 8192

A 16-bit integer that specifies the network packet size, in bytes.
The packet size includes IP and TCP or UDP headers.


net.slp.interfaces


Setting Type
List of Strings


Default Value
Default interface


Range of Values
IPv4 addresses or host names

List of strings giving the IP addresses or host names of the network
interface cards on which the DA or SA should listen on port 427 for
multicast, unicast UDP, and TCP messages. The default value is
unassigned, indicating that the default network interface card should
be used. An example is:

195.42.42.42,195.42.142.1,195.42.120.1

The example machine has three interfaces on which the DA should
listen. Note that if IP addresses are used, the property must be
renumbered if the network is renumbered.


UA Configuration


The following configuration parameters apply to the UA:

net.slp.locale

Setting Type
String


Default Value
en


Range of Values
See RFC 1766 for a list of the
locale language tag names.

A RFC 1766 Language Tag for the language
locale. Setting this property causes the property
value to become the default locale for SLP
messages.


net.slp.maxResults

Setting Type
Integer


Default Value
-1


Range of Values
-1, positive integer

A 32 bit-integer that specifies 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. Positive integers and -1 are legal
values. If the value of net.slp.maxResults is -1,
all results should be returned.


net.slp.typeHint

Setting Type
List of Strings


Default Value
Unassigned


Range of Values
Service type names

A list of service type names. In the absence of
any DAs, UAs perform SA discovery to find scopes.
If the net.slp.typeHint property is set, only SA's
advertising types on the list respond. Note that
UAs set this property programmatically. It is not
typically set in the configuration file. The
default is unassigned, meaning do not restrict the
type.


ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+

SEE ALSO


slpd(1M), slpd.reg(4), slp_api(3SLP), slp(7P)


System Administration Guide: Network Services


Alvestrand, H. RFC 1766: Tags for the Identification of Languages.
Network Working Group. March 1995.


Crocker, D., Overell, P. RFC 2234, Augmented BNF for Syntax
Specifications: ABNF. The Internet Society. 1997.


Kempf, J. and Guttman, E. RFC 2614, An API for Service Location. The
Internet Society. June 1999.


February 18, 2003 SLP.CONF(4)