Linux guest E1000 nic generates abnormally high volumes of traffic in a NAT and traffic-shaped environment

Situation:
ESXi 4.1.0 build 502767
Linux guest VM
The guest VM NATs about 30% of the traffic going through it.
The guest VM uses the E1000 nics
Traffic downstream (on the “inside” interface) is traffic-shaped (by another device)

Observations:
In this situation, the linux guest will report abnormally high downstream NIC utilization (considerably more than the inputs on the other interfaces), when the traffic is shaped.
I suspect this issue is E1000-specific (i.e. not VMware per-se), but I’m reporting it here because this is where I experienced it.

This particular guest NIC was mapped to a single VMware ESX host NIC, with no other guest VMs attached to this same NIC.
When I looked at traffic stats on the switch port that this host nic plugged into, it did not report the abnormally high utilization patterns observed inside of the guest (the switch reported 100-200Mbps less traffic).
The VMware vSphere client reported the same traffic levels as the physical switch port. (In other words, this looks to be a VM guest driver issue.)

When this problem was happening, the tx traffic levels reported by the E1000 NIC were about 30% higher than would be expected from the volume of traffic coming in from the outside NICs (the tx traffic level of this NIC should have been very close to the sum of the rx traffic levels received by the other NICs).

Rebooting the linux guest did not resolve the problem.
Changing the linux guest NICs (all four of them) from E1000 to VMXNET3 actually did resolve the problem.

I do not know if there is a correlation between the two 30% numbers, but based on observations of similar behavior in one other (non-VMware) setting/situation, I suspect it’s just a conincidence.

As observed by my co-worker here

Synchronizing data between different computers and OS’s with Dropbox

About a week ago I installed Dropbox, and I have to recommend it to anybody who needs to sync their files between machines. I have a group of Macs that I use to sync data between, and I used to use iDisk, but Dropbox is so much quicker that I can’t see myself using iDisk anymore. Also, the syncing between Linux and Mac OS X works great – I haven’t got a chance to test the Windows client yet, but I’m sure it works just as good.

If you sign up with this link, you’ll get an extra 256MB, and so will I.

QuickTime Streaming returns 400 Bad Request

When you are trying to view a QuickTime movies from a streaming server, sometimes you will get back a 400 Bad Request error.  At my network at work, we intercept all port 80 traffic and forward to our squid proxy server, which is why we get this error.  In order to fix this, just open up System Preferences, open the QuickTime pane, click the Advanced tab, and choose Custom… under the Transport Setup dropdown.  Choose HTTP as your protocol, and type in 7070 where is says Other.  Since making this modifications, we can view the QuickTime streams with no problems.

Resource Temporarily Unavailable with cPanel and TeamSpeak

One of my friends, Jeremy Bergen, is running a TeamSpeak server on one of my servers, and was running into a resource temporarily unavailable while ssh’d into the box. The TeamSpeak server was also randomly shutting down, and this may have been caused by the same error. TeamSpeak uses around between 10-16 processes itself, so after a logging in a few times or doing other things, this default limit of 20 it reached.

To fix this, first I turned off cPanel’s built in ‘Prevent Shell Fork Bomb Protection’. Then, I edited the /etc/security/limits.conf. I still wanted users to be limited to 20 processes, except for the TeamSpeak user which I wanted to have 40, and root which I wanted unlimited. Here are the lines that I had:

*             soft     nproc     20
jeremy        soft     nproc     40
root          soft     nproc     unlimited

Of course, you can customize the file however you like. The key is turning off cPanel’s internal protection so your box will use this file. Also, I happen to use CentOS 4.3.

Full Screen and tsclient

When using tsclient, a remote desktop/terminal services/vnc client, if you connect in full screen mode to a server it can be difficult to disconnect or switch to another application because there is no ‘control bar’ at the top.

To toggle full screen mode, use the key combination Ctrl+Alt+Enter.

SuSE Linux 10

I’ve been playing around with the latest version of SuSE Linux and so far I’m loving it. Since I’m waiting for my new computer parts to arrive, I went ahead and installed it to my current machine (it’s an AMD Athlon XP 1800+ overclocked to 1.8GHz with half a gig of Corsair RAM, running on an Asus A7N8X Deluxe motherboard). The install went smooth after I got a drive to read the burned dual layer DVD. It some ways it was easier than a Windows install, and supported all of my hardware.

Now I’m just waiting for my new parts to arrive so I can install and run SuSE in 64-bit mode. For those that are interested, my new computer is going to consist of an AMD Athlon64 3000+ Venice (probably going to overclock to 2.4 – 2.7GHz) with a gig of OCZ RAM, running on a DFI LanParty UT nF4 Ultra-D motherboard. I’ll post pictures of the build when everything comes in…