I had a query regarding LSO and RSC features. These features allow the OS to send and receive large TCP packets (> mtu) by offloading the processing to the nic. My understanding is for these features checksum offload should be enabled. When checksum offload is disabled, these features should be disabled and OS will segment the packets and send further. However, I have noticed that when checksum offload is disabled, LSO or RSC features are not disabled automatically. I still do see large packets being received with checksum offloaded.
The above link mentions that LSO/RSC will be disabled when checksum offload is disabled. But, this does not happen. Is this a bug in windows Or it is expected that miniport drivers will handle it? Or they expect user should disable LSO/RSC when disabling checksum offloads. Any pointers will be appreciated.
PS: On linux, when tx checksum is disabled TSO is automatically disabled which is what makes sense.