home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / PPPBCKP / NDIS3PK2.ZIP / README < prev   
Text File  |  1998-09-21  |  9KB  |  218 lines

  1. IMPORTANT NOTE:
  2. This is a demo & test version of ndis3pkt 2.2.  It is restricted to
  3. sending 75/receiving 200 packets per boot.  New features of ndis3pkt 2.x:
  4.  
  5. 2.2:
  6. -Windows98 compatibility
  7. BEWARE: Windows98 support involved a change in the internal driver
  8. name.  Therefore, you must completely uninstall (this should include
  9. deleting ndis3pkt.inf from the WINDOWS/INF directory) and re-install
  10. when switching between 2.2 and any earlier version.
  11. 2.1:
  12. -A Win32 API for direct application access to raw packets
  13. 2.0:
  14. -Support for the dialup adapter with or without MSTCP
  15. -Support for IP address multiplexing with MSTCP
  16. -Better integration with OSR2 Plug & Play
  17. -Better support for power system suspend (power management)
  18.  
  19. Refer to ORDER.TXT in ndis3pk2.zip for information on obtaining a full
  20. version of ndis3pkt 2.2.
  21.  
  22. NDIS3PKT 2.2 demo (c) Copyright Daniel D. Lanciani 1994-1998
  23. All rights reserved.
  24.  
  25. This demonstration version of NDIS3PKT is licensed exclusively
  26. for testing and evaluation purposes.  NDIS3PKT may not be distributed
  27. for profit, nor may it be included in products or otherwise distributed
  28. by commercial entities to their clients or customers without the prior
  29. written permission of the author.
  30.  
  31. TO THE EXTENT ALLOWED BY APPLICABLE LAW, NDIS3PKT IS PROVIDED
  32. "AS IS", WITH NO EXPRESS OR IMPLIED WARRANTY, INCLUDING, BUT
  33. NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  34. FITNESS FOR A PARTICULAR PURPOSE.
  35.  
  36. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL THE AUTHOR BE
  37. LIABLE FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
  38. OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
  39. USE NDIS3PKT EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY
  40. OF SUCH DAMAGES.
  41.  
  42. These copyright, license, and disclaimer notices must be included
  43. with all copies of NDIS3PKT.
  44.  
  45.  
  46. Ndis3pkt.386 is a Windows VxD (Virtual Device) which provides a packet
  47. driver interface on top of NDIS version 3.0 or 3.1.  It allows packet
  48. driver applications to be used under WfWG 3.11 and Windows95 without
  49. loading any real-mode software components.  Ndis3pkt performs all the
  50. VM (virtual machine) switching required to insure that the correct
  51. application receives packet upcalls, i.e., it includes the functionality
  52. of winpkt.  (The WINPKT signature is also provided for applications
  53. which check specifically.)  In addition, ndis3pkt is willing to deliver
  54. the same packet type (and even the same packet) to multiple clients
  55. in multiple VMs.
  56.  
  57. A tcp multiplexor option allows several tcp stacks to exist on the same IP
  58. address under most conditions.  Although it is now possible to share the
  59. same IP address between MSTCP and one or more packet driver tcp/ip stacks,
  60. this activity adds some per-packet overhead.  An option is therefore
  61. provided to disable the MSTCP portion of the multiplexor.  With mstcpmux
  62. set to false, you must allocate a separate IP address for MSTCP.  (The
  63. packet driver tcp stacks can all share one other IP address.)
  64.  
  65. With a LAN connection, the choice of using two IP addresses is largely
  66. a performance vs. administrative tradeoff.  For dialup connections, it
  67. is usually impractical to allocate a second IP address to the port, so
  68. mstcpmux must generally be left enabled.
  69.  
  70. Ndis3pkt attempts to minimize the load on Windows by keeping at most
  71. a single VM callback pending at any time.  This implies that a stalled
  72. VM for which a callback is pending may prevent packet reception.  The
  73. driver tries to avoid such a situation by refraining from delivering
  74. packets to applications in VMs which are suspended; however, it may be
  75. possible to fool the code by suspending a VM at the wrong moment.  In
  76. such a case, resuming the VM in question will restart packet reception.
  77.  
  78.  
  79. There are two ways to install ndis3pkt.  Manual installation is possible
  80. with WfWG 3.11 and Windows95.  Plug-and-Play installation is possible
  81. only with Windows95.
  82.  
  83.  
  84. Manual Installation:
  85.  
  86. First, be certain that NDIS3 is loaded and running.
  87.  
  88. In system.ini, load ndis3pkt.386 from the [386Enh] section:
  89.  
  90. device=ndis3pkt.386
  91.  
  92. Add a new section to system.ini:
  93.  
  94. [ndis3pkt]
  95. netcard0=ms$elnkii
  96.  
  97. where ms$elnkii should be replaced with the name of your local network
  98. adapter card.  (A good place to find this name is the BINDINGS= line
  99. of the [NETBEUI] section of the protocol.ini file--assuming netbeui is
  100. installed.)  Windows95 generally uses simple numberic names for NDIS3
  101. even if symbolic names are used in protocol.ini:
  102.  
  103. netcard0=0000
  104.  
  105. You can also specify the null string:
  106.  
  107. netcard0=
  108.  
  109. This reserves the packet driver interrupt slot for the specified card but
  110. does not bind to the card at startup.  Late binding is used to support
  111. Plug-and-Play under Windows95 and will not work without the Plug-and-Play
  112. installation described below.
  113.  
  114. Additional options for [ndis3pkt] section (none required):
  115.  
  116. buffers=#
  117. Allocate # buffers for packets (max 50, min 2, default 10).
  118.  
  119. v86stacksize=#
  120. Set size of stack used on packet driver upcall (max 8192, min 64, default 128).
  121.  
  122. rif0=#
  123. Set first default RIF byte for Ethernet over Token Ring (default 0xc2).
  124.  
  125. rif1=#
  126. Set second default RIF byte for Ethernet over Token Ring (default 0x20).
  127.  
  128. alwayssched=true|false
  129. Force schedule (not call) of initial VM on packet receive (default true).
  130.  
  131. tcpmux=true|false
  132. Enable tcp multiplexor (default true).
  133.  
  134. mstcpmux=true|false
  135. Enable additional tcp multiplexor for MSTCP if tcpmux is enabled (default true).
  136.  
  137. warnmuxfull=true|false
  138. Issue warning when tcp multiplexor table is full (default true).
  139.  
  140. ignorelocalbroadcast=true|false
  141. Ignore broadcast packets that originate in the local machine (default true).
  142.  
  143. intvec0=#
  144. Specify packet service interrupt (default 0x69).
  145.  
  146. net80230=true|false
  147. Force 802.3 framing and packet class 11 (default false).  IT IS
  148. EXTREMELY UNLIKELY THAT YOU WANT TO USE THIS OPTION.
  149.  
  150. fakeether0=true|false
  151. Pretend to be an Ethernet device even on Token Ring (default false).
  152.  
  153. (It is possible to support more than one network card using additional
  154. keys, e.g., netcard1=, intvec1=, net80231=, fakeether1=, etc.  The
  155. default interrupt vectors continue from 0x6a.)
  156.  
  157. No further configuration should be necessary.  Once the driver is
  158. loaded, packet driver applications should be usable from DOS boxes
  159. and the system VM.
  160.  
  161.  
  162. Plug-and-Play Installation (Windows95 only):
  163.  
  164. Place ndis3pkt.386, ndis3pkt.inf, and ndis3ndi.dll in a directory or
  165. on a floppy disk.  From the network control panel, select add-protocol
  166. and indicate that you have a driver disk (the disk/directory with the
  167. ndis3pkt files).  The network device installer should:
  168.  
  169. -Add necessary registry entries
  170. -Copy ndis3pkt files to the appropriate Windows directories
  171. -Add an [ndis3pkt] section to system.ini with a netcard0= line
  172.  
  173. If you have multiple network interface cards, be sure to examine their
  174. bindings under ``properties'' to be sure only the one you want is attached
  175. to ndis3pkt.
  176.  
  177. When Windows is restarted, the packet driver interface should be available.
  178. The name of the network card is supplied by the configuration manager and
  179. there is no need to edit the netcard0= line in system.ini.  Other ndis3pkt
  180. settings can be configured from the network control panel under the Advanced
  181. tab of the properties dialog.
  182.  
  183.  
  184. ------------------------------------------------------------------------------
  185. Notes on the dialup adapter:
  186.  
  187. -The tcp/ip header compression option of the dialup adapter seems to corrupt
  188. some transmissions from packet driver applications.  If you notice slow
  189. response, try disabling this option in the tcp/ip properties of your dialup
  190. host configuration.
  191.  
  192. -There have been some questions about setting the IP address for packet driver
  193. applications when that address is determined dynamically by the dialup adapter.
  194. If your server supports an open protocol like bootp/DHCP then your application
  195. can use that protocol through ndis3pkt to obtain the dynamic IP address.  If
  196. not then you must configure the address manually.  There should be a way to
  197. make address assignment automatic (after all, Microsoft's tcp/ip stack gets
  198. the information), but Microsoft does not follow its own NDIS documentation
  199. in this respect.  Instead they use what they refer to as a "totally undoced"
  200. API so third-party products cannot fully support the dialup adapter.  If
  201. anyone has any useful information on this subject I would be interested in
  202. seeing it.  I've used up a priority support incident with Microsoft only
  203. to be told that I'm not allowed to write a "WAN aware" protocol.
  204. ------------------------------------------------------------------------------
  205. Starting with version 2.1, ndis3pkt provides a Win32 DeviceIoControl API
  206. to support direct packet access by 32-bit applications.  Sample functions
  207. for calling the API are provided in the file ndis3api.c.  The API is *not*
  208. compatible with WfWG 3.11's Win32s sub-system.
  209. ------------------------------------------------------------------------------
  210.  
  211.  
  212. Please send bug reports to ddl@danlan.com or
  213.  
  214. Dan Lanciani
  215. 185 Atlantic Road
  216. Gloucester, MA 01930
  217. (978) 283-4974
  218.