From: David Miller Date: Mon, 25 Jul 2011 00:01:17 +0000 (+0000) Subject: neigh: Create mechanism for generic neigh private areas. X-Git-Tag: next-20111202~50^2~25 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1026fec8739663621d64216ba939c23bc1d089b7;p=karo-tx-linux.git neigh: Create mechanism for generic neigh private areas. The implementation private sits right after the primary_key memory. Signed-off-by: David S. Miller --- diff --git a/include/net/neighbour.h b/include/net/neighbour.h index 7ae5acff96e9..87c0e5ce6492 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h @@ -179,6 +179,13 @@ struct neigh_table { struct pneigh_entry **phash_buckets; }; +#define NEIGH_PRIV_ALIGN sizeof(long long) + +static inline void *neighbour_priv(const struct neighbour *n) +{ + return (char *)n + ALIGN(sizeof(*n) + n->tbl->key_len, NEIGH_PRIV_ALIGN); +} + /* flags for neigh_update() */ #define NEIGH_UPDATE_F_OVERRIDE 0x00000001 #define NEIGH_UPDATE_F_WEAK_OVERRIDE 0x00000002