On Wed, Feb 08, 2017 at 06:02:44PM +0200, Matan Barak wrote: > Actually, I think one of the problems here is that we insert GIDs > which aren't supported by the hardware. That certainly sounds like a problem, yes. > So, assuming we only insert a combination of netdevices which could > be actually described by the hardware, we could try to match these > attributes in the gid cache table. Once we have such a match, we > could verify that with the ingress route (actually, we could use > ingress route starting from get_netdev() as well). Yes, that is the proper thing to do. Presumably the hardware does this, it should not be receiving packets that do not match the GID table. That would be a huge problem when we talk about namespaces/etc. > Since RoCE is symmetrical (you don't know if an AH is for rx/tx in > UD and you need to select a single sgid_index for RC connections), > we need to verify that it matches an egress route bounded to this > netdevice. ?? how is an AH involved in RX? > As a quick fix, setting ifindex to get_netdev's ifindex in link local > addresses and filter out unsupported > netdevices in the GID cache, seems like a reasonable solution to me. That still breaks link local addresses on vlan devices, so it is an ugly hack, not a solution. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html