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

Roland Dreier roland at topspin.com
Fri Dec 10 14:18:24 PST 2004


    Grant> /me bounces!  With openib-1321, ip_ipoib is seems to be working!

Cool.

(I was wondering whether the earlier problems were because each system
had two interfaces on the same broadcast domain and hence maybe
responding to ARPs from the wrong interface.  I wonder whether
/proc/sys/net/ipv4/conf/ibX/arp_filter might have helped...)

    Grant> Current issue is misaligned accesses in the kernel.

Hmm... what's offsetof(struct neighbour, ha) on ia64?  (I'll check for
myself a little later but I think the problem may be stashing a
pointer at neigh->ha + 24)

My current tree has a lot of local changes so it's a little hard for
me to generate a patch, but does changing the body of to_ipoib_neigh()
to the following help?

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

 - Roland



More information about the general mailing list