linux/include/uapi/rdma
Matan Barak 9ee79fce36 IB/core: Add completion queue (cq) object actions
Adding CQ ioctl actions:
1. create_cq
2. destroy_cq

This requires adding the following:
1. A specification describing the method
	a. Handler
	b. Attributes specification
		Each attribute is one of the following:
		a. PTR_IN - input data
			    Note: This could be encoded inlined for
				  data < 64bit
		b. PTR_OUT - response data
		c. IDR - idr based object
		d. FD - fd based object
                Blobs attributes (clauses a and b) contain their type,
	        while objects specifications (clauses c and d)
                contains the expected object type (for example, the
                given id should be UVERBS_TYPE_PD) and the required
                access (READ, WRITE, NEW or DESTROY). If a NEW is
                required, the new object's id will be assigned to this
                attribute. All attributes could get UA_FLAGS
                attribute. Currently we support stating that an
		attribute is mandatory or that the specification size
                corresponds to a lower bound (and that this attribute
		could be extended).
		We currently add both default attributes and the two
		generic UHW_IN and UHW_OUT driver specific attributes.
2. Handler
   A handler gets a uverbs_attr_bundle. The handler developer uses
   uverbs_attr_get to fetch an attribute of a given id.
   Each of these attribute groups correspond to the specification
   group defined in the action (clauses 1.b and 1.c respectively).
   The indices of these arrays corresponds to the attribute ids
   declared in the specifications (clause 2).

   The handler is quite simple. It assumes the infrastructure fetched
   all objects and locked, created or destroyed them as required by
   the specification. Pointer (or blob) attributes were validated to
   match their required sizes. After the handler finished, the
   infrastructure commits or rollbacks the objects.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-08-31 08:35:13 -04:00
..
hfi uapi: export all headers under uapi directories 2017-05-11 00:21:54 +09:00
bnxt_re-abi.h uapi: includes linux/types.h before exporting files 2017-05-11 00:18:38 +09:00
cxgb3-abi.h IB/cxgb3: fix misspelling in header guard 2017-01-24 12:20:23 -05:00
cxgb4-abi.h IB/cxgb4: Move user vendor structures 2016-10-07 16:54:35 -04:00
hns-abi.h IB/hns: Move HNS RoCE user vendor structures 2016-12-03 14:23:14 -05:00
ib_user_cm.h
ib_user_ioctl_verbs.h IB/core: Add completion queue (cq) object actions 2017-08-31 08:35:13 -04:00
ib_user_mad.h RDMA/core: Move legacy MAD IOCTL declarations to common file 2017-01-10 12:41:40 -05:00
ib_user_sa.h
ib_user_verbs.h IB/uverbs: Expose XRQ capabilities 2017-08-29 08:30:18 -04:00
mlx4-abi.h IB/mlx4: Remove redundant attribute in mlx4_ib_create_qp_rss struct 2017-08-24 16:27:11 -04:00
mlx5-abi.h IB/mlx5: Report mlx5 enhanced multi packet WQE capability 2017-08-24 17:47:35 -04:00
mthca-abi.h IB/mthca: Move user vendor structures 2016-10-07 16:54:37 -04:00
nes-abi.h IB/nes: Move user vendor structures 2016-10-07 16:54:37 -04:00
ocrdma-abi.h IB/ocrdma: Move user vendor structures 2016-10-07 16:54:36 -04:00
qedr-abi.h RDMA/qedr: notify user application of supported WIDs 2017-07-27 08:59:52 -04:00
rdma_netlink.h RDMA/netlink: Export node_type 2017-08-10 13:28:14 +03:00
rdma_user_cm.h rdma UAPI: Use __kernel_sockaddr_storage 2016-12-14 11:42:39 -05:00
rdma_user_ioctl.h IB/core: Add new ioctl interface 2017-08-31 08:35:09 -04:00
rdma_user_rxe.h Soft RoCE driver 2016-08-04 11:13:12 -04:00
vmw_pvrdma-abi.h RDMA/vmw_pvrdma: Report network header type in WC 2017-08-31 08:35:08 -04:00