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>