This is one document in a series of documents that are designed to provide network administrators with settings and other configuration parameters associated with Service Location Protocol (SLP) and the configuration of User Agents, Server Agents, and Directory Agents. This document will be periodically updated as new information becomes available or settings change in newer versions. Other related documents include:
Frequently Asked Questions about SLP Configuring a LAN/WAN Infrastructure for SLP Configuring SLP for a NetWare Client Configuring SLP for a NetWare Server SLP Design and Implementation Guidelines SLP Terms and Configuration Reference
DISPLAY COMMANDS:
DISPLAY SLP SERVICES This command will display all SLP Services that are stored in the SLP Service database for any particular server. This command is frequently used to detect if SLP Services are missing from some or all servers at a site when SLP Clients at the same site are receiving error when trying to locate SLP Services. See Solution Document 10014396, SLP Terms and Configuration Reference for a list of documented SLP Services.
DISPLAY SLP ATTRIBUTES [SLP Service Type] [restriction clause] This command can be used to display the attributes of a particular SLP Service. This information is not formatted with any attribute names, the attributes are reported in the order that was defined for the NDS Object class and are separated by commas. A restriction clause will restrict which attribute information is given.
Examples:
DISPLAY SLP ATTRIBUTES service:ndap.novell: svcname-ws
- This displays only the svcname-ws attribute of any ndap.novell SLP Services.
DISPLAY SLP ATTRIBUTES service:ndap.novell:
- This displays all attributes for the ndap.novell SLP Services.
Valid service:bindery.novell attributes:
slp-version reports the version of SLP.NLM in a slightly different format (NLM shows 1.04, attributes shows 1.4.0).
enabled-ws Indicates whether the SLP Service is active (TRUE) or inactive (FALSE).
version-ws DS.NLM version running on the server that registered the SLP Service.
svcid-ws The assigned WINSOCK GUID. WINSOCK standards suggest that all WINSOCK services have a unique GUID.
svcaddr-ws Lists the different addresses that the service can be contacted on. Each entry has a protocol code followed by the address (in hex). For example, if the svcaddr-ws contains the following three entries: 2-2-17-979BE206020C0000000000000000 6-2-1000-0A9ED59800000000000104510000 2-1-6-979BE206020C0000000000000000
The 2-2-17 and 2-1-6 represent the protocol codes for TCP and UDP. the 979BE206020C represents the IP address in Hex (97=151, 9B=155, E2=226, 06=6, 020C=524, so the IP Address is 151.155.226.6 and the port is 524 which is one of the registered SLP ports for both TCP and UDP).
The 6-2-1000 represents the protocol code for IPX. The 0A9ED598 is the Internal IPX Network Address, 000000000001 is the Node, and 0451 is the socket for NCP.
svcname-ws The SLP Service Name, which is the server name for this SLP Service (i.e. NDS1_FS)
Valid service:ndap.novell attributes: svcname-ws The SLP Service Name, which is the partition name.tree name for this SLP Service. For example, if the tree name is COMPANY_TREE and it has three partitions [Root], NYC.Company, and LA.Company, then you will see the following values when doing a DISPLAY SLP SERVICES (will see the information in the same format when doing a DISPLAY SLP ATTRIBUTES SERVICE:NDAP.NOVELL:):
Searching Network . . . service:ndap.novell:///COMPANY_TREE. service.ndap.novell:///NYC.Company.COMPANY_TREE service.ndap:novell///LA.Company.COMPANY_TREE
svcaddr-ws Lists the different addresses that the service can be contacted on. Each entry has a protocol code followed by the address (in hex). For example, if the svcaddr-ws contains the following three entries: 2-2-17-979BE206020C0000000000000000 6-2-1000-0A9ED59800000000000104510000 2-1-6-979BE206020C0000000000000000
The 2-2-17 and 2-1-6 represent the protocol codes for TCP and UDP. the 979BE206020C represents the IP address in Hex (97=151, 9B=155, E2=226, 06=6, 020C=524, so the IP Address is 151.155.226.6 and the port is 524 which is one of the registered SLP ports for both TCP and UDP).
The 6-2-1000 represents the protocol code for IPX. The 0A9ED598 is the Internal IPX Network Address, 000000000001 is the Node, and 0451 is the socket for NCP.
svcid-ws The assigned WINSOCK GUID. WINSOCK standards suggest that all WINSOCK services have a unique GUID.
version-ws The DS.NLM version running on the server that registered the SLP Service.
nds version The DS.NLM version running on the server that registered this SLP Service.
enabled-ws Indicates whether the SLP Service is active (TRUE) or inactive (FALSE).
DISPLAY SLP DAs This command will display all SLP DAs known to a server. Will display the DAs using the following format:
IP Address Status Scope Source 121.232.121.232 Active 'UNSCOPED DA' NDS 232.121.232.121 Inactive Company_Site DISCOVERED BY MULTICAST
Field Comments:
IP Address - Will always display the IP address and never the host name (though one can be given in the SLP.CFG). This is because a single host name may have multiple IP addresses.
Status - Can be Active or Inactive. The DA will be marked inactive when it is initially discovered. The DA will be marked active after it has been pinged successfully. A DA will timeout and marked inactive if it fails to respond to requests.
Scope - The scope the DA is registered in. See TID 2951567 for more information on Scopes.
Source - Is the Discovery method used to find the DA. RFC2165 defines three methods: MULTICAST, DHCP, and Static (SLP.CFG). The Novell implementation supports these methods and adds a fourth method to locate a DA via NDS.
TROUBLESHOOTING COMMANDS:
SET SLP DEBUG = 0 This concatenated binary setting controls multiple options for what information is displayed on the SLP DEBUG screen (or to the SLP Log file if the SLP OPEN [filename.log] command is active). The following are the binary flags that can be ON/OFF (set = ON, unset = OFF):
COMM hex 0x01 (decimal 1 ; binary 00000001) Displays Transmit/Receive UA Functions (i.e. SLP Service Request, Type Request, or Attribute Request) and SLP Service Register/Deregister. Will normally have a "tx" or an "rx" in front of any lines in the Debug screen or Log file.
TRAN hex 0x02 (decimal 2 ; binary 00000010) Displays TCP communications information/detail including TCP data transmissions, TCP packs, TCP communication failure (no Ack), building TCP connections, tearing down TCP connections, etc...
API hex 0x04 (decimal 4 ; binary 00000100) Display any API Requests and Replies (includes return data). This includes API requested issued by DS components.
SA_DA hex 0x08 (decimal 8 ; binary 00001000) Displays Registers/Deregisters sent to the DA on this server from any SAs. If SLPDA is not loaded on this server, this debug option will not display any information.
ERROR hex 0x10 (decimal 16 ; binary 00010000) Will display most error conditions that the UA, SA, and DAs experience. This would include a "Route Not Found" for UDP communications or an "Unable to Allocate Memory" condition.
SA hex 0x20 (decimal 32 ; binary 00100000) Displays Registers/Deregisters sent from the SA on this server to any Active DAs. This does not show remote SAs registering to a DA on this server.
UA_DA hex 0x40 (decimal 64 ; binary 01000000) Shows any UA Request and Replies being received/sent to/from the DA on this server. These UA Request include Service Requests, Attribute Request, and Type Requests.
The SET SLP DEBUG commands reads any value in decimal. So if you wanted to turn on multiple debug triggers, you would need to add up the different trigger values in decimal and then SET SLP DEBUG to the total value. For example, if you wanted to enable the Debug options for SA_DA, ERROR, and UA_DA you would need to set SLP DEBUG = 88. You can simply add up the numbers that are associated with the options you want enabled (i.e. 8 + 16 + 64). The value 88 has a binary value of (01011000) so the 2nd, 4th, and 5th binary flags are enabled.
SLP OPEN <Filename.Log> This command will redirect all information reported on the SLP DEBUG to the specified filename. If the SLP DEBUG is set to 0 (disabled), then no information will be placed in the Log file. The Log file cannot be accessed until the SLP CLOSE command is issued to release the lock on the file.
SLP CLOSE This command will stop the logging of information from the SLP DEBUG screen. This command must be issued before the Log file can be accessed. This command does not require a filename, since there can only be one log file in use by the SLP OPEN command.
SLP CONFIGURATION COMMANDS:
SLP BROADCAST = OFF (Default) Valid Values: ON, OFF This setting changes MULTICAST requests into broadcast requests. The disadvantage to this are that broadcasts is not routed, so the DA would have to be on the same broadcast domain as the SA with the SLP BROADCAST = ON setting to be discovered.
SET SLP CLOSE IDLE TCP CONNECTIONS TIME = 300 seconds (Default) Valid Values: From 0 to 86400 seconds This parameter specifies the number of seconds before idle TCP connections should be torn down/destroyed.
SLP DA DISCOVERY OPTIONS = 15 (Default) Valid Values: From 0 to 15 This concatenated binary setting controls multiple options for how DAs are discovered. The following are the binary flags that can be ON/OFF (set = ON, unset = OFF): 0x01 (binary 0001) - Dynamic Discovery 0x02 (binary 0010) - DHCP Discovery 0x04 (binary 0100) - Static Discovery 0x08 (binary 1000) - Disable Dynamic Discovery IF Static or DHCP configured DA is valid
For example, if you wanted to set DHCP Discovery, Static Discovery, and Disable Dynamic if Static/DHCP configured DA is valid you would need to set SLP DA DISCOVERY OPTIONS = 14. You can simply add up the numbers that are associated with the options you want enabled (i.e. 2 + 4 + 8). The value 14 has a binary value of 1110 so the last 3 binary flags are enabled when they are checked against a bit-wise AND operation against 15 (binary 1111).
SET SLP DA EVENT TIMEOUT = 15 (Default) Valid Values: From 0 to 120 seconds How many seconds to wait before timing out a request to a DA. For an Active DA, this request will be retried as configured on the SET SLP RETRY COUNT and has the following basic nested loop logic:
FOR I = 0 to SLP RETRY COUNT Attempt SLP Request WHILE (CURRENT_TIME - INITIAL REQUEST_TIME) < SLP DA EVENT TIMEOUT Wait for Response END WHILE END FOR
SET SLP DA HEART BEAT TIME = 10800 (3 hours) Valid Values: From 0 to 65535 seconds (0 to 18.2 Hours) This determines how often an SLP DA will send out an unsolicited "DA_ADVERT" MULTICAST to the SA's (using the SA's MULTICAST address) on the network. When an SA receives this MULTICAST DA Advertisement who had not previously discovered this DA will add it to their list and mark it active after pinging it successfully (will attempt to ping immediately after discovery). This parameter was designed to allow newly loaded SAs to discover existing DAs (although the SA would be able to discover the DA if dynamic discovery is enabled). This parameter can be disabled by setting it to 0 (not implemented until Service Pack 3), which will effectively prevent this DA from being discovered using the Dynamic method since the DA will no longer respond to SA MULTICAST requesting a DA.
SET SLP MULTICAST RADIUS = 32 (Default) Valid Values: From 0 to 32 hops This determines how many IP hops a MULTICAST packet is allowed to travel. For TCP/IP packets, this is called the Time To Live (TTL) counter. Every time the packet crosses an IP router (or is buffered in an IP router for longer than 1 second) the TTL counter will decrement by one. Once a TTL counter reaches 0, the routers will discard the packet and refuse to forward it on to interfaces that have the requested MULTICAST address registered.
SET SLP MTU SIZE = 1450 bytes (Default) Valid Values: From 0 to 24682 bytes The Maximum Transmission Unit size that an SLP packet will be allowed (i.e. the SLP packet, including it's header, cannot be larger than this parameter).
SET SLP RETRY COUNT = 3 (Default) Valid Values: From 1 to 128 retries This parameter control how many times an SLP Service Request, Type Request, or Attribute Request will be retried before the request is failed. See the logic in the SLP DA EVENT TIMEOUT parameter for how this is applied.
SET SLP REDISCOVER INACTIVE DIRECTORY AGENTS = 60 (Default) Valid Values: From 0 to 86400 seconds (24 hours) This parameter determines how often to try and re-contact a DA after the SLP DA EVENT TIMEOUT has occurred with no response from the DA. This parameter is tracked per DA. After each failed attempt to recontract the DA, it will add the value of the SLP REDISCOVER INACTIVE DIRECTORY AGENTS parameter again. There is a maximum number of retries for each Inactive DA. This is supposed to try 15 times. The following is an illustration of how this would work:
1. Service request to DA fails. 2. The SLP REDISCOVER INACTIVE DIRECTORY AGENTS is set to 60, so the DA entry is marked inactive and the DA is scheduled to be contacted in the next 60 seconds. 3. The attempt to rediscover the DA occurs approximately 60 seconds later and no response is received within the SLP DA EVENT TIMEOUT period. 4. The Rediscover Inactive DAs value for the particular Inactive DA is increased by 60 (so now it is 120 seconds). 5. The next attempt to contact the DA occurs approximately 120 seconds later and no response is received within the timeout period. 6. The Rediscover Inactive DAs value for the particular Inactive DA is increased by 60 (so now it is 180 seconds).
This process repeats until the Rediscover Inactive DAs value is approximately 15 times it's original value (900 seconds). At this point the DA remains Inactive and no future attempts to rediscover the Inactive DA will be attempted.
SET SLP SA DEFAULT LIFETIME = 3600 (Default) Valid Values: From 129 to 65535 seconds This parameter determines the Registration Lifetime of an SLP Service. When the Registration Lifetime of an SLP Service expires, the DAs it is registered with will remove this entry from it's database. This is also used to determine when an SA needs to Re-register a service with it's DAs. For details about when an SA re-registers a service see the SLP Time Window information in TID 2951567.
SET SLP SCOPE LIST = [blank by default which indicates the UNSCOPED Scope] Valid Values: Any string less than 184 characters in length This parameter informs the SA what scopes it participates in. Will be used to determine which DAs the SA will need to register and deregister services with.
SET SLP TCP = OFF Valid Values: ON, OFF This parameter determines whether the TCP protocol is preferred for SLP communication over UDP. Novell recommends that this setting be set to off. Off is the default setting. .
|