Date: Mon, 09 Jun 2008 11:16:28 +0100 From: "Bruce M. Simpson" <bms@FreeBSD.org> To: =?ISO-8859-1?Q?Marc_L=F6rner?= <marc.loerner@hob.de> Cc: Peter Jeremy <peterjeremy@optushome.com.au>, freebsd-net@freebsd.org Subject: Re: Probable Bug in tcp.h Message-ID: <484D02FC.9090407@FreeBSD.org> In-Reply-To: <200806091013.27813.marc.loerner@hob.de> References: <200806051712.47048.marc.loerner@hob.de> <200806061025.37856.marc.loerner@hob.de> <20080606221917.A16250@delplex.bde.org> <200806091013.27813.marc.loerner@hob.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Marc L=F6rner wrote: > off0 is 0x14 =3D> no problem with that > but address of ip is 0xe000000021c8706e =3D> not correct aligned to 32-= bits > > Can anyone tell me, where ip is allocated, so I can do a little bit mor= e=20 > research? > =20 It really depends on the context! That's a very wide ranging question. It depends upon whether mbuf chains are flowing up or down the stack,=20 whether or not the network driver supports checksum or header/segment=20 offload, and whether or not it is using zero-copy. Zero copy transmit normally only has mmu cost if the mbuf (from=20 userland) can be mapped to a location where headers are easily=20 prepended. Zero copy receive is more expensive and complex as it=20 requires that the DMA engine on the network interface card supports=20 header splitting. The FreeBSD stack is known to have some issues with mbuf alignment and=20 architectures other than those in its Tier 1.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?484D02FC.9090407>