none
Disable IPv4 Checksum Offload, IPv4 Large Send Offload and TCP Connection Offload (IPv4) on Server Core with Broadcom NICs

    Question

  • This is for a virtual environment.  Two host servers running Server 2008 R2 Core.  After some research I've determined that I need to disable Large Send Offload and Checksum offload on the NICs of my hosts.  I'm trying to determine how and where to do the disabling.  I see in the Broadcom utility where I can disable it.  I also see in the VM's where I can go into the properties of the NIC and disable it (not sure if its needed here).  I've seen other posts regarding running a NETSH command and editing the registry.  So my questions are this:

    1.  What exact Offloading should be disabled?  In our NIC properties I see IPv4 Checksum Offload, IPv4 Large Send Offload and TCP Connection Offload (IPv4).

    2.  Do I only need to change offload setting from within the NIC, or do I need to do it at the OS level too?  In other words, I’ve seen people use the following command “netsh int ip set global taskoffload=disabled”, I’m not quite sure if that’s needed or what exactly it does.

    3.  Do I need to make these changes within the VM as well as the hosts?

    Can anyone shed some light on this?

    Thanks in advance for the responses.

    Tuesday, August 17, 2010 8:19 PM

Answers

  • How you do it depends on the UI that you have.  (netsh when you don't have a GUI)

    You want to disable "TCP Task Offload" options in the driver settings of the NIC - these are driver specific.  What options you have is driver specific.

    You do not want to disable "TCP Offload" - which is generally done using a single registry key at the Windows system level.

    When do you disable Task Offloading options?  When you have an application in a VM that can benefit from it - Exchange, SQL, Terminal Services, other client server app, etc.  It is all about how the packets flow and how good the vendor implementation of TCP Task Offloading is.

    The netsh command you outline generally has no impact and you have to go into the settings of the NIC.

    There is an old Virtual Server document that outlines this pretty well (the sceanrio is a bit different).  Check out Method 3: http://support.microsoft.com/kb/888750/en-us

     Also:

    http://itproctology.blogspot.com/2009/07/more-about-chimney-and-tcpoffload-in.html
    http://itproctology.blogspot.com/2008/05/hyper-v-tcpoffloading-poor-network.html


    Brian Ehlert (hopefully you have found this useful) http://ITProctology.blogspot.com
    Tuesday, August 17, 2010 10:08 PM
    Moderator

All replies

  • How you do it depends on the UI that you have.  (netsh when you don't have a GUI)

    You want to disable "TCP Task Offload" options in the driver settings of the NIC - these are driver specific.  What options you have is driver specific.

    You do not want to disable "TCP Offload" - which is generally done using a single registry key at the Windows system level.

    When do you disable Task Offloading options?  When you have an application in a VM that can benefit from it - Exchange, SQL, Terminal Services, other client server app, etc.  It is all about how the packets flow and how good the vendor implementation of TCP Task Offloading is.

    The netsh command you outline generally has no impact and you have to go into the settings of the NIC.

    There is an old Virtual Server document that outlines this pretty well (the sceanrio is a bit different).  Check out Method 3: http://support.microsoft.com/kb/888750/en-us

     Also:

    http://itproctology.blogspot.com/2009/07/more-about-chimney-and-tcpoffload-in.html
    http://itproctology.blogspot.com/2008/05/hyper-v-tcpoffloading-poor-network.html


    Brian Ehlert (hopefully you have found this useful) http://ITProctology.blogspot.com
    Tuesday, August 17, 2010 10:08 PM
    Moderator
  • We have Broadcom nics and are running the BACs utility in Server Core.  So we need to disable IPv4 Large Send Offload and IPv4 Checksum Offload but NOT TCP Connection Offload?  These 2 need to be disabled in the BACs utility only.  We do not need to make any registry settings to disable this, correct?

    Also in our Terminal Servers, we will want to disable TCP Connection Offload in the VM NIC?

    I am a little confused because I dont see TCP Offload in our NICs, the only one that is close to that is TCP Connection Offload.  Is this what you are referring to when you say TCP Offload?  You also mention TCP Task Offload, same thing I dont see that in there.

    Thanks for the response.

    Tuesday, August 17, 2010 10:24 PM
  • Examples of Task Offloading options are:  Checksum offload, Large Send Offload, etc.

    I can not give you a definitive answer as each NIC vendor can call it something different - this is not an OS thing, it is a NIC driver thing.

    TCP Connection Offload - I am not sure of that one, sounds like TCP Chimney whichs means you should probably leave it alone.

    You disable it at the physical NIC level - the physical NIC that the External Virtual Network is connected to / using.  It then applies to that Virtual Network and all traffic that passes through it.

    (this has been a Terminal Server tweak since the NT 4 and 3Com NIC days...)


    Brian Ehlert (hopefully you have found this useful) http://ITProctology.blogspot.com
    • Proposed as answer by ControlP Wednesday, October 27, 2010 8:35 AM
    Tuesday, August 17, 2010 10:30 PM
    Moderator
  • So just to confirm, since I have the Broadcom utility available to me, I only need to make the Task Offloading changes in there?  Not in the Reg or the OS?

    While I have your ear, would these same Task Offloading options apply to our ISCSi NICs?

    Thanks again for all your help! 

    Tuesday, August 17, 2010 10:42 PM
  • Hi,

     

    I don’t know whether you have checked the links provided by BrianEh.

     

    I only need to make the Task Offloading changes in there?

     

    >> It depends on the Broadcom utility. It is recommend that you contact Broadcom to perform the further research.

     

    would these same Task Offloading options apply to our ISCSi NICs?

     

    >> You can do it if there are the same options on the iSCSI NICs.

     

     

    Best Regards,

    Vincent Hu

     

    Monday, August 23, 2010 6:29 AM
    Moderator