Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2012 14:36:52 -0800
From:      YongHyeon PYUN <pyunyh@gmail.com>
To:        David Somayajulu <david.somayajulu@qlogic.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Question on TSO/LSO Transmit Frames
Message-ID:  <20120217223652.GA8566@michelle.cdnetworks.com>
In-Reply-To: <75E1A2A7D185F841A975979B0906BBA67C79BD85EB@AVEXMB1.qlogic.org>
References:  <75E1A2A7D185F841A975979B0906BBA67C79BD85EB@AVEXMB1.qlogic.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120217223652.GA8566>