home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / unix / bsd / 11743 < prev    next >
Encoding:
Internet Message Format  |  1993-01-24  |  8.9 KB

  1. Xref: sparky comp.unix.bsd:11743 alt.sources:3077
  2. Newsgroups: comp.unix.bsd,alt.sources
  3. Path: sparky!uunet!emba-news.uvm.edu!hal.emba.uvm.edu!wollman
  4. From: wollman@hal.emba.uvm.edu (Garrett Wollman)
  5. Subject: [386BSD] Fourth Release, i82586 Ethernet driver
  6. Message-ID: <1993Jan23.194050.635@uvm.edu>
  7. Sender: news@uvm.edu
  8. Organization: University of Vermont, EMBA Computer Facility
  9. Date: Sat, 23 Jan 1993 19:40:50 GMT
  10. Lines: 209
  11.  
  12. I am pleased to announce the release of the latest version of my
  13. i82586-based Ethernet device driver.  This driver is currently known
  14. to work on AT&T EN100 and StarLAN 10 controllers, but the job of
  15. porting it to another card should be simple.
  16.  
  17. From the NEWS file:
  18.  
  19. Changes from the Third Release of this driver:
  20.  
  21. - Support for IP multicasting.
  22. - ieattach() correctly fills in its link-level address, so `netstat -i'
  23.   gives useful information:
  24.  
  25. ie0   1500  <Link>08.00.6a.81.14.15          391     0      328     0     0
  26.  
  27. - ieattach() also correctly fills in the link type information, so
  28.   that if the hack is finally removed from if_attach(), it won't
  29.   require changing.
  30. - More bugs hopefully eliminated.
  31. - More support for the StarLAN Fiber adapter (but it still doesn't work).
  32.  
  33. ------------------------------------
  34. The entire README file follows.
  35.  
  36. README
  37.   Fourth Release
  38.     Intel i82586 Ethernet controller driver
  39.  
  40. Copyright 1992, Garrett A. Wollman
  41. Copyright 1992, University of Vermont and State Agricultural College.
  42. See permission notice at end.
  43.  
  44.  
  45. INTRODUCTION
  46.  
  47. This package consists of a driver for the Intel high-performance
  48. 8-/16-bit LAN controller, the i82586.  The mode in which it currently
  49. operates is known to be correct for a standard DIX version 2.0
  50. Ethernet, but may not be correct for some other network systems, such
  51. as StarLAN.  The only network hardware currently supported is the AT&T
  52. EN100 NAU, operating in Ethernet mode, but the software was designed
  53. to allow support for other controllers to be easily integrated;
  54. indeed, only three functions need to be written in order for other
  55. standard Ethernet cards based on this controller to work.  (The
  56. Clarkson Packet Drivers should show you what needs to be done.)
  57.  
  58. The package as it stands does not support trailers.  I see no
  59. particularly good reason for it to do so, since no modern network
  60. hardware emits such ugly packets.  Eventually, I will try to
  61. support Paul Tsuchiya's PIP in addition to IP, NS, and 802.2.
  62.  
  63.  
  64. INSTALLATION
  65.  
  66. To install this driver, you will first need to add the line
  67.  
  68.    if_ie.c optional ie device-driver
  69.  
  70. to your /sys/i386/conf/files.i386 file.  Once this is done, you should
  71. add a configuration file entry similar to the one included in my
  72. configuration file, TSORNIN.  Then re-run `config', `make depend', and
  73. `make'.  With luck, you will have a fully-functioning kernel with a
  74. network interface called `ie0'.  (You should be able to configure more
  75. than one, but I've never tried this myself.)
  76.  
  77. You can then add
  78.     ifconfig ie0 inet my-address netmask my-netmask broadcast my-broadcast
  79. to your /etc/netstart, and away we go!
  80.  
  81.  
  82. PERFORMANCE
  83.  
  84. Well, to be quite honest, performance was not one of my major goals.
  85. Indeed, I expect transmit to be quite a dog, since I only queue up a
  86. single transmit command.  However, receive performance should be quite
  87. improved from the previous version (which died on large packets
  88. anyway), as the new version takes note of the fact that most packets
  89. are relatively small, and so uses a received frame area consisting of
  90. 32 received frame descriptors (so a maximum of 32 frames can be
  91. received while waiting for interrupt service) and 32 256-byte receive
  92. buffers.  The driver itself also takes pains to free up un-needed
  93. receiver resources as soon as possible, to reduce the number of
  94. interrupts which must be processed.  (The device interrupt routine
  95. also polls the 586 status register to keep immediate turnarounds down
  96. to a minimum.)
  97.  
  98. I tested the TCP performance of my machine, tsornin, against sal, an SGI
  99. 4D/210S (which used to be a 220, 230, and 240).  First, to get a
  100. baseline, I tested the loopback interfaces:
  101.  
  102. For tsornin:
  103. ------------------------------------
  104. ttcp-r: socket
  105. ttcp-r: accept from 127.0.0.1
  106. ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
  107. ttcp-r: 16777216 bytes in 127.32 real seconds = 128.69 KB/sec +++
  108. ttcp-r: 4997 I/O calls, msec/call = 26.09, calls/sec = 39.25
  109. ttcp-r: 0.1user 38.1sys 2:07real 30% 0i+0d 0maxrss 0+0pf 156+4719csw
  110. ------------------------------------
  111. For sal:
  112. ------------------------------------
  113. ttcp-r: socket
  114. ttcp-r: accept from 127.0.0.1
  115. ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
  116. ttcp-r: 16777216 bytes in 14.68 real seconds = 1116.02 KB/sec +++
  117. ttcp-r: 2049 I/O calls, msec/call = 7.34, calls/sec = 139.57
  118. ttcp-r: 0.0user 2.3sys 0:14real 15% 220maxrss 0+0pf 14+966csw
  119. ------------------------------------
  120.  
  121. The next test measures tsornin's receiver; this includes one cisco
  122. router hop:
  123. ------------------------------------
  124. ttcp-r: socket
  125. ttcp-r: accept from 132.198.3.22
  126. ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
  127. ttcp-r: 16777216 bytes in 134.31 real seconds = 121.99 KB/sec +++
  128. ttcp-r: 16777216 bytes in 23.83 CPU seconds = 687.54 KB/cpu sec
  129. ttcp-r: 4123 I/O calls, msec/call = 33.36, calls/sec = 30.70
  130. ttcp-r: 0.1user 23.7sys 2:14real 17% 0i+0d 0maxrss 0+0pf 4116+166csw
  131. ttcp-r: buffer address 0xc000
  132. ------------------------------------
  133.  
  134. Finally, tsornin's transmitter (and, of course, also sal's receiver),
  135. still one hop:
  136. ------------------------------------
  137. ttcp-r: socket
  138. ttcp-r: accept from 132.198.4.5
  139. ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
  140. ttcp-r: 16777216 bytes in 101.18 real seconds = 161.93 KB/sec +++
  141. ttcp-r: 16340 I/O calls, msec/call = 6.34, calls/sec = 161.49
  142. ttcp-r: 0.1user 7.4sys 1:41real 7% 220maxrss 0+0pf 16334+32csw
  143. ------------------------------------
  144.  
  145.  
  146. ACKNOWLEDGEMENTS
  147.  
  148. This driver would not have been possible without the help of several
  149. individuals:
  150.  
  151. - The authors of the Clarkson Packet Drivers
  152. - Terry from Novell
  153. - Somebody from Labtam whose name I've forgotten
  154. - Steve Ackerman for lending me a copy of his i82596 manual
  155. - Dr. Gary Barbour for not complaining about the amount of time I
  156.   spent making this work right.
  157. - The United States Postal Service, for losing our order to Intel for
  158.   a '586 manual.
  159.  
  160. I would appreciate it if any new additions or extensions of this
  161. driver are communicated directly with me, rather than letting a
  162. mish-mash of different versions float about.
  163.  
  164.  
  165. CONTACTING THE AUTHOR
  166.  
  167. You can contact me via electronic mail (preferred) as
  168. <Garrett.Wollman@UVM.EDU>.  You can send paper mail to me at 127 Saint
  169. Paul Street #218, Burlington, VT 05401.
  170.  
  171.  
  172. COPYING
  173.  
  174. Here are the conditions attached to this software:
  175.  
  176. Copyright (c) 1992, University of Vermont and State Agricultural College.
  177. Copyright (c) 1992, Garrett A. Wollman.
  178.  
  179. Portions:
  180. Copyright (c) 1990, 1991, William F. Jolitz
  181. Copyright (c) 1990, The Regents of the University of California
  182.  
  183. All rights reserved.
  184.  
  185. Redistribution and use in source and binary forms, with or without
  186. modification, are permitted provided that the following conditions
  187. are met:
  188. 1. Redistributions of source code must retain the above copyright
  189.    notice, this list of conditions and the following disclaimer.
  190. 2. Redistributions in binary form must reproduce the above copyright
  191.    notice, this list of conditions and the following disclaimer in the
  192.    documentation and/or other materials provided with the distribution.
  193. 3. All advertising materials mentioning features or use of this software
  194.    must display the following acknowledgement:
  195.     This product includes software developed by the University of
  196.     Vermont and State Agricultural College and Garrett A. Wollman,
  197.     by William F. Jolitz, by the University of California,
  198.     Berkeley, by Lawrence Berkeley Laboratory, and its contributors.
  199. 4. Neither the names of the Universities nor the names of the authors
  200.    may be used to endorse or promote products derived from this software
  201.    without specific prior written permission.
  202.  
  203. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  204. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  205. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  206. ARE DISCLAIMED.  IN NO EVENT SHALL THE UNIVERSITY OR AUTHORS BE LIABLE
  207. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  208. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  209. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  210. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  211. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  212. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  213. SUCH DAMAGE.
  214.  
  215.  
  216. -- 
  217. Garrett A. Wollman   | Shashish is simple, it's discreet, it's brief. ... 
  218. wollman@emba.uvm.edu | Shashish is the bonding of hearts in spite of distance.
  219. uvm-gen!wollman      | It is a bond more powerful than absence.  We like people
  220. UVM disagrees.       | who like Shashish.  - Claude McKenzie + Florent Vollant
  221.