NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: LWP208.EXE; LWP 4.1 & 4.2, Stack Update DOCUMENT ID: TID250397 DOCUMENT REVISION: A DATE: 30AUG94 ALERT STATUS: Yellow INFORMATION TYPE: Symptom Solution README FOR: LWP208.EXE NOVELL PRODUCT and VERSION: LAN WorkPlace for DOS 4.2 LAN WorkPlace for DOS 4.1 LAN WorkGroup 4.1 LAN WorkGroup 4.2 ABSTRACT: LWP208.EXE is recommended for all LAN WorkPlace 4.1 & 4.2 sites and all LAN WorkGroup 4.1 & 4.2 sites. LWP208.EXE includes the latest patches for the TCP/IP transport/stack in LWP/LWG v4.1 and v4.2. ----------------------------------------------------------------- DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ----------------------------------------------------------------- SYMPTOM - TCP/IP did not work correctly when receiving window sizes in excess of 32767 bytes. - TCP/IP could run slowly or hang when receiving packets that required re-assembly at the IP level. - With prior versions of WLIBSOCK, the first IP address associated with a multihomed host was reported incorrectly with the first byte set to zero, and the last byte truncated. - New TCPIP.EXE and WGTCPIP.EXE fix a problem relative to Xserver (from VisionWare). The listen() call was being invoked with a 0 as the argument, which caused all incoming connections to be refused. - A minor cosmetic bug when printing the signon banner. - The frame types FDDI_SNAP and IBM_PCN2L did not display, and instead showed as 'Unknown'. - Apps hung with Thomas Conrad 100 MBPS ARCNET cards and other ARCNET cards. - "LSLERR-DUPLICATE-ENTRY" error occurred if TCPIP.EXE was re-entered after loading WGTCPIP.EXE, or vice versa. - HARDWARE TYPE 6 was used instead of HARDWARE TYPE 1 when doing an ARP. Both HARDWARE TYPEs 1 and 6 are now supported. Only while doing an ARP send on HARDWARE TYPE 6 will the HARDWARE TYPE in the packet be sent as 1. WINSOCK - returns WSASYSNOTREADY on WSAStartup if stack is not loaded - allows cancel of gethostbyname - minimizes fixed low memory usage - supports 16 addresses in hostent structure - gethostbyname now supports longer names (>=32bytes) SOLUTION Apply LWP208.EXE to LAN WorkPlace for DOS 4.1, LAN WorkPlace for DOS 4.2, LAN WorkGroup 4.1 or LAN Workgroup 4.2. This will update the Stack files to the latest version of LAN WorkPlace for DOS 4.2 or LAN WorkGroup 4.2. This patch does not include the NFS Client for LAN WorkPlace software. IMPORTANT NOTES 1. LWP207.EXE is the companion to LWP208.EXE. We recommend that you apply it also. The following message files will be displayed in English only if applied to the French, Spanish, German, and Portuguese versions of LAN WorkPlace for DOS and LAN WorkGroup. Please check and see if these are required before installing. 2. Sites with the French, Spanish, German, or Portuguese versions of LAN WorkPlace, LAN WorkGroup have two options: - A. To receive "more complete" error messages, apply the following files from LWP208.EXE: LWPCON.MSG PING.MSG However, the messages will exclusively be in English. - B. Do not copy in those 2 new .MSG files, and continue to receive the "old less complete" error messages in French, Spanish, German, or Portuguese 3. LWP208.EXE does not include the NFS Client for LAN WorkPlace software. Self-Extracting File Name: LWP208.EXE Revision: A Files Included Size Date Time Version \ LWP208.TXT (This File) PING.EXE 22544 04-04-94 4:20a 412-2a PING.MSG 304 02-01-94 1:32p NA SNMP.EXE 32374 02-01-94 4:12a 41-2 TCPIP.EXE 43652 08-02-94 2:39p 42-1k LWPCON.EXE 257504 02-01-94 4:12a 41-2 LWPCON.HLP 44238 02-01-94 4:12a NA LWPCON.MSG 14334 02-01-94 4:12a NA VTCPIP.386 10721 04-04-94 4:20a 412-2a WGTCPIP.EXE 67764 08-02-94 2:40p 42-1k WINSOCK.DLL 35120 07-20-94 10:57a 41-2b IPTUNNEL.EXE 14114 04-04-94 4:20a 412-2a NOVASYNC.EXE 4672 07-20-94 10:57a 41-2a RFCNBIOS.EXE 57865 04-04-94 4:20a 412-2a WLIBSOCK.DLL 47846 04-04-94 4:20a 412-2a Installation Instructions: Copy the files to the LAN WorkPlace / LAN WorkGroup BIN directory. The default LAN WorkPlace BIN directory is C:\NET\BIN, and the default LAN WorkGroup directory is fileserver/volume}:NET\BIN. Be sure that the WINSOCK.DLL and WLIBSOCK.DLL in this directory are the only ones in your path; having others in \WINDOWS or \WINDOWS\SYSTEM will cause problems. NEW FEATURES - Duplicate IP Address Detection: Detects whether the assigned local IP address is already being used by another node on the local network. The IP address can be obtained either through the NET.CFG file configuration or dynamically from the BOOTP or RARP server. If TCP/IP detects a duplicate IP address, TCPIP.EXE will not load and the following error message appears: FATAL: IP address assigned is already in use by: nnnnnnnnnnnn. where nnnnnnnnnnnn is the six-byte hardware address of the node currently using the IP address. - Dead Router Detection and Recovery: Automatically switches to a backup router if the primary router fails. Automatically switching to a backup router prevents the interruption of user applications. The router switch occurs when the selected router does not respond to an ARP request or when the protocol stack detects excessive TCP retransmissions. Router switching applies to default routers as well as routers in the Route Cache table. Enter the ip_router parameter in the Protocol TCPIP section of the NET.CFG file. You can specify up to three default routers for each active network. For example: ip_router 128.57.4.254 ip_router 128.57.4.253 ip_router 128.57.4.252 - Static Route Allows you to set a permanent entry in the Routing table to associate the destination network host address with a router address. Static route configuration places the indicated routes into the IP routing database. The IP uses those routes to direct packets in addition to the routes discovered dynamically. To configure the static route, enter the following in the Protocol TCPIP section of the NET.CFG file or use the LWPCON utility Routing Tables: route host 'host_addr' 'router_addr' or the parameter route net 'net_addr' 'router_addr' For example: route host 128.57.225.24 128.57.4.19 or route net 128.90.0.0. 128.57.6.55 - Address Resolution Protocol (ARP) Table Editing: Enhances both the LWPCON utility and SNMP, that allows you to insert, modify, or delete the ARP table entry. Using the LWPCON utility, you edit the ARP table with the Address Translation Table screen. You must properly configure the ControlCommunity parameter in the Protocol SNMP section of the NET.CFG file to be able to remotely edit the ARP table through the SNMP protocol. Refer to the LAN WorkPlace for DOS Administrator's Guide for more details on the ControlCommunity parameter. - New Frame Types Support TCPIP will now automatically perform a protocol registration, for frame types FDDI_SNAP and IBM_PCN2_SNAP. - TCP Receive Window Size Tuning Sets the initial protocol stack's TCP maximum receive window size. You enter the tcp_window parameter in the Protocol TCPIP section of NET.CFG. For example: tcp_window 4096 where the maximum TCP receive window size is set to 4096 bytes. - TCP Maximum Segment Size Tuning: Sets the maximum TCP packet segment size to be used when communicating with other nodes. Enter the tcp_maxsegsize parameter in the Protocol TCPIP section of the NET.CFG file. For example: tcp_maxsegsize 512 where the maximum packet segment size is set to 512 bytes. - Auto-loading of VTCPIP.386: A new feature of TCPIP.EXE and WGTCPIP.EXE automatically loads VTCPIP.386 VxD when MS Windows is started in enhanced mode (provided that VTCPIP.386 is in your DOS search path). Therefore, the "device=vtcpip.386" line can now be removed from Windows SYSTEM.INI. The benefit is that VTCPIP.386 won't complain when MS Windows is started in enhanced mode when TCPIP.EXE is not resident. - Configuration of min and max timeouts A new feature of TCPIP.EXE and WGTCPIP.EXE allows the configuration of the minimum and maximum retransmission timeouts used by TCP. The NET.CFG options are: Protocol TCPIP ..... tcp_minrxmit 1 tcp_maxrxmit 540 tcp_minrxmit can range from 1 to 540 tcp_maxrxmit can range from tcp_minrxmit to 1080 Values are in units of 55 milliseconds, so if you want the initial TCP retransmit time to be 1 second, you would put: tcp_minrxmit 18 18 * 55 = 990 milliseconds (Approximately 1 second) ___________________________________________________________________ Patch History: LWP208.EXE supersedes LWP189.EXE. WINSOCK information: -------------------- After the application of LWP208; WINSOCK.DLL relies on WLIBSOCK.DLL, NOVASYNC.EXE, and TCPIP.EXE if you are using LAN WorkPlace for DOS, or WGTCPIP.EXE if you are using LAN WorkGroup. Updated versions of SNMP.EXE and LWPCON.EXE are included only because earlier versions of these files are not compatible with the TCPIP.EXE or WGTCPIP.EXE in LWP208. WINSOCK does not rely on SNMP.EXE or LWPCON.EXE. Development with WINSOCK requires the WINSOCK.H file and the WINSOCK v1.1 specification also an import library of WINSOCK.DLL must be created. The WINSOCK.H file and WINSOCK v1.1 specification can be obtained at Internet address: sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1 . 1. The following list identifies features of Windows Sockets that are unsupported or supported differently by Novell LAN WorkPlace for DOS: --A. MSG_PEEK is ignored on recv or recvfrom. --B. MSG_DONTROUTE is ignored on send or sendto. --C. The following socket control options are not supported and return WSAEINVAL if used: SIOACATMARK 2. The following notes refer to Table 1, which summarizes handling of socket options: --A. The following socket options default to TRUE and can not be changed to FALSE: --- SO_BROADCAST --- SO_DONTLINGER --- SO_OOBINLINE --B. The following socket options default to FALSE and can not be changed to TRUE: --- SO_DEBUG --- SO_DONTROUTE --- SO_ERROR 3. Since SO_OOBINLINE is always true, specifying MSG_OOB on recv or recvfrom has no effect. Out-of-band data is always received as normal data. Out-of-band data may be sent. 4. Sockets --A. The maximum number of sockets supported is 31. --B. You can create sockets of type SOCK_RAW using the socket function. The supported functions for raw sockets are: - socket - ioctlsocket to set non-blocking mode - sendto - recvfrom - closesocket --C. Raw sockets are supported only for ping. The application is responsible for building and processing ICMP headers. --D. Either do not use shutdown() at all, or use shutdown() only when preparing to terminate communications (for example, to close the socket). --E. If you use shutdown() to disable sending, LAN WorkPlace TCP/IP sends a FIN packet. An application should not issue a send() or sendto() after a shutdown() that disabled sending. --F. An application should not issue a recv() or recvfrom() after a shutdown() that disabled receiving. --G. Socket Options Table +---------------------------------------------+ |Option Default Setsockopt Support| +---------------------------------------------+ |SO_RCVBUF 4096 yes | +---------------------------------------------+ |SO_SNDBUF 4096 yes | +---------------------------------------------+ |SO_ACCEPTCONN FALSE NOPROTOOPT | +---------------------------------------------+ |SO_BROADCAST TRUE NOPROTOOPT if chg | +---------------------------------------------+ |SO_DONTLINGER TRUE NOPROTOOPT if chg | +---------------------------------------------+ |SO_OOBINLINE TRUE NOPROTOOPT if chg | +---------------------------------------------+ |SO_DEBUG FALSE NOPROTOOPT if chg | +---------------------------------------------+ |SO_DONTROUTE FALSE NOPROTOOPT if chg | +---------------------------------------------+ |SO_ERROR FALSE NOPROTOOPT if chg | +---------------------------------------------+ |SO_TYPE none NOPROTOOPT | +---------------------------------------------+ |SO_KEEPALIVE FALSE yes | +---------------------------------------------+ |SO_REUSEADDR FALSE yes | +---------------------------------------------+ |TCP_NODELAY not supp NOPROTOOPT | +---------------------------------------------+ |SO_LINGER not supp NOPROTOOPT | +---------------------------------------------+ Getsockopt for TCP_NODELAY and SO_LINGER return NOPROTOOPT. The other options are supported. ---------------------------------------------------------------- Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information. ----------------------------------------------------------------- ÿ