How to solve slow networking in VMWare

I use VMWare Workstation with a Kubuntu host and a Windows XP guest. I had very slow network connectivity from the guest to both the Internet and the host (opening folders as SAMBA shares, using rsync, etc.), on the order of around 4kilobits/second, instead of several hundred.

Did a bit of searching on VMWare's site, and found "VMTN Discussion Forums: FC5 kernel 2.6.17.1 update ==> very slow network between host and guest", which included this quick and easy fix:

Set the tcp segmentation offload to off:

$ sudo ethtool -k eth0
rx-checksumming: off
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: off

$ sudo ethtool -K eth0 tso off

Note: I modified the formatting a little bit and added the sudo command.

The capital K command immediately returned normal networking speeds to my VMWare guest. Hooray!

On my system sudo ethtool -k output this:

Offload parameters for eth0:
Cannot get device rx csum settings: Operation not supported
Cannot get device tx csum settings: Operation not supported
Cannot get device scatter-gather settings: Operation not supported
rx-checksumming: off
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: on

The "Operation not supported" messages do not seem detrimental.


Written by Andrew Ittner in misc on Tue 13 March 2007. Tags: technology, linux