Re: 3c59x Driver Query..
Donald Becker <[email protected]> Tue, 16 Dec 2003 16:11:16 -0500 (EST)
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <Pine.LNX.4.44.0312161555000.8196-100000@beohost> |
On 16 Dec 2003, Mike Insch wrote: > Basically, I am trying to use two 3c905C (Tornado) NIC's with the 2.4.23 > bonding driver. This driver needs the base NIC driver to support > changing the card MAC address whilst the card is open. This is deeply flawed: there are inherent race and packet drop problems. Most NICs do not allow changing the driver MAC address when the receiver is active because of the problems. > It appears that the 3c59x Driver does not support this operation. > I have looked at the 3c59x code, and the Bonding driver code, as well as > the code for drivers which do support this operation (such as the Intel > EtherExpress e100) to see if I can glean any useful information. The e100 is a good example of why this is silly. The chip changes the MAC address using the same command queue as transmitting a packet, which means that the operation might be delayed for a significant period of time. To know when the command is executed, the driver must stop the transmit queue, wait until the queued packets are sent, send the 'CmdIASetup' update command, and then resume normal operation. And while the command is running, the receiver is disabled, so the NIC is silently dropping packets. Doh! It's exactly as bad as down-change-up, except that the driver is now more complex. -- Donald Becker [email protected] Scyld Computing Corporation http://www.scyld.com 914 Bay Ridge Road, Suite 220 Scyld Beowulf cluster systems Annapolis MD 21403 410-990-9993 _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex