IPoIB: improve IPv4/IPv6 to IB mcast mapping functions
authorRolf Manderscheid <rvm@obsidianresearch.com>
Mon, 10 Dec 2007 20:38:41 +0000 (13:38 -0700)
committerRoland Dreier <rolandd@cisco.com>
Fri, 25 Jan 2008 22:15:37 +0000 (14:15 -0800)
commita9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd
tree519458581cf3b8dd7c7a6d19c29572efb3405df1
parent755807a296f77ca7c31dc000afdfe1e5172bbf72
IPoIB: improve IPv4/IPv6 to IB mcast mapping functions

An IPoIB subnet on an IB fabric that spans multiple IB subnets can't
use link-local scope in multicast GIDs.  The existing routines that
map IP/IPv6 multicast addresses into IB link-level addresses hard-code
the scope to link-local, and they also leave the partition key field
uninitialised.  This patch adds a parameter (the link-level broadcast
address) to the mapping routines, allowing them to initialise both the
scope and the P_Key appropriately, and fixes up the call sites.

The next step will be to add a way to configure the scope for an IPoIB
interface.

Signed-off-by: Rolf Manderscheid <rvm@obsidianresearch.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/cma.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
include/net/if_inet6.h
include/net/ip.h
net/ipv4/arp.c
net/ipv6/ndisc.c