te Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved. The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] SLP.CONF 4 "Feb 18, 2003"
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:
Static Scope Configuration
Serialized Proxy Registrations
Networking Configuration Parameters
"DA Configuration"
The following are configuration properties and their parameters for DAs:
net.slp.isDA
Setting Type
Default Value
Range of Values
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
Default Value
Range of Values
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
Default Value
Range of Values
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
Default Value
Default, for SA and DA; unassigned for UA.
Range of Values
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
Default Value
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
Default Value
Range of Values
Set
net.slp.traceDATraffic to
True to enable logging of
DA
traffic by
slpd.
net.slp.traceMsg
Setting Type
Default Value
Range of Values
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
Default Value
Range of Values
Set this property to
True to display details when an
SLPmessage is
dropped by
slpd for any reason.
net.slp.traceReg
Setting Type
Default Value
Range of Values
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
Default Value
Range of Values
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
Default Value
Range of Values
A boolean that indicates if broadcast should be used instead of multicast.
net.slp.multicastTTL
Setting Type
Default Value
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
Default Value
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
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
Default Value
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
Default Value
Range of Values
A boolean indicating whether
slpd should perform passive
DA
detection.
net.slp.DADiscoveryTimeouts
Setting Type
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
Default Value
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
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
Default Value
Range of Values
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
Default Value
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
Default Value
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
Default Value
Range of Values
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
Default Value
Range of Values
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.