#############################################################################
#
# OpenSLP configuration file
#
# Format and contents conform to specification in IETF RFC 2614 so the
# comments use the language of the RFC.  In OpenSLP, SLPD operates as an SA
# and a DA.  The SLP UA functionality is encapsulated by SLPLIB.
#
#############################################################################


#----------------------------------------------------------------------------
# Static Scope and Static DA Configuration
#----------------------------------------------------------------------------

# 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. (default value is "DEFAULT")
;net.slp.useScopes = myScope1, myScope2, myScope3

# 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.DAAddresses = myDa1,myDa2,myDa3


#----------------------------------------------------------------------------
# DA Specific Configuration
#----------------------------------------------------------------------------

# Enables slpd to function as a DA. Only a very few DAs should exist.  It 
# is suggested that the administrator read the OpenSLP users guide before
# enabling this setting. Default is false.  Uncomment the line below to 
# enable DA operation.
;net.slp.isDA = true

# A 32 bit integer giving the number of seconds for the DA heartbeat. 
# Default is 3 hours (10800 seconds).  This property corresponds to
# the protocol specification parameter CONFIG_DA_BEAT [7].  Ignored 
# if isDA is false.
;net.slp.DAHeartBeat = 10800

# A 32 bit integer giving the number of seconds after which a DA is considered
# stale and is removed from the list of known DAs, if a DA advert has not
# been received for it.  This value affects DAs in that it overrides
# net.slp.DAHeartBeat to ensure that DA adverts are sent out at an appropriate
# rate dependent on this value.  It affects SA operation, in that heartbeats
# (DA adverts) are monitored to maintain only active DAs in the known DA list.
# Default is 0 (disabled).  A minimum of 60s will be applied if non-zero.
;net.slp.staleDACheckPeriod = 60

#----------------------------------------------------------------------------
# SA Specific Configuration
#----------------------------------------------------------------------------

# If net.slp.watchRegistrationPID is set to true, local registrations made
# with the SA via the SLPReg() API call will be monitored.  If the PID of the
# process (and/or thread on Linux) disappears (the registering process died
# unexpectedly without calling SLPDereg()), then the registration is 
# automatically de-registered.  Default value is true.  Note that 'slptool'
# always uses value false for the 'register' command.  Uncomment the line
# below to disable PID watching.
;net.slp.watchRegistrationPID = false


#----------------------------------------------------------------------------
# UA Specific Configuration
#----------------------------------------------------------------------------
# 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 (default value is 256).
;net.slp.maxResults = 256


# An experimental/test setting that tells libslp to send SLP v1 commands 
# instead of v2 commands where-ever the code currently supports it.
# Default is false.
;net.slp.preferSLPv1 = false

#----------------------------------------------------------------------------
# Network Configuration Properties
#----------------------------------------------------------------------------

# 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.isBroadcastOnly = true

# A boolean indicating whether passive DA detection should be used.
# Default is true.  Uncomment the following line to disable passive DA 
# detection
;net.slp.passiveDADetection = false

# A boolean indicating whether active DA detection should be used. This is
# useful when the DAs available are explicitly restricted to those obtained
# from DHCP or the net.slp.DAAddresses property. Default is true.  Uncomment
# the following line to disable active DA detection
;net.slp.activeDADetection = false

# The net.slp.DAActiveDiscoveryInterval property controls *periodic* 
# transmission of active DA discovery SrvRqsts.  The default setting
# of 1 which disables sending periodic active DA discovery SrvRqsts.  
# However, even if net.slp.DAActiveDiscoveryInterval=1 OpenSLP agents will
# send a send active DA request only upon initialization.  To disable all 
# active DA detection you MUST net.slp.passiveDADetection = false. (you
# may also set net.slp.DAActiveDiscoveryInterval=0)
# simply set 
;net.slp.DAActiveDiscoveryInterval = 1

# A positive integer that is less than or equal to 255. (The default is  255)
;net.slp.multicastTTL = 255

# An integer giving the maximum amount of time (in milliseconds) to perform
# active DA discovery requests. (Default is 2000 ms or 2 secs).
;net.slp.DADiscoveryMaximumWait = 2000

# A value-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. 
# Default is:  500,750,1000,1500,2000,3000.
;net.slp.DADiscoveryTimeouts = 500,750,1000,1500,2000,3000

# An integer giving the maximum amount of time (in milliseconds) to perform
# multicast requests. (Default is 5000 ms or 5 secs).
;net.slp.multicastMaximumWait = 5000

# A value-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.  
# Default is:  500,750,1000,1500,2000,3000.  In a slow network the less
# aggressive values of 3000,3000,3000,3000,3000 allow better performance.  
;net.slp.multicastTimeouts  = 500,750,1000,1500,2000,3000

# An integer giving the maximum amount of time (in milliseconds) to perform
# unicast requests. (Default is 5000 ms or 5 secs).
;net.slp.unicastMaximumWait = 5000 

