KSP-DVMX (tm) A Packet Multiplexer for use with Key Software Products's TCP/IP Network Doors running under DESQview (tm) Version 1.4 Copyright (C) 1995 All Rights Reserved by KEY SOFTWARE PRODUCTS 440 Ninth Avenue Menlo Park, California 94025-1802 BBS/FAX: 415-364-9847 KSP-DVMX is a trademark of Key Software Products. DESQview is a trademark of Quarterdeck Office Systems. TABLE OF CONTENTS CHAPTER 1 - INTRODUCTION ........................... 1 CHAPTER 2 - INSTALLATION ........................... 3 2.1 Command Line Parameters ...................... 3 2.1.1 The SESSIONS Option ..................... 3 2.1.2 The BUFFERS Option ...................... 3 2.1.3 The PVECTOR Option ...................... 4 2.1.4 The VERBOSE Option ...................... 4 2.1.5 The MONITOR Option ...................... 4 2.1.6 The HELP or /? Option ..................... 6 APPENDIX 1 - HOW TO REACH US .......................... 7 APPENDIX 2 - GETTING UPDATES VIA THE INTERNET .......... 8 APPENDIX 3 - LEGAL STUFF ............................ 9 Aug 19, 1995 KSP-DVMX (tm) v1.4 1 CHAPTER 1 - INTRODUCTION KSP-DVMX is a freeware packet multiplexer specifically designed to let the KSP TCP/IP network products (Telnet, FTP, SLIP, etc.) run properly under DESQview. Like Graham Robinson's PKTMUX (and PKTDRV), KSP-DVMX is a Terminate and Stay Resident (TSR) program that distributes (demultiplexes) incoming network data packets among a set of application programs running under a multi-tasker. IMPORTANT! KSP-DVMX is not designed to work with any multi-tasking environment other than DESQview. For example, KSP-DVMX will not work with either OS/2 or MS/Windows. Graham Robinson's PKTMUX demultiplexes incoming packets using a variety of heuristics, and assumes that all applications are running on a single machine with a single IP address; KSP-DVMX assumes that each application has its own (unique) IP address. KSP-DVMX demultiplexes incoming packets by matching their destination IP address field to the IP addresses of the running applications. All KSP TCP/IP network products require each BBS node to be assigned a unique IP address, and thus automatically satisfies this requirement when multiple nodes are multi-tasked on one machine. KSP-DVMX offers four improvements relative to PKTMUX: 1. The design of PKTMUX inherently causes a severe performance penalty when two or more multi-tasked nodes simultaneously access the packet driver; this is especially true when running the KSP SLIP door. KSP-DVMX eliminates this performance penalty. 2. PKTMUX forwards broadcast datagrams to only one application; KSP-DVMX forwards them to all applications. 3. The resident portion of KSP-DVMX uses much less memory than PKTMUX/PKTDRV. Typical memory use is less than 8kb, but may be more or less depending on the number of DESQview sessions and packet buffers specified on the command line. 4. Installation (and later removal from memory) is trivial. Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 2 Note: The present version of KSP-DVMX works only with an Ethernet packet driver; it cannot be installed on top of regular SLIP packet drivers. There are some SLIP packet drivers, however, that are designed to "look" like Ethernet packet drivers. Of these, we recommend Peter Tattam's SLIPPER.EXE and CSLIPPER.EXE with the "ether" command line option, although ETHERSL.COM (from the Crynwr/Clarkson collection) should also work. Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 3 CHAPTER 2 - INSTALLATION KSP-DVMX must be installed after the packet driver (or packet driver shim) and before loading DESQview; there is no companion software (ala PKTDRV) to install inside each DESQview session. Installation is trivial: All command line parameters may be omitted, letting KSP-DVMX use its default values. Running it once installs the TSR; running it a second time removes the TSR from memory. You may load KSP-DVMX into upper memory using MS-DOS's LOADHIGH command. 2.1 Command Line Parameters When installed with no command line parameters, KSP-DVMX defaults to a maximum of four DESQview sessions and four packet buffers. However, you may use optional command line parameters to override these (and other) settings. Many of these options require specifying a numeric value. Such values may be specified in decimal (e.g., 96-127), in hex (e.g., 0x60-0x7F or 60h-7Fh) or in octal (e.g., 0140-0177). Zero or more options may be combined on the command line, separated by spaces. Any option keyword may be abbreviated by as little as a single letter. 2.1.1 The SESSIONS Option This option is used to specify the maximum number of DESQview sessions that may run KSP network products concurrently. (The range is 1-32; if unspecified, the default is four). Example: KSP-DVMX SESSIONS=2 or: KSP-DVMX S=2 Each session adds 24 bytes to the resident memory size. There is no benefit to setting this option any higher than the number of BBS nodes multitasking on the same machine. Use this option to change the default setting if the number of BBS nodes per machine is not four. Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 4 2.1.2 The BUFFERS Option This option is used to specify the number of packet buffers used to enqueue incoming data packets while the corresponding programs are mapped out of memory by DESQview. (The minimum and default value is the number of sessions; maximum value is 32.) Example: KSP-DVMX BUFFERS=8 or: KSP-DVMX B=8 Each buffer requires 1528 bytes of memory. For most applications, the default value for this parameter is appropriate. If set too low, some incoming packets may be discarded when the buffers are all in use; the sender end will retransmit those packets, but performance will suffer. Setting buffers too high will consume more memory without improving performance. 2.1.3 The PVECTOR Option KSP-DVMX automatically locates the packet driver by searching software interrupts 0x60 through 0x7F. This approach is sufficient unless you have installed more than one packet driver; in this case, you may force it to use a specific driver by specifying the corresponding software interrupt on the command line, as in: Example: KSP-DVMX PVECTOR=0x61 or: KSP-DVMX P=0x61 2.1.4 The VERBOSE Option This option requires no associated numeric value. When specified, it displays additional information about redirected interrupt vectors and memory usage. Example: KSP-DVMX VERBOSE or: KSP-DVMX V 2.1.5 The MONITOR Option This option requires no associated numeric value and can only be run from inside a DESQview window. When specified, it continuously monitors the status of session handles as well as the status of incoming packets that are waiting for their associated program to be mapped back into memory. Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 5 Example: KSP-DVMX MONITOR or: KSP-DVMX M As soon as you run one of the KSP network doors, you will see a header displayed across the top of the monitor window that looks like: Handle Usage Type IP Address Buffer Usage Bytes Handle Ticks ------ ----- ---- ---------- ------ ----- ----- ------ ----- The left four columns provide information about the allocation of session handles to KSP network doors: "Handle" is a number from one to twice the value of SESSIONS (see command line options). "Usage" is the number of times this handle has been allocated for use by an KSP network door program. "Type" is either "ARP", "IP", or blank. (There should be one ARP handle and one IP handle for each KSP network door that is running.) "IP Address" is either blank or the IP address assigned to the BBS node that is runnning the KSP network door. The right five columns provide information about utilization of the packet buffers. "Usage" is the number of times that the buffer has been used to hold an incoming packet. "Handle "Buffer" is a number from one to the value of BUFFERS (see command line options). "Usage" is the number of times this buffer has been allocated to hold an incoming packet of data. "Bytes" is the number of bytes of data waiting in the buffer to be uploaded to its KSP network door program. "Handle" identifies the KSP network door program that will receive this packet of data. "Ticks" is the number of timer ticks (at 18.2 per second) before this buffer will be released if not processed by the corresponding KSP network door. Watching this display during periods of heavy utilization can be quite helpful for determining the optimum number of buffers and Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 6 sessions. 2.1.6 The HELP or /? Option This option requires no associated numeric value. It simply causes a brief reminder of possible command line options to be displayed. Example: KSP-DVMX HELP or: KSP-DVMX H or: KSP-DVMX /? Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 7 APPENDIX 1 - HOW TO REACH US The Key Software Products BBS/FAX number (415-364-9847) operates 24 hours a day, 7 days a week. Software at our end automatically determines whether an incoming call is data or FAX and will operate accordingly. If you have access to electronic mail, you can send us a message via any of the following: On COMPUSERVE, send mail to: >Internet:tech.support@ksp.com On PRODIGY, send mail to: VGDC59A On Internet, UUCP, or Bitnet, send mail to: tech.support@ksp.com On Fidonet, address mail to "UUCP" at nearest fidonet site which provides a gateway to Internet, such as 1:105/42. 1st line of message: To: tech.support@ksp.com Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 8 APPENDIX 2 - GETTING UPDATES VIA THE INTERNET The main distribution file is KSPMUX??.ZIP, where "??" is the version number. You can retrieve this file via anonymous ftp at "scizzl.scu.edu", directory "ksp". Please note that there is no "e" at the end of "scizzl". This file is also available from the KSP BBS, either by calling in and downloading, or via e-mail using the "LISTSERV" capabilities of the BBS. To use LISTSERV, you must send a message addressed to the Internet address listserv@ksp.com. The message must contain an LISTSERV command entered as a single line of text, and it must be the first line in the message. The LISTSERV commands that are supported include: Command: HELP tlbmm-l Purpose: Returns an text file with help information about LISTSERV. Command: DIR tlbmm-l Purpose: Returns an e-mail message listing all of the file directories on the BBS by number and description. Command: LIST tlbmm-l 1 Purpose: Returns an e-mail message listing all of the files in directory #1 of the BBS. Command: GET tlbmm-l KSPMUX14.ZIP Purpose: Returns an e-mail message containing a uuencoded version of the file KSPMUX14.ZIP. To extract the file, you must save the message as a file on your system, edit out the e-mail header at the beginning of the file, and then use a program called UUDECODE (commonly available on Unix) to convert the uuencoded version back to the original ZIP format, and then (finally) use PKUNZIP to extract the contents of the file. Copyright (C) 1995, Key Software Products. All Rights Reserved Aug 19, 1995 KSP-DVMX (tm) v1.4 9 APPENDIX 3 - LEGAL STUFF LIMITED WARRANTY This software is provided 'as is' without warranty of any kind, either expressed or implied, including, but not limited to the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Some states do not allow the exclusion of implied warranties, so the above exclusions may not apply to you. This warranty gives you specific legal rights and you may also have other rights which vary from state to state. Key Software Products has taken due care in preparing the documentation and software included in to ascertain their correctness and effectiveness. However, Key Software Products does not warrant that operation of this software will be uninterrupted or error free. In no event shall Key Software Products be liable for incidental or consequential damages in connection with or arising out of the furnishing, performance, or use of this software. LICENSE You MAY use this software on any computer or computers in your possession. You MAY copy this software into any machine readable or printed form for backup or modification purposes in support of your use of the software. You MAY distribute the original unmodified version of this software, but you may not charge a fee exceeding $5.00 to cover the cost of duplicating, shipping, and handling. You may NOT use, copy, modify, sublicense, assign or transfer this software, or any copy or modification, in whole or in part, except as expressly provided for in this license. Copyright (C) 1995, Key Software Products. All Rights Reserved