aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
diff options
context:
space:
mode:
authorMoni Shoua <monis@mellanox.com>2016-11-23 08:23:24 +0200
committerDoug Ledford <dledford@redhat.com>2016-12-13 13:38:27 -0500
commit477864c8fcd953e5a988073ca5be18bb7fd93410 (patch)
tree2eb3fe54b09acc5fb1fac80b63849e680b80d6e5 /drivers/infiniband/hw/usnic/usnic_ib_verbs.h
parentIB/mlx5: Report that device has udata response in create_ah (diff)
downloadlinux-dev-477864c8fcd953e5a988073ca5be18bb7fd93410.tar.xz
linux-dev-477864c8fcd953e5a988073ca5be18bb7fd93410.zip
IB/core: Let create_ah return extended response to user
Add struct ib_udata to the signature of create_ah callback that is implemented by IB device drivers. This allows HW drivers to return extra data to the userspace library. This patch prepares the ground for mlx5 driver to resolve destination mac address for a given GID and return it to userspace. This patch was previously submitted by Knut Omang as a part of the patch set to support Oracle's Infiniband HCA (SIF). Signed-off-by: Knut Omang <knut.omang@oracle.com> Signed-off-by: Moni Shoua <monis@mellanox.com> Reviewed-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/usnic/usnic_ib_verbs.h')
-rw-r--r--drivers/infiniband/hw/usnic/usnic_ib_verbs.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
index 0d9d2e6a14d5..0ed8e072329e 100644
--- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
+++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.h
@@ -75,7 +75,9 @@ int usnic_ib_dealloc_ucontext(struct ib_ucontext *ibcontext);
int usnic_ib_mmap(struct ib_ucontext *context,
struct vm_area_struct *vma);
struct ib_ah *usnic_ib_create_ah(struct ib_pd *pd,
- struct ib_ah_attr *ah_attr);
+ struct ib_ah_attr *ah_attr,
+ struct ib_udata *udata);
+
int usnic_ib_destroy_ah(struct ib_ah *ah);
int usnic_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
struct ib_send_wr **bad_wr);