mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 17:11:46 +00:00
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>
This commit is contained in:
parent
755807a296
commit
a9e527e3f9
6 changed files with 16 additions and 17 deletions
|
@ -337,7 +337,7 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d
|
|||
ipv6_arcnet_mc_map(addr, buf);
|
||||
return 0;
|
||||
case ARPHRD_INFINIBAND:
|
||||
ipv6_ib_mc_map(addr, buf);
|
||||
ipv6_ib_mc_map(addr, dev->broadcast, buf);
|
||||
return 0;
|
||||
default:
|
||||
if (dir) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue