Network issue with Hyper-V

Ok. I finished migrating my VMs to Windows Server 2008 with Hyper-V and installed my file server running Windows Server 2008 in a VM. I installed all VMs on my Dell Power Edge 2900 and at first I thought I was fine. I am running Hyper-V with three virtual switches connected the following way:

Virtual Switch 

Connected NIC 

VM Switch 1 (Internet) 

Broadcom Nextreme II port #1 

VM Switch 2 (Intranet) 

Broadcom Nextreme II port #2 

VM Switch 3 (Intranet) 

Intel Pro 1000 MT port #2 

 

My ISA Server was connected to VM Switch 1 and VM Switch 2 to provide Internet Access to the client on the Intranet. The rest of my servers was spread across VM Switch 2 and VM Switch 3.

While testing all the systems I soon came to the conclusion that something was going wrong with my mail server. The mail server was connected to VM Switch 2 and mail was not going out. I was also not able to connect to the mail server from the Internet.

When checking the logs on the ISA Server I found a shipload of TCP Checksum failures on traffic from the mail server to the Internet. This caused all traffic to and from the mail server being dropped, essentially disconnecting the system from the Internet.

With earlier issues with Virtual Server 2005 in mind, I started disabling TCP Offload features on the Hyper-V host. I had huge issues with the TCP Offload Engine (TOE) feature of the Broadcom Nextreme II network adapter when I just bought the server. These issues caused me to by the extra Intel NIC for the box. While tweaking the offload parameters of the host NICs I gradually lost all connectivity to the Internet. Even after restoring all values, I did not regain connectivity. In the end rebooting the host restored my Internet connectivity. But I still did not resolve the problem.

It was not until I posted the issue in the Technet Windows Virtualization forum that I was handed the solution: Disable TCP Offloading in the VM in stead of on the host.

In order to to disable TCP Offloading I had to create and set a new registry value in each VM connected to the Broadcom 8507 Nextreme II NIC.

I used the following registry change to disable TCP Offloading:

Key: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Value(DWORD): DisableTaskOffload = 1

After disabling TCP offload on each VM this way all trouble was over and I was able to connect multiple VMs to one NIC port of the Broadcom 5708 Nextreme II NIC.

 

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s