IPoIB: clarify to_ipoib_neigh()

Cosmetic change: make alignment explicit in to_ipoib_neigh.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
Michael S. Tsirkin 2006-02-20 21:50:39 -08:00 committed by Roland Dreier
parent 4d9781c5ce
commit 44af79f952

View File

@ -217,10 +217,16 @@ struct ipoib_neigh {
struct list_head list; struct list_head list;
}; };
/*
* We stash a pointer to our private neighbour information after our
* hardware address in neigh->ha. The ALIGN() expression here makes
* sure that this pointer is stored aligned so that an unaligned
* load is not needed to dereference it.
*/
static inline struct ipoib_neigh **to_ipoib_neigh(struct neighbour *neigh) static inline struct ipoib_neigh **to_ipoib_neigh(struct neighbour *neigh)
{ {
return (struct ipoib_neigh **) (neigh->ha + 24 - return (void*) neigh + ALIGN(offsetof(struct neighbour, ha) +
(offsetof(struct neighbour, ha) & 4)); INFINIBAND_ALEN, sizeof(void *));
} }
extern struct workqueue_struct *ipoib_workqueue; extern struct workqueue_struct *ipoib_workqueue;