Here's a series that implements support for siw on tunnel devices, based on suggestions from Jason Gunthorpe and Tom Talpey. This series does not address a similar issue with rxe because RoCE GID resolution behaves differently than it does for iWARP devices. An independent solution is likely to be required for rxe. Changes since v3: - Clean up RCU dereference in cma_validate_port() Changes since v2: - Split into multiple patches - Pre-initialize gid_attr::ndev for iWARP devices --- Chuck Lever (4): RDMA/siw: Fabricate a GID on tun and loopback devices RDMA/core: Set gid_attr.ndev for iWARP devices RDMA/cma: Deduplicate error flow in cma_validate_port() RDMA/cma: Avoid GID lookups on iWARP devices drivers/infiniband/core/cache.c | 12 ++++++++++++ drivers/infiniband/core/cma.c | 26 +++++++++++++++++++++----- drivers/infiniband/sw/siw/siw.h | 1 + drivers/infiniband/sw/siw/siw_main.c | 22 ++++++++-------------- drivers/infiniband/sw/siw/siw_verbs.c | 4 ++-- 5 files changed, 44 insertions(+), 21 deletions(-) -- Chuck Lever