File: IBMTOKEN.DOC Auth: Brian Fisher Date: October 3 1989 Purp: Notes on IBMTOKEN.COM, the 'Ethernet' packet driver for TCP/IP and NCSA Telnet. ======================================================================== IBMTOKEN is an Ethernet packet driver for the IBM Token Ring Adapter card. The IBM Lan support program must be installed before you use IBMTOKEN. CONFIG.SYS - to install the LAN Support program and increase the size of the stacks. The default stack size is too small and leads to crashes. device=C:\PCLAN\DXMA0MOD.SYS device=C:\PCLAN\DXMC0MOD.SYS device=C:\PCLAN\DXMT0MOD.SYS stacks=9,512 AUTOEXEC.BAT - to install IBMTOKEN and define NCSA config file: IBMTOKEN 0x61 0 SET CONFIGTEL=C:\CONFIG.TEL CONFIG.TEL myip=xx.yy.zz.qq # put your IP address here netmask=255.255.255.0 # use your network mask here hardware=packet # tell NCSA to use the packet driver # interface address=0 # class for packet driver ioaddr=0x61 # vector given to IBMTOKEN mtu=1500 # max IBMTOKEN can transmit maxseg=1500 # max IBMTOKEN can receive rwin=536 # max if NCSA can't do IP fragments IBMTOKEN: IBMTOKEN where vector is the interrupt assigned to the packet driver interface adapter is 0 for the first adapter card, and 1 if the second adapter card is to be used. When IBMTOKEN installs, the following occurs: 1) DIR.INITIALIZE is called to initialize the adapter. 2) DIR.OPEN.ADAPTER is called to set up buffers for IBMTOKEN. 3) RECEIVE is called to set up the receive service routines. 4) DIR.STATUS is called to determine the address of the adapter. If any of these calls fails, the installation is aborted. IBMTOKEN may not install properly if the token ring adapter has been in use by another program, and to closed properly. If this is the case, reboot and run IBMTOKEN. OPERATION: IBMTOKEN translates 'Ethernet' packet driver calls to 802.2 LLC format packets for transmission. Currently it supports IP and ARP transmissions. RARP and BOOTP probably won't work. IP packets are sent 'as is'. ARP packets require a minor modification before they are sent. The hwr address space value must be changed from 1h to 6h. On receive, the driver changes 6h back to 1h. The size (60 is min for Ether) must be set to 28 or some token hosts won't accept the transmission. Receive packets smaller than 60 bytes are rounded up so the upper level will accept them. Token Ring source routing. When the upper level call back routine accepts a packet, its RIF is recorded in a table interal to IBMTOKEN. When IBMTOKEN sees the destination address requires a RIF, the info is pulled from the table and added to the MAC header for transmit. IBMTOKEN can handle a maximum of 32 source route entries. One default entry is present for the 'broadcast' address. The first source route received for an address is assumed to be the shortest. Subsequent source routes from the same host are ignored. I upgraded my Dos to 3.3 (Zenith) and started having intermittent lockups. One of the Model 55SX machines down the hall was running Dos 4.00 and wouldn't run at all with the driver loaded. I've tracked it down to a stack overflow. The default setting for STACKS is 9,128 in Dos 3.3 and Dos 4.00. When the system is servicing a hardware IRQ, the stack is only 128 bytes. Add a Token receive IRQ, and bang, the system hangs. You can fix the problem by setting STACKS=9,512 (the 512 is the important number here). Date: Thu, 12 Jul 90 14:25-0400 From: Brian.L.Fisher%QueensU.CA@clvm.clarkson.edu To: "aka CLUTX.BITNET" Subject: IBM Token Ring Packet Driver IBMTOKEN won't run with PC LAN. It was designed so users on a couple of our Token Ring networks could use NCSA Telnet (Clarkson version, recently renamed CUTCP) to transfer files and log on to our IBM mainframe via the campus backbone. We don't use PC LAN and never will, TCP/IP is the network method of choice here. I'm not familiar with Novell Netware BYU feature, so I can't really say. IBMTOKEN is an FTP Ethernet Packet driver, but it DOES NOT transform ethernet packets to token ring. It performs a (for lack of a better term) 'sub router' function. It receives packets from the program via FTP packet driver interface and re-encapsulates them for transmission on token ring. Some packets must be modified for transmission on token ring, ie. ARP hardware address space field (ap$hrd) is transformed during transmission/reception. Packets received from the token ring are re-encapsulated in ethernet format and passed up to the program. The driver is designed for TCP/IP protocols only. 'Other' ethernet protocols may or may not work, no guarantee. Hope this helps. --------------------------------------------------- Brian Fisher, Systems Programmer, Queens University Computing & Communications Services, Kingston, ONT K7L 3N6. Dupuis Hall Brian.L.Fisher@QueensU.CA ---------------------------------------------------