[comp.dcom.lans] Pkt Drivers + NDIS.

jrd@cc.usu.edu (03/26/91)

	This weekend I made changes to the Packet Driver shim DIS_PKT
which provides a Packet Driver interface on top and talks to NDIS on
the bottom. As a result I can happily run NetWare shells constructed
for Packet Drivers (the BYU stuff), and other Packet Driver oriented
things, together with items coupling straight to NDIS (such as Lan
Manager). The code was sent to the special interest group of Packet
Driver folks for examination and FTP Inc is part of that group (by
definition!). So, the code, rough as it is, may reappear on vax.ftp.com
when and if FTP so chooses (it's their stuff, after all).
	There is a word of warning however. The NDIS spec says that
if a station generates a broadcast packet then it can be echoed right
back. Our understanding is that at least some (older) NetWare shells
(IPX/NETn) can't take that treatment. I have had no trouble with
the v3.01/3.02 IPX and 3.01/3.02 NET3 shells when talking to a WD8003E
board.
	Another observation on matters: a straight Packet Driver uses
2-3KB of memory. DIS_PKT is equally small, and will get smaller when
the code is refined. But the NDIS board driver, typically name.DOS,
is about 28KB or so for a wide variety of boards.
	And yes, the above code does support promiscous mode while
other things are running, for network monitors like Lanwatch and Netwatch.
Best not to push matters in this way, but it works (the promiscuous mode
program gets packets that the other programs don't grab, no double copying).
	Joe D.

j_rodin@hpfcso.FC.HP.COM (Jon Rodin) (03/28/91)

>	Another observation on matters: a straight Packet Driver uses
>2-3KB of memory. DIS_PKT is equally small, and will get smaller when
>the code is refined. But the NDIS board driver, typically name.DOS,
>is about 28KB or so for a wide variety of boards.

Most NDIS drivers fall in the 10K range - some sample sizes:

	WD8003 (macwd.dos) 		14112 bytes
	3Com Etherlink (elnk.dos)	8080 bytes
	HP Ethertwist (hplan.dos)	9200 bytes

These numbers represent the amount of ram used when the driver is loaded.
There is an additional 100-200 bytes used by the protocol manager.

There is very little inherent reason why NDIS drivers should be any larger 
than packet drivers or ODI drivers.  They do provide a bit more functionality
than packet drivers (the spec provides for data copy services and different
modes of receiving data, etc.), but that should not require a significant
amount of code.

Jon
j_rodin@cnd.hp.com