ok my last tests were not good and incomplete.
I've got some new results that all point to one thing : freebsd has a problem. Or at least, the 4 installs of mine have. But due to the variety of h/w, I find it hard to believe this is actually a hardware issue, hence I dare to say it's freebsd.
Have a look :
A = redhat in burnley Intel nic
B = freebsd 6.2 in london Broadcom (bce)
C = freebsd 6.2 in amsterdam Broadcom (bge)
D = ubuntu in rotterdam Intel
E = freebsd 5.4 in rotterdam Realtek
F = freebsd 6.0 in burnley Intel
SOCKET CONNECTIONS TEST ERRORS :
E -> B 7
E -> A 30
C -> B 27
C -> A 4
C -> F 9
B -> A 2
B -> C 4
B -> F 5
A -> B 0
A -> C 0
A -> F 0
D -> B 0
D -> C 0
D -> F 0
Imo this is super weird. I tried googling, but there's no mention what so ever about this issue. Am I really the only one with connection problems on all my freebsd boxes? I find that hard to believe!
But the good news is, there's nothing wrong with our new servers' hardware.
Another thing to note is that when there is a connection error, the packet was never actually sent out of the interface.
The socket was created fine, but the creation of the connection fails - a syn packet was never sent. At least, I do not see anything in pflog. There is a 'gap' in pflog when the error happens.
I also tried without pf, but this made no difference. Or at least, instead of an immediate error, there was now a big timeout before the connect() function returned false.
I am hoping this could be fixed in a way by tweaking some sysctl variables, but i haven't found anything useful yet.
What I'd really be interested in, is if anyone reading this with a freebsd install could run a connection test themselves. I've attached a simple c program that you can compile and run to see if the 1000 connection attempts it will create towards this forum are all OK or if some fail.
If anyone runs the test, please do note your exact os and version and I guess it'd be handy to know the nic and driver type / version too.
(ps, the program is really simple, I know
)