'\" 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] .TH SLP.CONF 4 "Feb 18, 2003" .SH NAME slp.conf \- configuration file for Service Location Protocol agents .SH SYNOPSIS .LP .nf \fB/etc/inet/slp.conf\fR .fi .SH DESCRIPTION .sp .LP \fBslp.conf \fR provides all Service Location Protocol ("\fBSLP\fR") agents with their operational configuration. \fBslpd\fR(1M) reads \fBslp.conf\fR on startup. Service Agents ("\fBSA\fRs") and User Agents ("\fBUA\fRs") read \fBslp.conf\fR on invocation of the \fBSA\fR and \fBUA\fR library routines; configuration parameters are then cached on a per-process basis. All \fBSA\fR's must use the same set of properties as \fBslpd\fR on the local machine, since \fBslpd\fR acts as an \fBSA\fR server. .sp .LP The configuration file format consists of a newline-delimited list of zero or more property definitions. Each property definition corresponds to a particular configurable \fBSLP\fR, network, or other parameter in one or more of the three \fBSLP\fR agents. The file format grammar is shown in \fIRFC 2234\fR as follows: .sp .in +2 .nf 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 .fi .in -2 .sp .LP The properties fall into one of the following categories: .RS +4 .TP .ie t \(bu .el o \fBDA\fR Configuration .RE .RS +4 .TP .ie t \(bu .el o Static Scope Configuration .RE .RS +4 .TP .ie t \(bu .el o Tracing and Logging .RE .RS +4 .TP .ie t \(bu .el o Serialized Proxy Registrations .RE .RS +4 .TP .ie t \(bu .el o Networking Configuration Parameters .RE .RS +4 .TP .ie t \(bu .el o \fBUA\fR Configuration .RE .SS "DA Configuration" .sp .LP The following are configuration properties and their parameters for \fBDA\fRs: .sp .ne 2 .na \fB\fBnet.slp.isDA\fR\fR .ad .RS 24n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE A boolean that indicates whether \fBslpd\fR(1M) is to act as a \fBDA\fR. If \fBFalse\fR, \fBslpd\fR(1M) is not run as a \fBDA\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.DAHeartBeat\fR\fR .ad .RS 24n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n 10800 seconds (3 hours) .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n 2000 - 259200000 seconds .RE A 32-bit integer giving the number of seconds for the passive \fBDA\fR advertisement heartbeat. The default value is 10800 seconds. This property is ignored if \fBnet.slp.isDA\fR is \fBFalse\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.DAAttributes\fR\fR .ad .RS 24n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Strings .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n Unassigned .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n List of Attribute Tag/Value List Pairs .RE A comma-separated list of parenthesized attribute tag/value list pairs that the \fBDA\fR must advertise in \fBDA\fR advertisements. The property must be in the \fBSLP\fR attribute list wire format, which requires that you use a backslash ("\\") to escape reserved characters. See \fIRFC 2608\fR for more information on reserved characters, or refer to the \fISystem Administration Guide: Network Services\fR. .RE .SS "Static Scope Configuration" .sp .LP The following properties and their parameters allow you to configure various aspects of scope and \fBDA\fR handling: .sp .ne 2 .na \fB\fBnet.slp.useScopes\fR\fR .ad .RS 23n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Strings .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBDefault\fR, for \fBSA\fR and \fBDA\fR; unassigned for \fBUA\fR. .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n List of Strings .RE A list of strings indicating either the scopes that a \fBUA\fR or an \fBSA\fR is allowed to use when making requests, or the scopes a \fBDA\fR must support. If not present for the \fBDA\fR and \fBSA\fR, the default scope \fBDefault\fR is used. If not present for the \fBUA\fR, then the user scoping model is in force, in which active and passive \fBDA\fR or \fBSA\fR discovery are used for scope discovery. The scope \fBDefault\fR is used if no other information is available. If a \fBDA\fR or \fBSA\fR gets another scope in a request, a \fBSCOPE_NOT_SUPPORTED\fR error is returned, unless the request was multicast, in which case it is dropped. If a \fBDA\fR receives another scope in a registration, a \fBSCOPE_NOT_SUPPORTED\fR 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. .RE .sp .ne 2 .na \fB\fBnet.slp.DAAddresses\fR\fR .ad .RS 23n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Strings .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n Unassigned .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n IPv4 addresses or host names .RE A list of \fBIP\fR addresses or \fBDNS\fR-resolvable names that denote the \fBDA\fRs to use for statically configured \fBUA\fRs and \fBSA\fRs. The property is read by \fBslpd\fR(1M), and registrations are forwarded to the \fBDA\fRs. The \fBDA\fRs are provided to \fBUA\fRs upon request. Unlike other properties, this property is "read-only", so attempts to change it after the configuration file has been read are ignored. .sp The following grammar describes the property: .sp .in +2 .nf addr-list = addr / addr "," addr-list addr = fqdn / hostnumber fqdn = ALPHA / ALPHA *[ anum / "-" ] anum anum = ALPHA / DIGIT hostnumber = 1*3DIGIT 3("." 1*3DIGIT) .fi .in -2 The following is an example using this grammar: .sp .in +2 .nf sawah,mandi,sambal .fi .in -2 \fBIP\fR addresses can be used instead of host names in networks where \fBDNS\fR is not deployed, but network administrators are reminded that using \fBIP\fR addresses will complicate machine renumbering, since the \fBSLP\fR configuration property files in statically configured networks will have to be changed. .RE .SS "Tracing and Logging" .sp .LP These properties direct tracing and logging information to be sent to \fBsyslogd\fR at the \fBLOG_INFO\fR priority. These properties affect \fBslpd\fR(1M) only. .sp .ne 2 .na \fB\fBnet.slp.traceDATraffic\fR\fR .ad .RS 26n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE Set \fBnet.slp.traceDATraffic\fR to \fBTrue\fR to enable logging of \fBDA\fR traffic by \fBslpd\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.traceMsg\fR\fR .ad .RS 26n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE Set \fBnet.slp.traceMsg\fR to \fBTrue\fR to display details about \fBSLP\fR messages. The fields in all incoming messages and outgoing replies are printed by \fBslpd\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.traceDrop\fR\fR .ad .RS 26n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE Set this property to \fBTrue\fR to display details when an \fBSLP\fRmessage is dropped by \fBslpd\fR for any reason. .RE .sp .ne 2 .na \fB\fBnet.slp.traceReg\fR\fR .ad .RS 26n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE Set this property to \fBTrue\fR to display the table of service advertisements when a registration or deregistration is processed by \fBslpd\fR. .RE .SS "Serialized Proxy Registrations" .sp .LP The following properties control reading and writing serialized registrations. .sp .ne 2 .na \fB\fBnet.slp.serializedRegURL\fR\fR .ad .RS 28n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n String .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n Unassigned .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n Valid \fBURL\fR .RE A string containing a \fBURL\fR pointing to a document, which contains serialized registrations that should be processed when the \fBslpd\fR starts up. .RE .SS "Networking Configuration Parameters" .sp .LP The properties that follow allow you to set various network configuration parameters: .sp .ne 2 .na \fB\fBnet.slp.isBroadcastOnly\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBFalse\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE A boolean that indicates if broadcast should be used instead of multicast. .RE .sp .ne 2 .na \fB\fBnet.slp.multicastTTL\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Positive Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fB255\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n A positive integer from 1 to 255. .RE A positive integer less than or equal to 255 that defines the multicast \fBTTL\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.DAActiveDiscoveryInterval\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n 900 seconds (15 minutes) .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n From 300 to 10800 seconds .RE A 16-bit positive integer giving the number of seconds between \fBDA\fR 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 \fBDA\fRs available are explicitly restricted to those obtained from the \fBnet.slp.DAAddresses\fR property. .RE .sp .ne 2 .na \fB\fBnet.slp.multicastMaximumWait\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n 15000 milliseconds (15 seconds) .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n 1000 to 60000 milliseconds .RE A 32-bit integer giving the maximum value for the sum of the \fBnet.slp.multicastTimeouts\fR values and \fBnet.slp.DADiscoveryTimeouts\fR values in milliseconds. .RE .sp .ne 2 .na \fB\fBnet.slp.multicastTimeouts\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Integers .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fB3000,3000,3000,3000\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n List of Positive Integers .RE 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 \fB1000,1250,1500,2000,4000\fR allow better performance. The sum of the list must equal \fBnet.slp.multicastMaximumWait\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.passiveDADetection\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Boolean .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBTrue\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fBTrue\fR or \fBFalse\fR .RE A boolean indicating whether \fBslpd\fR should perform passive \fBDA\fR detection. .RE .sp .ne 2 .na \fB\fBnet.slp.DADiscoveryTimeouts\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Integers. .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fB2000,2000,2000,2000,3000,4000\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n List of Positive Integers .RE A list of 32-bit integers used as timeouts, in milliseconds, to implement the multicast convergence algorithm during active \fBDA\fR 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 \fBnet.slp.multicastMaximumWait\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.datagramTimeouts\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Integers .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fB3000,3000,3000\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n List of Positive Integers .RE A list of 32-bit integers used as timeouts, in milliseconds, to implement unicast datagram transmission to \fBDA\fRs. The \fIn\fRth value gives the time to block waiting for a reply on the \fIn\fRth try to contact the \fBDA\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.randomWaitBound\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n 1000 milliseconds (1 second) .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n 1000 to 3000 milliseconds .RE Sets the upper bound for calculating the random wait time before attempting to contact a \fBDA\fR. .RE .sp .ne 2 .na \fB\fBnet.slp.MTU\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n 1400 .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n 128 to 8192 .RE A 16-bit integer that specifies the network packet size, in bytes. The packet size includes \fBIP\fR and \fBTCP\fR or \fBUDP\fR headers. .RE .sp .ne 2 .na \fB\fBnet.slp.interfaces\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Strings .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n Default interface .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n IPv4 addresses or host names .RE List of strings giving the \fBIP\fR addresses or host names of the network interface cards on which the \fBDA\fR or \fBSA\fR should listen on port 427 for multicast, unicast \fBUDP\fR, and \fBTCP\fR messages. The default value is unassigned, indicating that the default network interface card should be used. An example is: .sp .in +2 .nf 195.42.42.42,195.42.142.1,195.42.120.1 .fi .in -2 The example machine has three interfaces on which the \fBDA\fR should listen. Note that if \fBIP\fR addresses are used, the property must be renumbered if the network is renumbered. .RE .SS "UA Configuration" .sp .LP The following configuration parameters apply to the \fBUA\fR: .sp .ne 2 .na \fB\fBnet.slp.locale\fR\fR .ad .RS 22n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n String .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fBen\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n See \fIRFC 1766\fR for a list of the locale language tag names. .RE A \fIRFC 1766\fR Language Tag for the language locale. Setting this property causes the property value to become the default locale for \fBSLP\fR messages. .RE .sp .ne 2 .na \fB\fBnet.slp.maxResults\fR\fR .ad .RS 22n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n Integer .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n \fB-1\fR .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n \fB-1\fR, positive integer .RE 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 \fB-1\fR are legal values. If the value of \fBnet.slp.maxResults\fR is \fB-1\fR, all results should be returned. .RE .sp .ne 2 .na \fB\fBnet.slp.typeHint\fR\fR .ad .RS 22n .sp .ne 2 .na \fBSetting Type\fR .ad .RS 19n List of Strings .RE .sp .ne 2 .na \fBDefault Value\fR .ad .RS 19n Unassigned .RE .sp .ne 2 .na \fBRange of Values\fR .ad .RS 19n Service type names .RE A list of service type names. In the absence of any \fBDA\fRs, \fBUA\fRs perform \fBSA\fR discovery to find scopes. If the \fBnet.slp.typeHint\fR property is set, only \fBSA\fR's advertising types on the list respond. Note that \fBUA\fRs set this property programmatically. It is not typically set in the configuration file. The default is unassigned, meaning do not restrict the type. .RE .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS box; c | c l | l . ATTRIBUTE TYPE ATTRIBUTE VALUE _ CSI Enabled _ Interface Stability Standard .TE .SH SEE ALSO .sp .LP \fBslpd\fR(1M), \fBslpd.reg\fR(4), \fBslp_api\fR(3SLP), \fBslp\fR(7P) .sp .LP \fISystem Administration Guide: Network Services\fR .sp .LP Alvestrand, H.\fIRFC 1766: Tags for the Identification of Languages\fR. Network Working Group. March 1995. .sp .LP Crocker, D., Overell, P.\fIRFC 2234, Augmented BNF for Syntax Specifications: ABNF\fR. The Internet Society. 1997. .sp .LP Kempf, J. and Guttman, E. \fIRFC 2614, An API for Service Location\fR. The Internet Society. June 1999.