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>
Showing
- drivers/infiniband/core/cma.c 1 addition, 3 deletionsdrivers/infiniband/core/cma.c
- drivers/infiniband/ulp/ipoib/ipoib_multicast.c 0 additions, 4 deletionsdrivers/infiniband/ulp/ipoib/ipoib_multicast.c
- include/net/if_inet6.h 7 additions, 4 deletionsinclude/net/if_inet6.h
- include/net/ip.h 6 additions, 4 deletionsinclude/net/ip.h
- net/ipv4/arp.c 1 addition, 1 deletionnet/ipv4/arp.c
- net/ipv6/ndisc.c 1 addition, 1 deletionnet/ipv6/ndisc.c
Loading
Please register or sign in to comment