slp.conf - configuration file for Service Location Protocol agents
/etc/inet/slp.conf
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:
DA Configuration
Static Scope Configuration
Tracing and Logging
Serialized Proxy Registrations
Networking Configuration Parameters
UA Configuration
The following are configuration properties and their parameters for DAs:
Boolean
False
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.
Integer
10800 seconds (3 hours)
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.
List of Strings
Unassigned
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 Managing Service Location Protocol Services in Oracle Solaris 11.3.
The following properties and their parameters allow you to configure various aspects of scope and DA handling:
List of Strings
Default, for SA and DA; unassigned for UA.
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.
List of Strings
Unassigned
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.
These properties direct tracing and logging information to be sent to syslogd at the LOG_INFO priority. These properties affect slpd(1M) only.
Boolean
False
True or False
Set net.slp.traceDATraffic to True to enable logging of DA traffic by slpd.
Boolean
False
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.
Boolean
False
True or False
Set this property to True to display details when an SLPmessage is dropped by slpd for any reason.
Boolean
False
True or False
Set this property to True to display the table of service advertisements when a registration or deregistration is processed by slpd.
The following properties control reading and writing serialized registrations.
String
Unassigned
Valid URL
A string containing a URL pointing to a document, which contains serialized registrations that should be processed when the slpd starts up.
The properties that follow allow you to set various network configuration parameters:
Boolean
False
True or False
A boolean that indicates if broadcast should be used instead of multicast.
Positive Integer
255
A positive integer from 1 to 255.
A positive integer less than or equal to 255 that defines the multicast TTL.
Integer
900 seconds (15 minutes)
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.
Integer
15000 milliseconds (15 seconds)
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.
List of Integers
3000,3000,3000,3000
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.
Boolean
True
True or False
A boolean indicating whether slpd should perform passive DA detection.
List of Integers.
2000,2000,2000,2000,3000,4000
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.
List of Integers
3000,3000,3000
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.
Integer
1000 milliseconds (1 second)
1000 to 3000 milliseconds
Sets the upper bound for calculating the random wait time before attempting to contact a DA.
Integer
1400
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.
List of Strings
Default interface
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.
The following configuration parameters apply to the UA:
String
en
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.
Integer
-1
–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.
List of Strings
Unassigned
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.
See attributes(5) for descriptions of the following attributes:
|
slpd(1M), slpd.reg(4), slp_api(3SLP), slp(7P)
Managing Service Location Protocol Services in Oracle Solaris 11.3
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.
This feature maybe removed in a future release of Oracle Solaris.