Re: Iptables error

From: Harald Welte
Date: Sat Jan 21 2006 - 06:28:22 EST


On Fri, Jan 20, 2006 at 11:46:13AM -0800, David S. Miller wrote:

> Your struct won't be 8-byte aligned either as far as I can tell on
> x86_64.

According to my tests, the struct is 8-byte-aligned on x86_64, and
that's how I'd like it to be.

Please don't ask me why it happens, I know that the alignment constraint
of a u64 on x86_64 is only 4. But at least gcc-3.3.6 and gcc-4.0.3
(debian) result in __alignof__ of that test structure (and a 'u_int64_t
alone') to 8 bytes.

When it comes to these things, I can only do trial+error.

Maybe it's because __alignof__ returns the recommended alignment, not
the required alignment.

> We need to use the aligned_u64 thing if you want that.

That should make sure that we always get what we want, yes.

--
- Harald Welte <laforge@xxxxxxxxxxxxx> http://netfilter.org/
============================================================================
"Fragmentation is like classful addressing -- an interesting early
architectural error that shows how much experimentation was going
on while IP was being designed." -- Paul Vixie

Attachment: pgp00000.pgp
Description: PGP signature