network loss on directly connected links

Hello,

My setup is as follow:
- soekris NET4501 box
- FreeBSD 8.0
- sis network driver
- netgraph compiled in kernel but disabled
- pf compiled in kernel but disabled

My problem is rather strange, I connected the box with another computer on two physical interfaces (also two different interfaces on the other side) and when doing a "ping -f xxx" once everything works fine but if I do it on both interfaces at the same time (from the box to the other computer) ping -f start printing dots (request sent but no reply) and when I stop both ping I get 5% to 35% loss, the worst thing is that when I do a tcpdump -plni on one of the exiting interfaces I do see the icmp answers :(

Anyone experienced this ?
I tried same thing on linux with the same hardware and it works as expected (0% loss)
(don't tell me to use linux I just use it to test if it is an hardware problem, I prefer FreeBSD on all points)


This time there is no netgraph, no firewall, I do not see what could impact this. Could it be a bug with the sis driver ?
 
One thing I have noticed with the sis driver is that it can't seem to handle full duplex traffic well at all. Using a Soekris here with the quad port sis card installed.
 
Can I know how you did notice that? Because I also noticed some strange behavior aside of the one I describe but I cannot pinpoint them as specifically as this one. In my current state I think I will just try another freebsd release and see if it works, maybe FreeBSD 6 will works...
 
I was benchmarking another device on my network with iperf and noticed performance fall through the floor when I did full duplex tests. I narrowed it down to the sis based devices in my soekris.

I was running 8.0 at the time too. Curious to know if it works better with 6...
 
After some tests here are the results (all with a minimal kernel config):

- changing HZ with freebsd FreeBSD 8 (150, 400, 1000): same problem
- testing with freebsd FreeBSD 6: same problem
- using a tweaked version of monowall to allow shell access (http://www.xs4all.nl/~fredmol/m0n0/#downloads1_22, embedded image): same problem

So I have no configuration working currently, given the number of different versions I tried and even monowall I doubt it is something specific to me... Is there such a thing like icmp output limit?

If I ping flood the box from the other computer (after a "sysctl net.inet.icmp.icmplim=0" on the box) on the two interfaces there is no loss reported.

But if the ping flood comes from the box itself the two ping -f processes report something between 5% and 35% loss but still stay at 0% if there is only one ping flood running.

I don't know if this is a real problem of if only icmp packets are affected somehow but if it also happens with other network packets it could explains some problems we encounter.
 
Back
Top