Subject: Re: Advice needed on IP-over-InfiniBand driver

From: Roland Dreier <[email-masked]>
Date: Thu, 30 Sep 2004 11:41:07 -0700

David> I think you might learn something by having a look at what
    David> net/atm/clip.c is doing, it creates it's own neighbour
    David> layer for CLIP ATM neighbours.  It is in a similar boat to
    David> your IPoIB stuff.

Thanks, this suggestion was very helpful.  I think I'm making
progress.  Now I know my next question :)

CLIP ATM is a little different from IPoIB in that it completely
replaces the ARP layer with its own ARP daemon.  For IPoIB I don't
want to reinvent the ARP and ND code -- I just want to add a secondary
lookup after the response comes back.  I think I have an idea of how
to do that and then stash the information in the struct neighbour, so
that my hard_start_xmit method can get it from skb->dst (ala clip.c).

However, it seems that broadcast ARP packets have skb->dst == NULL.
Is it safe for me to assume that packets with skb->dst == NULL are
broadcast packets?  Will multicast packets have a non-NULL dst?

Thanks,
  Roland