IB/core: Find the network device matching connection parameters
authorYotam Kenneth <yotamke@mellanox.com>
Thu, 30 Jul 2015 14:50:15 +0000 (17:50 +0300)
committerDoug Ledford <dledford@redhat.com>
Sun, 30 Aug 2015 19:48:21 +0000 (15:48 -0400)
commit9268f72dcb24348c8b4cf9bcf8afeb24035157a5
tree4737e7082a3d941cc3101cb109bf92da4ae4a807
parent7c1eb45a22d76bb99236e7485958f87ef7c449cf
IB/core: Find the network device matching connection parameters

In the case of IPoIB, and maybe in other cases, the network device is
managed by an upper-layer protocol (ULP). In order to expose this
network device to other users of the IB device, let ULPs implement
a callback that returns network device according to connection parameters.

The IB device and port, together with the P_Key and the GID should
be enough to uniquely identify the ULP net device. However, in current
kernels there can be multiple IPoIB interfaces created with the same GID.
Furthermore, such configuration may be desireable to support ipvlan-like
configurations for RDMA CM with IPoIB.  To resolve the device in these
cases the code will also take the IP address as an additional input.

Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Haggai Eran <haggaie@mellanox.com>
Signed-off-by: Yotam Kenneth <yotamke@mellanox.com>
Signed-off-by: Shachar Raindel <raindel@mellanox.com>
Signed-off-by: Guy Shapiro <guysh@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/device.c
include/rdma/ib_verbs.h