Thunderbolt bridged with ethernet gives poor performance

ethernetNetworkthunderbolt

I have both iMac and MBP, so I thought it might be a good idea to connect MBP to office network through iMac with thunderbolt bridge. The setup is quite simple:

office server <- 1GbE -> cisco switch <- 1GbE -> iMac <- Thunderbolt -> MBP

where iMac has a bridge0 interface with en0 (1GbE) and en3 (Thunderbolt) interfaces attached.

iperf shows following performance:

iMac -> office server: ~ 940 Mbps (as expected)
office server -> iMac: ~ 940 Mbps (as expected)
MBP -> iMac: ~ 5.7 Gbps (wow!)
iMac -> MBP: ~ 5.7 Gbps (wow!)
office server -> MBP: ~930 Mbps (quite a boost to WiFi's ~160 Mbps)
MBP -> office server: 70 Kbps (WTF??)

MTU doesn't seem to be a problem as I can perfectly ping office server from MBP with MTU size packets (1500). However, I'm pretty much sure that the issue must be somewhere in the configuration of iMac bridge. I would much appreciate any idea or clue where should I look.

Best Answer

The best way to diagnose a network issue is to look at the packets.

  • sudo tcpdump -i en0

You can compare the types of errors and retransmits and high level aspects of the good transfers with the slow transfers. Since the logs are very might need to save them to a capture file (see the manual page for tcpdump) and use a tool or script to summarize the data.