How to know if TCP offload is working
So you went out and got yourself a new server and it came with TOE functionality, and now you're playing Windows 2008 which has TCP offload enabled but you just want to know if its actually offloading traffic. Here's the only way I know of finding what traffic is offloaded without setting breakpoints in the debugger.
First off to check if TCP offload is enabled:
C:\>netsh int tcp show global
Querying active state...
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : enabled <-----
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : ctcp
ECN Capability : disabled
RFC 1323 Timestamps : disabled
To turn it on/off (does not require a reboot)
netsh int tcp set global chimney=disabled
netsh int tcp set global chimney=enabled
So how do we see if traffic is offloaded? You run netstat -nt, the 't' dumps their current offload state. I used findstr just to grab the offloaded connections.
C:\>netstat -nt | findstr /i offloaded
TCP 110.100.44.52:445 10.5.17.2:1369 ESTABLISHED Offloaded
TCP 10.100.44.52:445 1.56.15.14:4741 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.198.5.2:2444 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.100.4.219:2255 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.58.6.50:54620 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.58.20.40:50442 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.58.25.15:1191 ESTABLISHED Offloaded
TCP 10.100.44.52:49157 1.148.8.6:58308 ESTABLISHED Offloaded
TCP 10.100.44.52:49449 1.10.3.2:1025 ESTABLISHED Offloaded
UPDATE:
Windows 2003 its a bit different:
Netsh int ip set chimney DISABLED
Netsh int ip set chimney ENABLED
Want to know more about Scalable Networking?
https://technet.microsoft.com/en-us/network/bb545631.aspx
Comments
Anonymous
January 01, 2003
Algis, it's like you have a blog inside my blog :)Anonymous
January 01, 2003
Thush, probably the driver you are using is not supported with 2k8 or does not have the offlaoding feature turned on. If the OS shows that offload is enabled, then for all intents and purposes, its enabled. I'd try to find out of the driver your using is supported in 2k8.Anonymous
January 01, 2003
HI..Intilop is one of the leading IT Company providing TCP offload technology and products. This technology used to send or receive multiple Giga bytes of data in nano seconds.TCP Offload IP coreThanks for nice articleAnonymous
January 01, 2003
Yes they work together, at least they do inside the MSFT walls.Anonymous
January 24, 2008
Thanks for this article. Is there a way to tell if it is running prior disabling it on 2k3.Anonymous
March 29, 2008
Is the TCP offload compatible with Windows Firewall in W2008? In 2003 its either firewall or offload, but not both.Anonymous
June 23, 2008
I have problem windows 2008 64bit, it shows when you do netstat -t enabled but not in the broadcom Configuration, still showing Unlicensed. this was working when i had the windows 2003 installed. can you plaese give me some idea how to get work.Anonymous
July 13, 2008
The comment has been removedAnonymous
September 06, 2008
The comment has been removedAnonymous
September 17, 2008
The comment has been removedAnonymous
November 21, 2008
This blog is very powerful - even HP responded. Now a note is put in the QuickSpecs that TCP/IP offload is supported in Windows 2003 only (where it is not recommended for use due to stability problems, because of that it is disabled automatically by Windows update). In Windows 2008 TCP/IP offload IS NOT SUPPORTED, no way to enable it. So, at least for now, idea to use hardware TCP offload on Windows will not work for masses, and its not clear who is guilty - Broadcom, failing to write proper drivers, or Microsoft, requiring so complex drivers. Solution for 1Gbps users: buy faster processors with more cores and use software iSCSI. Solution for 10Gbps users: NONE. Unfortunatelly, you need approx. 1GHz of processor clock for 1Gpbs going through TCP/IP stack, and even more clock for iSCSI special check-sums. Only offload hardware can provide iSCSI on 10G levels. HP just released BL495c server with built-in 10G Broadcom adapters with hardware iSCSI on the chip. Dell released 10G network adapter with the same Broadcom 57711 chip "three in one" at 10G (LAN, TCP offload, iSCSI offload). But same story - hardware "can do" everything, but no drivers for Windows yet, neither iSCSI nor TCP/IP offload. This situation decreases the value of Windows server for the users. Lets hope Microsoft will put a focus on this issue before the time Windows 2008 R2 will be released. If anyone can please forward this to the right MS person: please make a work-group with the biggest network chip provider to help them write a proper iSCSI and TCP offload drivers for most popular Broadcom hardware offload chips, for drivers to be included on W2008 R2 disk. Offloads must be made stable and enabled by default. Then users will get a payback of their costly Windows license upgrade in the form of better network speeds, lower server processor utilization, and better capacity for applications (this means better power efficiency of Windows server versus the competition).Anonymous
February 08, 2009
The comment has been removedAnonymous
February 15, 2009
You are right. I noticed that for some reason when I post something here changes actually happen. So maybe some important people and lot of others were reading it - despite that you made the post one year ago, if you enter "TCP offload windows 2008" on Google search and press "I am feeling lucky" you will get this page. Sorry for posting here updates on my developing TCP offload enabling story - inspired by your post :), I spent more than a year fighting with hardware vendors asking them to turn TCP offload on in servers and chips that were advertised and sold with this feature to me. In the future this thing will be even more important as speeds go to 10Gbps. Lets hope users will have no need to know all this and starting with Windows 2008 R2 it will work in optimised way by default, at least with most popular hardware. This is my last comment on your blog :) Saying that, I would like to thank you for this post.Anonymous
February 03, 2010
Hi, I was wondering if there are any Kernel Debug commands that can be utilized to identify if SNP / TOE is enabled on a target system via live debug or memory dump?Anonymous
August 10, 2010
I have made the required changes in the registry for the HKLMSystemCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�000] "Ip4IpChecksum"=dword:00000000 "Ip4TcpChecksum"=dword:00000000 "Ip4TcpLsoV1"=dword:00000000 but once I close the reedit the entries are gone. WHat am I doing wrong? PLease advice.Anonymous
August 26, 2010
Is there a similar command that can disable the iSCSI offload without manually doing it from the BACS ? We use automated deployment and so would like to have all the servers with iSCSI offload set to disabled by default ...Anonymous
January 05, 2011
The comment has been removedAnonymous
April 27, 2011
Algis, I wish I knew how to reach you because I have been having the problem you are having. DL380 G5 with the 373i drivers under Server 2008 R2, and I cannot get TOE to work. I have enabled it in Windows, but netstat continues to show all connections in-host. I also am unable to determine if TOE works for NC373i adapters that are teamed through the NCU. Any ideas?Anonymous
February 04, 2014
10G full TCP offload engine makes it possible with 100ns latency zero jitter and ultra precision. The UDP Offload IP Core Engines includes: - 10G UDP offload Engine Ultra- low latency - 10G UDP offload engine +PCIe Ultra- low latency - 1G UDP offload engine Ultra- Low latency For more: http://intilop.comAnonymous
August 07, 2014
Some very good conversation and helpful replies. Has answered half of my questions already by reading the comments.
http://intilop.com