# A value-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.unicastTimeouts  = 500,750,1000,1500,2000,3000

# To OpenSLP the following is the same as net.slp.unicastTimeouts.  Use 
# net.slp.unicastTimeouts instead.
;net.slp.datagramTimeouts = IGNORED

# An integer giving the maximum value for all random wait parameters.
# (Default is 5000 or 5 sec)
;net.slp.randomWaitBound = 5000

# A integer giving the network packet MTU in bytes. (Default is 1400)
;net.slp.MTU = 1400

#
# If operating as an SA or DA, this specifies the maximum number of interfaces
# that can be active. (Default is 100)
;net.slp.max_ifaces = 100

# If operating as an SA or DA, then any local addresses that are going to be
# used must be specified.  Both IPv4 and IPv6 addresses may be specified.
# Only link-local addresses can be used for IPv6 SLP multicast.  Any
# site-local or global addresses will be used, but only for unicast SLP.
# Option parameter "%" can be used to specify the interface when multiple
# instance of the same link-local address are present in the same host. If
# the interface option is not provided, the daemon will bind to the first
# interface with specified ip. This option is only valid for IPv6 link-local
# addresses. Eg: fe80::215:58ff:fe7e:c037%eth0
;net.slp.interfaces = 192.168.0.1

# This option is a string indicating the broadcast address to use when 
# sending broadcast packets.  This parameter is only applicable when the
# other broadcast configuration variables are set (multicast is used by default)  
;net.slp.broadcastAddr = 255.255.255.255

# Port to use for all SLP messages. Changing this from the reserved SLP
# listening port will break compliance with RFC2608. (Default is 427).
;net.slp.port = 427

# A boolean indicating whether DHCP should be used for DA discovery and/or
# scope discovery. (Default setting is true).
;net.slp.useDHCP = true

#----------------------------------------------------------------------------
# Security
#----------------------------------------------------------------------------
# A boolean indicating whether the agent should enable security for URLs,
# attribute lists, DAAdverts, and SAAdverts.  (Default setting is false and 
# ENABLE_SECURITY code must be compiled)
;net.slp.securityEnabled=true

# A boolean indicating whether the DA or SA will only allow deregistrations 
# and re-registration from the *exact* host that made the registration. 
# Default setting if true.   Uncomment the line below to disable source 
# address checking.
;net.slp.checkSourceAddr=false

#----------------------------------------------------------------------------
# Indexing
#----------------------------------------------------------------------------
# A boolean indicating whether SLP service types should be indexed.  This
# uses additional memory, but speeds up searching by (concrete) service type,
# and attribute retrieval.  (Default setting is false).
;net.slp.indexSrvtype=true

# A list of names of attributes with string values that should be indexed.
# This uses additional memory but speeds up searching by equality (including
# wildcard searches)
# eg. (location=Main Building Second Floor) or (location=Main Building*)
# The index will also be used when the equality expression is part of a top-level
# '&' expression   eg. (&(grade>=C)(location=Main Building*)) would use
# the index on the location attribute.
# Note that whitespace is significant in the list of names.
;net.slp.indexedAttributes=attr1,attr2,...

#----------------------------------------------------------------------------
# Tracing and Logging
#----------------------------------------------------------------------------

# A boolean controlling printing of messages about traffic with DAs.  
# Default is false.  Uncomment the following line to enable DA traffic 
# tracing
;net.slp.traceDATraffic = true

# A boolean controlling dumps of all registered services upon registration 
# and deregistration.  If true, the contents of the DA or SA server are 
# dumped after a registration or deregistration occurs.  Default is false.
# Uncommment the following line to enable registration message logging
;net.slp.traceReg = true

# A boolean controlling printing details when a SLP message is dropped for 
# any reason.  Default is false.  Uncomment the following line to trace all
# dropped messages
;net.slp.traceDrop = true

# A boolean controlling printing of details on SLP messages. The fields in 
# all incoming messages and outgoing replies are printed.  Very verbose.
# Default is false. Uncomment the following line to enable verbose message
# tracing.
;net.slp.traceMsg = true

# A boolean controlling whether or not slpd appends log messages to slpd.log,
# or if it overwrites the existing log.  Default is true.  Uncomment the
# following line to overwrite the existing log.
;net.slp.appendLog = false

#----------------------------------------------------------------------------
# Serialized Proxy Registration
#----------------------------------------------------------------------------
# The net.slp.serializedRegURL is not supported by net.slp.serializeRegURL.
#
# slpd accepts the [-r] command line parameter that specifies the serialized
# registration file.  The default serialized registration file is 
# /etc/slp.reg


#----------------------------------------------------------------------------
# IPv6 configuration options
#----------------------------------------------------------------------------

# These settings specify which IP protocols to use for SLP.  The default is
# that IPv4 is enabled, and IPv6 is disabled.  Uncomment one or other of the
# following lines to change this.
;net.slp.useIPv4 = false
;net.slp.useIPv6 = true
