[openib-general] ip_ipoib works on IA64! (woohoo! :^)

Roland Dreier roland at topspin.com
Fri Dec 10 15:44:25 PST 2004


    Grant> Roland, yeah - this is because of the "neigh->ha + 24"
    Grant> issue. I'll play with it.

Try changing to_ipoib_neigh() (in ipoib.h) to this:

static inline struct ipoib_neigh **to_ipoib_neigh(struct neighbour *neigh)
{
	return (struct ipoib_neigh **) (neigh->ha + 24 -
					(offsetof(struct neighbour, ha) & 4));
}

I think this should fix it.

I have a big patch for IPoIB coming soon (fixes the neighbour lifetime
issues as well as unicast ARP), and this will be part of it.

I'd be curious how much this boosts your performance (it would be at
least one unaligned trap per packet, so it's probably a big deal).

 - R.



More information about the general mailing list