Skip site navigation (1)Skip section navigation (2)
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örner wrote:
> off0 is 0x14 => no problem with that
> but address of ip is 0xe000000021c8706e => not correct aligned to 32-bits
>
> Can anyone tell me, where ip is allocated, so I can do a little bit more 
> research?
>   

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, 
whether or not the network driver supports checksum or header/segment 
offload, and whether or not it is using zero-copy.

Zero copy transmit normally only has mmu cost if the mbuf (from 
userland) can be mapped to a location where headers are easily 
prepended. Zero copy receive is more expensive and complex as it 
requires that the DMA engine on the network interface card supports 
header splitting.

The FreeBSD stack is known to have some issues with mbuf alignment and 
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>