lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 1 May 2008 10:56:10 -0700
From:	"prodyut hazarika" <prodyuth@...il.com>
To:	netdev@...r.kernel.org
Subject: State of TCP segmentation offload to NIC in linux

Hi all,
I am trying to understand the current state of TCP segmentation
offload to Network cards. in Linux I have read posts that tells that
Intel e1000 driver supports TSO (TCP segmentation offload). This link
tells that TSO is supported in Linux:
http://lwn.net/Articles/9129/

 I see the define NETIF_F_TSO in the linux kernel, and I see that the
e1000 driver is setting this flag in its capabilities list. But for
TSO to work, TCP code should send the big segment (say 64K) directly
to the NIC, bypassing the IP layer. Else, the IP layer would fragment
the packets, and the whole purpose of TSO will be lost. I cannot see
any code in tcp layer which bypasses the IP layer and goes directly to
the NIC. It seems to me that the TCP/IP stack in Linux always does the
segmentation, since there is no code under the NETIF_F_TSO define
which bypasses the IP layer. Or am I missing something?

Can anyone please tell me whether the Linux TCP/IP stack support TSO
so that TCP segments bigger than MSS is segmented by the NIC, not the
software? If not, is there plans to support this, since this is
stateless offload?

Any pointers would be greatly appreciated.

Regards,
Prodyuthttp://lwn.net/Articles/9129/

 I see the define NETIF_F_TSO in the linux kernel, and I see that the
e1000 driver is setting this flag in its capabilities list. But for
TSO to work, TCP code should send the big segment (say 64K) directly
to the NIC, bypassing the IP layer. Else, the IP layer would fragment
the packets, and the whole purpose of TSO will be lost. I cannot see
any code in tcp layer which bypasses the IP layer and goes directly to
the NIC. It seems to me that the TCP/IP stack in Linux always does the
segmentation, since there is no code under the NETIF_F_TSO define
which bypasses the IP layer. Or am I missing something?

Can anyone please tell me whether the Linux TCP/IP stack support TSO
so that TCP segments bigger than MSS is segmented by the NIC, not the
software? If not, is there plans to support this, since this is
stateless offload?

Any pointers would be greatly appreciated.

Regards,
Prodyut
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists