In order for an ipoib subnet to work on an IB fabric consisting of multiple IB subnets, the MGIDs used for multicast can't have link-local scope otherwise packets will get dropped by the first IB router. Currently, the scope is hard-coded to link-local in the ip*_ib_mc_map() routines. A reasonable first step is to modify said routines to use the scope from the link level broadcast address of the ipoib device in question, and I have a proposed patch which I will post right away.
The second step is to make the scope in the link level broadcast address configurable, but I'm not sure what the best way to accomplish that would be. The ip command supports changing the link level broadcast address, but it uses an ioctl which limits the hardware address to 14 bytes (six bytes short) ... so it fails. Even if that approach would work it would be a little error prone, we only care about four bits out of a 20 byte value. My current favourite approach is to add a "broadcast_scope" attribute under /sys/class/net/ibX/ that could be configured before bringing up the link. Does anybody have a better solution? Rolf _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general