diff options
author | Mark Bloch <markb@mellanox.com> | 2016-05-19 17:12:36 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-05-24 14:44:04 -0400 |
commit | ae43f8286730d1f2d241c34601df59f6d2286ac4 (patch) | |
tree | beb629a68629c69511355426f91dde307908f2cb /drivers/infiniband/core/core_priv.h | |
parent | IB/core: Register SA ibnl client during ib_core initialization (diff) | |
download | linux-dev-ae43f8286730d1f2d241c34601df59f6d2286ac4.tar.xz linux-dev-ae43f8286730d1f2d241c34601df59f6d2286ac4.zip |
IB/core: Add IP to GID netlink offload
There is an assumption that rdmacm is used only between nodes
in the same IB subnet, this why ARP resolution can be used to turn
IP to GID in rdmacm.
When dealing with IB communication between subnets this assumption
is no longer valid. ARP resolution will get us the next hop device
address and not the peer node's device address.
To solve this issue, we will check user space if it can provide the
GID of the peer node, and fail if not.
We add a sequence number to identify each request and fill in the GID
upon answer from userspace.
Signed-off-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/core/core_priv.h')
-rw-r--r-- | drivers/infiniband/core/core_priv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h index 1ff334587e7b..19d499dcab76 100644 --- a/drivers/infiniband/core/core_priv.h +++ b/drivers/infiniband/core/core_priv.h @@ -150,5 +150,7 @@ int ib_nl_handle_resolve_resp(struct sk_buff *skb, struct netlink_callback *cb); int ib_nl_handle_set_timeout(struct sk_buff *skb, struct netlink_callback *cb); +int ib_nl_handle_ip_res_resp(struct sk_buff *skb, + struct netlink_callback *cb); #endif /* _CORE_PRIV_H */ |