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?

http://technet.microsoft.com/en-us/network/bb545631.aspx