I have an Ubuntu Karmic x64 server at one end, a TRENDnet TEG-S80g switch in the middle, and a Windows 7 x64 box at the other end. The wiring between them is Cat5e. The Ubuntu and Windows 7 boxes both have the exact same NIC (an Intel Pro/1000 MT), and both have been set to full duplex 1000 Mbps. Additionally, the MTU has been set to 9014 bytes at either end, which is compatible with the TRENDnet switch's maximum MTU of 9612 bytes.
iperf reports consistently 131 Mbps with the tcp window set to 65536 at both the server and client (Ubuntu being the server, Windows being the client). This is the -best- result that I've been able to get. With jumbo packets disabled, and the cards set to auto negotiation, I get around 27-30 Mbps.
To make matters worse, connecting the two boxes directly together (with a 1-foot Cat5e patch cable) produces almost identical results. So, by my estimation, the switch isn't to blame. I'm lost. Any suggestions?