[patch 0/2] netfilter/ct: add unsupported optional attributes
Thomas Graf
tgraf at suug.ch
Thu Aug 22 05:45:23 EDT 2013
On 08/22/13 at 11:38am, Holger Eitzenberger wrote:
> Hi Thomas,
>
> > Patches look good but don't apply due to the idiagnl merge
> > that took place. Would you mind to rebase your patches against
> > the latest git tree?
>
> thanks, will do.
>
> One other issue which we should probably fix is the fact that
> there are several holes in 'nfnl_ct' (and partly have been
> there before). This is from x86_64:
>
> struct nfnl_ct {
> int ce_refcnt; /* 0 4 */
>
> /* XXX 4 bytes hole, try to pack */
>
> struct nl_object_ops * ce_ops; /* 8 8 */
> struct nl_cache * ce_cache; /* 16 8 */
> struct nl_list_head ce_list; /* 24 16 */
> int ce_msgtype; /* 40 4 */
> int ce_flags; /* 44 4 */
> uint32_t ce_mask; /* 48 4 */
> uint8_t ct_family; /* 52 1 */
> uint8_t ct_proto; /* 53 1 */
> union nfnl_ct_protoinfo ct_protoinfo; /* 54 1 */
>
> /* XXX 1 byte hole, try to pack */
>
> uint32_t ct_status; /* 56 4 */
> uint32_t ct_status_mask; /* 60 4 */
> /* --- cacheline 1 boundary (64 bytes) --- */
> uint32_t ct_timeout; /* 64 4 */
> uint32_t ct_mark; /* 68 4 */
> uint32_t ct_use; /* 72 4 */
> uint32_t ct_id; /* 76 4 */
> uint16_t ct_zone; /* 80 2 */
>
> /* XXX 6 bytes hole, try to pack */
>
> struct nfnl_ct_dir ct_orig; /* 88 40 */
> /* --- cacheline 2 boundary (128 bytes) --- */
> struct nfnl_ct_dir ct_repl; /* 128 40 */
> struct nfnl_ct_timestamp ct_tstamp; /* 168 16 */
>
> /* size: 184, cachelines: 3, members: 20 */
> /* sum members: 173, holes: 3, sum holes: 11 */
> /* last cacheline: 56 bytes */
> };
>
> It might make sense to change that, but I could do that in a later patch.
Sure, patches welcome.
More information about the libnl
mailing list