On Fri, 28 Oct 2005, Carl Makin wrote:
I've been having a heap of trouble with the primary network interface on
a box that was running 5.4 and recently upgraded to 6.0-Beta5 where the
interface would just go dead. Nothing in ifconfig or syslog or dmesg
would indicate a problem, but nothing would go in or out. The only way
to fix it was reboot.
A week ago, after searching the mailing lists I realised it might be the
fact that I was using Netatalk and that might not be MP safe so I set
debug.mpsafenet="0" in /boot/loader.conf and the box has been stable
ever since.
Is anyone looking at the kernel Netatalk code? Is this likely to be the
real reason for the problem?
I've not seen any reports of problems, but have had my hands in it
recently. I'm happy to help try and debug the issues, but my preference
(if possible) would be to do this on 6.x and then backport fixes to 5.x.
While the netatalk code does see testing, it's not all that widely used,
and so it's possible there are lurking issues. netatalk is, in theory,
MPSAFE, but there could be lasting race conditions. debug.mpsafenet puts
Giant back over the stack, but also substantially changes the timing, so a
race condition in a device driver or the socket code could also be
indicated. Could you:
- Submit a PR describing the details.
- Include output from dmesg, ifconfig, and other information you might
thing that would be useful. Indicate which interface is the one that is
hanging.
- Compile the kernel with INVARIANTS, INVARIANT_SUPPORT, WITNESS, DDB, and
BREAK_TO_DEBUGGER. See if you get any debugging warnings around when
the hang occurs. Note: these options have a large performance impact.
- Once the interfae is dead, can you use it for IP traffic?
- Once the interface is dead, if you run tcpdump on it, do you see
traffic?
- Once the interface is dead, if you generate traffic, do other hosts see
it?
- If you generate traffic, does tcpdump see your own traffic?
Thanks,
Robert N M Watson
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"