Question on TSO/LSO Transmit Frames

YongHyeon PYUN pyunyh at gmail.com
Fri Feb 17 05:36:58 UTC 2012


On Thu, Feb 16, 2012 at 10:03:54AM -0800, David Somayajulu wrote:
> Hi All,
> Is it safe to assume that when a driver receives an Ethernet frame to transmit with CSUM_TSO bit  set in
> 
> m_head->m_pkthdr.csum_flags  ; where m_head is the first (struct mbuf) in the mbuf chain
> 
> that the [Ethernet Header] + [VLAN Tag if present] + [IP Header] + [TCP Header] are all present in one physically contiguous segment ?
> 

No it is not. This is the main reason why TSO capable drivers parse
mbuf chain in TX path.

> In other words is
> 
> Size of ([Ethernet Header] + [VLAN Tag if present] + [IP Header] + [TCP Header]) <= m_head->m_len
> 
> When ((m_head->m_pkthdr.csum_flags   & CSUM_TSO) != 0)
> 
> Thanks
> David S.


More information about the freebsd-net mailing list