Last modified 1-Feb-97, X. Huang, 11-Dec-96 by M. Welsh
This is the release documentation for U-Net, a low-latency communication mechanism over ATM and Fast Ethernet. U-Net is a research product of the Systems Group at the Cornell University Computer Science Department.
Please see the U-Net Home Page for general information about U-Net, including papers and other background information. This documentation is meant to cover the Windows NT 4.0 release of U-Net only.
This release of U-Net supports the following network interfaces:
#define TULIP_DEBUG
is defined, the driver will print verbose debug information to the kernel debugger.
mkdir i386 mkdir i386\free mkdir i386\checked
build
copy udi\unet.sys %SystemRoot% copy utrap\utrap.sys %SystemRoot% copy utlb\utlb.sys %SystemRoot% copy devTulip\tulip.sys %SystemRoot% copy devZeitnet\zeitnet.sys %SystemRoot%
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Unet HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UTlb HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UTrap HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tulip HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Zeitnet
ErrorControl, type DWORD, value 0x01 Start, type DWORD, value 0x03 Type, type DWORD, value 0x01 Group, type String, value "Extended base"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00" /DEBUGPORT=COM1 /BAUDRATE=115200
Start WinDbg on the host, and in "Options->Kernel Debugger" enable the kernel debugger and select the COM port and speed. In "Options->User DLLs" add the path to the U-Net tree, e.g., S:\mdw\U-Net Issuing the 'go' command will make WinDbg wait for a connection from the target. WinDbg must be re-started if the target crashes, but not if it's rebooted normally.
Be sure that the BAUDRATE for the COM ports you choose is set in the Ports control panel on both the host and target. For more information on debugging device drivers, please refer to documentation of NTDDK.
net start unet net start tulip (OR, net start zeitnet)
It's very important that unet is started before either tulip or zeitnet. Also, don't issue net stop unet before doing a net stop of tulip or zeitnet.
loopback device adddress num-packets packet-size
Here, device is the device name (tulip or zeitnet, followed by a slash, followed by the device index (0 being the first board, 1 being the second, and so forth). tulip/0 specifies the first Tulip board, zeitnet/0 specifies the first Zeitnet.
For example,
loopback tulip/0 00:00:c0:49:47:c8.42 1000 40
Or,
loopback zeitnet/0 101 1000 40
The address format for Fast Ethernet broad is its Ethernet address plus ".chan_number".
This is a very complex subject, and I'd love to document it, but I don't have the time. If you want to understand how to write and use U-Net applications, try the following:
There are many subtle aspects of this code, it is quite complex, and not everything that we've done is obvious. Of course, there are bugs. If you see something that looks plain wrong, or if things don't work as you expect, first check and double-check your own test program. Almost all U-Net problems boil down to something being done wrong in the application. But, if you're still stumped, by all means let me know. Not all of the code has been tested rigorously.
Also, do not jump to conclusions in the code. If you see something that does not make sense, there may be a very good reason why we did it that way. (Or, there might not.)
For a list of known bugs, see the file BUGS included in the distribution. This file lists "unimplemented features" as well.
There is a brief guide on how to write U-Net applications. And the device reference for U-Net should also help.
There are a few modes of the fast Ethernet boards that can be turn on and off by setting different values in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tulip
InternalLoopBack mode requires FullDuplex mode to be on.
For questions, support, advice, and suicide-prevention counseling, contact Matt Welsh at mdw@cs.cornell.edu. For someone closer to home, talk to Thorsten von Eicken, or Xun Wilson Huang.
Share and enjoy!