After much fumbling and some guidance (thank you, Alan Cox) I have figured
out why my dual-Pentium SMP (2.1.125) machine periodically loses its
AppleTalk. The 8390.c driver (used by the scary NE2000 ISA card in this
machine) can corrupt a part of the card's multicast table, causing arbitrary
(a few to all) portions of the AppleTalk network to become mutually invisible
to the Linux box. Anything else that does multicast would also be affected
when using the 8390 on an MP machine. Briefly, if cpu0 attempts a transmit
while cpu1 is servicing a receive interrupt and the phase of the moon is
correct, a write to the wrong chip page cause the last multicast table entry
to be set to 0. This is actually much more likely than it sounds. I have a
slightly kludgie fix that takes care of the problem. So if anyone else is
having appletalk problems with SMP+8390, this may be the cause.
On a separate but related topic, when I am happy with this fix and it is
sufficiently cleaned up, who gets the patch for network drivers?
(Presumably, it is not Linus or Donald Becker).
-- Eugene