> Is this better? > > - return (struct ipoib_neigh **) (neigh->ha + 24 - > - (offsetof(struct neighbour, ha) & 4)); > + return (void*)neigh + > ALIGN(offsetof(struct neighbour, ha) + INFINIBAND_ALEN, x) I guess so, with "x" replaced by "sizeof (void *)". - R.