Date: Thu, 7 Dec 2006 19:37:33 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: Robert Watson <rwatson@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org>, Gleb Smirnoff <glebius@freebsd.org>, Andre Oppermann <andre@freebsd.org>, Paolo Pisati <piso@freebsd.org> Subject: Re: PERFORCE change 111230 for review Message-ID: <20061207163733.GC39204@rambler-co.ru> In-Reply-To: <20061207161434.O50906@fledge.watson.org> References: <200612062319.kB6NJgsq031755@repoman.freebsd.org> <20061207110225.GU32700@FreeBSD.org> <4578070A.2030609@freebsd.org> <20061207142254.GA1195@tin.it> <20061207161434.O50906@fledge.watson.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Thu, Dec 07, 2006 at 04:16:41PM +0000, Robert Watson wrote: > On Thu, 7 Dec 2006, Paolo Pisati wrote: > > >Then, after a discussion on irc, pull the plug on any present (and future) > >hackery & half-baked solution, and declare in kernel libalias incompatible > >with tso. > > This seems silly -- why is it not compatible? Perhaps I misunderstand, but > I thought TSO passed down valid TCP/IP packets, they just happen to be > really long, and will be post-processed by the hardware into a series of > shorter segments with the same header properties. Imagine the ethernet > device as a "router" that's performing TCP fragmentation for you, rather > than IP fragmentation. > It's a limitation of the current libalias code which grew up on top of userland version -- it doesn't currently know how to traverse mbufs, and instead requires a contiguous piece of (packet) data to do its job. : #ifdef _KERNEL : /* : * m_megapullup() function is a big hack (only used in ng_nat and ipfw+nat). : * : * It allocates an mbuf with cluster and copies the whole : * chain into cluster, so that it is all contigous and the : * whole packet can be accessed via char pointer. : * This is required, because libalias doesn't have idea : * about mbufs. : * : * On success, m_megapullup returns an mbuf with cluster : * containing the input packet, on failure NULL. : * In both cases, the input packet is consumed. : */ Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFeENNqRfpzJluFF4RAgjZAJ9KK4I+XjXBUHw/mRI/AwsSk2DjKACcCTAe 1NPsrs9XfJsrFs0PmjOaPGU= =j54o -----END PGP SIGNATURE-----help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061207163733.GC39204>
