linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Adit Ranadive <aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	pv-drivers-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org,
	jhansen-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org,
	asarwade-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org,
	georgezhang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org,
	bryantan-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH v3 02/15] IB/pvrdma: Add virtual device RDMA structures
Date: Sun, 21 Aug 2016 14:54:42 +0300	[thread overview]
Message-ID: <20160821115441.GB22012@yuval-lap.uk.oracle.com> (raw)
In-Reply-To: <1470266864-16888-3-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>

On Wed, Aug 03, 2016 at 04:27:31PM -0700, Adit Ranadive wrote:
> This patch adds the various Verbs structures that we support in the
> virtual RDMA device. We have re-mapped the ones from the RDMA core stack
> to make sure we can maintain compatibility with our backend.
> 
> Changes v2->v3:
>  - Added , to end of enums missing them.
> 
> Reviewed-by: Jorgen Hansen <jhansen-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
> Reviewed-by: George Zhang <georgezhang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
> Reviewed-by: Aditya Sarwade <asarwade-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
> Reviewed-by: Bryan Tan <bryantan-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
> Signed-off-by: Adit Ranadive <aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
> ---
>  drivers/infiniband/hw/pvrdma/pvrdma_ib_verbs.h | 450 +++++++++++++++++++++++++
>  1 file changed, 450 insertions(+)
>  create mode 100644 drivers/infiniband/hw/pvrdma/pvrdma_ib_verbs.h
> 
> diff --git a/drivers/infiniband/hw/pvrdma/pvrdma_ib_verbs.h b/drivers/infiniband/hw/pvrdma/pvrdma_ib_verbs.h
> new file mode 100644
> index 0000000..4bef8b4
> --- /dev/null
> +++ b/drivers/infiniband/hw/pvrdma/pvrdma_ib_verbs.h
> @@ -0,0 +1,450 @@
> +/*
> + * [PLEASE NOTE:  VMWARE, INC. ELECTS TO USE AND DISTRIBUTE THIS COMPONENT
> + * UNDER THE TERMS OF THE OpenIB.org BSD license.  THE ORIGINAL LICENSE TERMS
> + * ARE REPRODUCED BELOW ONLY AS A REFERENCE.]
> + *
> + * Copyright (c) 2004 Mellanox Technologies Ltd.  All rights reserved.
> + * Copyright (c) 2004 Infinicon Corporation.  All rights reserved.
> + * Copyright (c) 2004 Intel Corporation.  All rights reserved.
> + * Copyright (c) 2004 Topspin Corporation.  All rights reserved.
> + * Copyright (c) 2004 Voltaire Corporation.  All rights reserved.
> + * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
> + * Copyright (c) 2005, 2006, 2007 Cisco Systems.  All rights reserved.
> + * Copyright (c) 2015-2016 VMware, Inc.  All rights reserved.
> + *
> + * This software is available to you under a choice of one of two
> + * licenses.  You may choose to be licensed under the terms of the GNU
> + * General Public License (GPL) Version 2, available from the file
> + * COPYING in the main directory of this source tree, or the
> + * OpenIB.org BSD license below:
> + *
> + *     Redistribution and use in source and binary forms, with or
> + *     without modification, are permitted provided that the following
> + *     conditions are met:
> + *
> + *      - Redistributions of source code must retain the above
> + *        copyright notice, this list of conditions and the following
> + *        disclaimer.
> + *
> + *      - Redistributions in binary form must reproduce the above
> + *        copyright notice, this list of conditions and the following
> + *        disclaimer in the documentation and/or other materials
> + *        provided with the distribution.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
> + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
> + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */
> +
> +#ifndef __PVRDMA_IB_VERBS_H__
> +#define __PVRDMA_IB_VERBS_H__
> +
> +#include <linux/types.h>
> +
> +union pvrdma_gid {
> +	__u8	raw[16];
> +	struct {
> +		__be64	subnet_prefix;
> +		__be64	interface_id;
> +	} global;
> +};

Any reason why not to use ib_gid?
Suggesting to utilize definitions from rdma/ib_verbs.h as much as you can.

> +
> +enum pvrdma_link_layer {
> +	PVRDMA_LINK_LAYER_UNSPECIFIED,
> +	PVRDMA_LINK_LAYER_INFINIBAND,
> +	PVRDMA_LINK_LAYER_ETHERNET,
> +};
> +
> +enum pvrdma_mtu {
> +	PVRDMA_MTU_256  = 1,
> +	PVRDMA_MTU_512  = 2,
> +	PVRDMA_MTU_1024 = 3,
> +	PVRDMA_MTU_2048 = 4,
> +	PVRDMA_MTU_4096 = 5,
> +};
> +
> +static inline int pvrdma_mtu_enum_to_int(enum pvrdma_mtu mtu)
> +{
> +	switch (mtu) {
> +	case PVRDMA_MTU_256:	return  256;
> +	case PVRDMA_MTU_512:	return  512;
> +	case PVRDMA_MTU_1024:	return 1024;
> +	case PVRDMA_MTU_2048:	return 2048;
> +	case PVRDMA_MTU_4096:	return 4096;
> +	default:		return   -1;
> +	}
> +}
> +
> +static inline enum pvrdma_mtu pvrdma_mtu_int_to_enum(int mtu)
> +{
> +	switch (mtu) {
> +	case 256:	return PVRDMA_MTU_256;
> +	case 512:	return PVRDMA_MTU_512;
> +	case 1024:	return PVRDMA_MTU_1024;
> +	case 2048:	return PVRDMA_MTU_2048;
> +	case 4096:
> +	default:	return PVRDMA_MTU_4096;
> +	}
> +}
> +
> +enum pvrdma_port_state {
> +	PVRDMA_PORT_NOP			= 0,
> +	PVRDMA_PORT_DOWN		= 1,
> +	PVRDMA_PORT_INIT		= 2,
> +	PVRDMA_PORT_ARMED		= 3,
> +	PVRDMA_PORT_ACTIVE		= 4,
> +	PVRDMA_PORT_ACTIVE_DEFER	= 5,
> +};
> +
> +enum pvrdma_port_cap_flags {
> +	PVRDMA_PORT_SM				= 1 <<  1,
> +	PVRDMA_PORT_NOTICE_SUP			= 1 <<  2,
> +	PVRDMA_PORT_TRAP_SUP			= 1 <<  3,
> +	PVRDMA_PORT_OPT_IPD_SUP			= 1 <<  4,
> +	PVRDMA_PORT_AUTO_MIGR_SUP		= 1 <<  5,
> +	PVRDMA_PORT_SL_MAP_SUP			= 1 <<  6,
> +	PVRDMA_PORT_MKEY_NVRAM			= 1 <<  7,
> +	PVRDMA_PORT_PKEY_NVRAM			= 1 <<  8,
> +	PVRDMA_PORT_LED_INFO_SUP		= 1 <<  9,
> +	PVRDMA_PORT_SM_DISABLED			= 1 << 10,
> +	PVRDMA_PORT_SYS_IMAGE_GUID_SUP		= 1 << 11,
> +	PVRDMA_PORT_PKEY_SW_EXT_PORT_TRAP_SUP	= 1 << 12,
> +	PVRDMA_PORT_EXTENDED_SPEEDS_SUP		= 1 << 14,
> +	PVRDMA_PORT_CM_SUP			= 1 << 16,
> +	PVRDMA_PORT_SNMP_TUNNEL_SUP		= 1 << 17,
> +	PVRDMA_PORT_REINIT_SUP			= 1 << 18,
> +	PVRDMA_PORT_DEVICE_MGMT_SUP		= 1 << 19,
> +	PVRDMA_PORT_VENDOR_CLASS_SUP		= 1 << 20,
> +	PVRDMA_PORT_DR_NOTICE_SUP		= 1 << 21,
> +	PVRDMA_PORT_CAP_MASK_NOTICE_SUP		= 1 << 22,
> +	PVRDMA_PORT_BOOT_MGMT_SUP		= 1 << 23,
> +	PVRDMA_PORT_LINK_LATENCY_SUP		= 1 << 24,
> +	PVRDMA_PORT_CLIENT_REG_SUP		= 1 << 25,
> +	PVRDMA_PORT_IP_BASED_GIDS		= 1 << 26,
> +	PVRDMA_PORT_CAP_FLAGS_MAX		= PVRDMA_PORT_IP_BASED_GIDS,
> +};
> +
> +enum pvrdma_port_width {
> +	PVRDMA_WIDTH_1X		= 1,
> +	PVRDMA_WIDTH_4X		= 2,
> +	PVRDMA_WIDTH_8X		= 4,
> +	PVRDMA_WIDTH_12X	= 8,
> +};
> +
> +static inline int pvrdma_width_enum_to_int(enum pvrdma_port_width width)
> +{
> +	switch (width) {
> +	case PVRDMA_WIDTH_1X:	return  1;
> +	case PVRDMA_WIDTH_4X:	return  4;
> +	case PVRDMA_WIDTH_8X:	return  8;
> +	case PVRDMA_WIDTH_12X:	return 12;
> +	default:		return -1;
> +	}
> +}
> +
> +enum pvrdma_port_speed {
> +	PVRDMA_SPEED_SDR	= 1,
> +	PVRDMA_SPEED_DDR	= 2,
> +	PVRDMA_SPEED_QDR	= 4,
> +	PVRDMA_SPEED_FDR10	= 8,
> +	PVRDMA_SPEED_FDR	= 16,
> +	PVRDMA_SPEED_EDR	= 32,
> +};
> +
> +struct pvrdma_port_attr {
> +	enum pvrdma_port_state	state;
> +	enum pvrdma_mtu		max_mtu;
> +	enum pvrdma_mtu		active_mtu;
> +	__u32			gid_tbl_len;
> +	__u32			port_cap_flags;
> +	__u32			max_msg_sz;
> +	__u32			bad_pkey_cntr;
> +	__u32			qkey_viol_cntr;
> +	__u16			pkey_tbl_len;
> +	__u16			lid;
> +	__u16			sm_lid;
> +	__u8			lmc;
> +	__u8			max_vl_num;
> +	__u8			sm_sl;
> +	__u8			subnet_timeout;
> +	__u8			init_type_reply;
> +	__u8			active_width;
> +	__u8			active_speed;
> +	__u8			phys_state;
> +	__u8			reserved[2];
> +};
> +
> +struct pvrdma_global_route {
> +	union pvrdma_gid	dgid;
> +	__u32			flow_label;
> +	__u8			sgid_index;
> +	__u8			hop_limit;
> +	__u8			traffic_class;
> +	__u8			reserved;
> +};
> +
> +struct pvrdma_grh {
> +	__be32			version_tclass_flow;
> +	__be16			paylen;
> +	__u8			next_hdr;
> +	__u8			hop_limit;
> +	union pvrdma_gid	sgid;
> +	union pvrdma_gid	dgid;
> +};

Same comment as for pvrdma_gid.
(ib_grh)

> +
> +enum pvrdma_ah_flags {
> +	PVRDMA_AH_GRH = 1,
> +};

Same comment as for pvrdma_gid.
(ib_ah_flags)

> +
> +enum pvrdma_rate {
> +	PVRDMA_RATE_PORT_CURRENT	= 0,
> +	PVRDMA_RATE_2_5_GBPS		= 2,
> +	PVRDMA_RATE_5_GBPS		= 5,
> +	PVRDMA_RATE_10_GBPS		= 3,
> +	PVRDMA_RATE_20_GBPS		= 6,
> +	PVRDMA_RATE_30_GBPS		= 4,
> +	PVRDMA_RATE_40_GBPS		= 7,
> +	PVRDMA_RATE_60_GBPS		= 8,
> +	PVRDMA_RATE_80_GBPS		= 9,
> +	PVRDMA_RATE_120_GBPS		= 10,
> +	PVRDMA_RATE_14_GBPS		= 11,
> +	PVRDMA_RATE_56_GBPS		= 12,
> +	PVRDMA_RATE_112_GBPS		= 13,
> +	PVRDMA_RATE_168_GBPS		= 14,
> +	PVRDMA_RATE_25_GBPS		= 15,
> +	PVRDMA_RATE_100_GBPS		= 16,
> +	PVRDMA_RATE_200_GBPS		= 17,
> +	PVRDMA_RATE_300_GBPS		= 18,
> +};

Same comment as for pvrdma_gid.
(ib_rate)

> +
> +struct pvrdma_ah_attr {
> +	struct pvrdma_global_route	grh;
> +	__u16				dlid;
> +	__u16				vlan_id;
> +	__u8				sl;
> +	__u8				src_path_bits;
> +	__u8				static_rate;
> +	__u8				ah_flags;
> +	__u8				port_num;
> +	__u8				dmac[6];
> +	__u8				reserved;
> +};

And so on...
(ib_ah_attr)

> +
> +enum pvrdma_wc_status {
> +	PVRDMA_WC_SUCCESS,
> +	PVRDMA_WC_LOC_LEN_ERR,
> +	PVRDMA_WC_LOC_QP_OP_ERR,
> +	PVRDMA_WC_LOC_EEC_OP_ERR,
> +	PVRDMA_WC_LOC_PROT_ERR,
> +	PVRDMA_WC_WR_FLUSH_ERR,
> +	PVRDMA_WC_MW_BIND_ERR,
> +	PVRDMA_WC_BAD_RESP_ERR,
> +	PVRDMA_WC_LOC_ACCESS_ERR,
> +	PVRDMA_WC_REM_INV_REQ_ERR,
> +	PVRDMA_WC_REM_ACCESS_ERR,
> +	PVRDMA_WC_REM_OP_ERR,
> +	PVRDMA_WC_RETRY_EXC_ERR,
> +	PVRDMA_WC_RNR_RETRY_EXC_ERR,
> +	PVRDMA_WC_LOC_RDD_VIOL_ERR,
> +	PVRDMA_WC_REM_INV_RD_REQ_ERR,
> +	PVRDMA_WC_REM_ABORT_ERR,
> +	PVRDMA_WC_INV_EECN_ERR,
> +	PVRDMA_WC_INV_EEC_STATE_ERR,
> +	PVRDMA_WC_FATAL_ERR,
> +	PVRDMA_WC_RESP_TIMEOUT_ERR,
> +	PVRDMA_WC_GENERAL_ERR,
> +};
> +
> +enum pvrdma_wc_opcode {
> +	PVRDMA_WC_SEND,
> +	PVRDMA_WC_RDMA_WRITE,
> +	PVRDMA_WC_RDMA_READ,
> +	PVRDMA_WC_COMP_SWAP,
> +	PVRDMA_WC_FETCH_ADD,
> +	PVRDMA_WC_BIND_MW,
> +	PVRDMA_WC_LSO,
> +	PVRDMA_WC_LOCAL_INV,
> +	PVRDMA_WC_FAST_REG_MR,
> +	PVRDMA_WC_MASKED_COMP_SWAP,
> +	PVRDMA_WC_MASKED_FETCH_ADD,
> +	PVRDMA_WC_RECV = 1 << 7,
> +	PVRDMA_WC_RECV_RDMA_WITH_IMM,
> +};
> +
> +enum pvrdma_wc_flags {
> +	PVRDMA_WC_GRH			= 1 << 0,
> +	PVRDMA_WC_WITH_IMM		= 1 << 1,
> +	PVRDMA_WC_WITH_INVALIDATE	= 1 << 2,
> +	PVRDMA_WC_IP_CSUM_OK		= 1 << 3,
> +	PVRDMA_WC_WITH_SMAC		= 1 << 4,
> +	PVRDMA_WC_WITH_VLAN		= 1 << 5,
> +	PVRDMA_WC_FLAGS_MAX		= PVRDMA_WC_WITH_VLAN,
> +};
> +
> +enum pvrdma_cq_notify_flags {
> +	PVRDMA_CQ_SOLICITED		= 1 << 0,
> +	PVRDMA_CQ_NEXT_COMP		= 1 << 1,
> +	PVRDMA_CQ_SOLICITED_MASK	= PVRDMA_CQ_SOLICITED |
> +					  PVRDMA_CQ_NEXT_COMP,
> +	PVRDMA_CQ_REPORT_MISSED_EVENTS	= 1 << 2,
> +};
> +
> +struct pvrdma_qp_cap {
> +	__u32	max_send_wr;
> +	__u32	max_recv_wr;
> +	__u32	max_send_sge;
> +	__u32	max_recv_sge;
> +	__u32	max_inline_data;
> +	__u32	reserved;
> +};
> +
> +enum pvrdma_sig_type {
> +	PVRDMA_SIGNAL_ALL_WR,
> +	PVRDMA_SIGNAL_REQ_WR,
> +};
> +
> +enum pvrdma_qp_type {
> +	PVRDMA_QPT_SMI,
> +	PVRDMA_QPT_GSI,
> +	PVRDMA_QPT_RC,
> +	PVRDMA_QPT_UC,
> +	PVRDMA_QPT_UD,
> +	PVRDMA_QPT_RAW_IPV6,
> +	PVRDMA_QPT_RAW_ETHERTYPE,
> +	PVRDMA_QPT_RAW_PACKET = 8,
> +	PVRDMA_QPT_XRC_INI = 9,
> +	PVRDMA_QPT_XRC_TGT,
> +	PVRDMA_QPT_MAX,
> +};
> +
> +enum pvrdma_qp_create_flags {
> +	PVRDMA_QP_CREATE_IPOPVRDMA_UD_LSO		= 1 << 0,
> +	PVRDMA_QP_CREATE_BLOCK_MULTICAST_LOOPBACK	= 1 << 1,
> +};
> +
> +enum pvrdma_qp_attr_mask {
> +	PVRDMA_QP_STATE			= 1 << 0,
> +	PVRDMA_QP_CUR_STATE		= 1 << 1,
> +	PVRDMA_QP_EN_SQD_ASYNC_NOTIFY	= 1 << 2,
> +	PVRDMA_QP_ACCESS_FLAGS		= 1 << 3,
> +	PVRDMA_QP_PKEY_INDEX		= 1 << 4,
> +	PVRDMA_QP_PORT			= 1 << 5,
> +	PVRDMA_QP_QKEY			= 1 << 6,
> +	PVRDMA_QP_AV			= 1 << 7,
> +	PVRDMA_QP_PATH_MTU		= 1 << 8,
> +	PVRDMA_QP_TIMEOUT		= 1 << 9,
> +	PVRDMA_QP_RETRY_CNT		= 1 << 10,
> +	PVRDMA_QP_RNR_RETRY		= 1 << 11,
> +	PVRDMA_QP_RQ_PSN		= 1 << 12,
> +	PVRDMA_QP_MAX_QP_RD_ATOMIC	= 1 << 13,
> +	PVRDMA_QP_ALT_PATH		= 1 << 14,
> +	PVRDMA_QP_MIN_RNR_TIMER		= 1 << 15,
> +	PVRDMA_QP_SQ_PSN		= 1 << 16,
> +	PVRDMA_QP_MAX_DEST_RD_ATOMIC	= 1 << 17,
> +	PVRDMA_QP_PATH_MIG_STATE	= 1 << 18,
> +	PVRDMA_QP_CAP			= 1 << 19,
> +	PVRDMA_QP_DEST_QPN		= 1 << 20,
> +	PVRDMA_QP_ATTR_MASK_MAX		= PVRDMA_QP_DEST_QPN,
> +};
> +
> +enum pvrdma_qp_state {
> +	PVRDMA_QPS_RESET,
> +	PVRDMA_QPS_INIT,
> +	PVRDMA_QPS_RTR,
> +	PVRDMA_QPS_RTS,
> +	PVRDMA_QPS_SQD,
> +	PVRDMA_QPS_SQE,
> +	PVRDMA_QPS_ERR,
> +};
> +
> +enum pvrdma_mig_state {
> +	PVRDMA_MIG_MIGRATED,
> +	PVRDMA_MIG_REARM,
> +	PVRDMA_MIG_ARMED,
> +};
> +
> +enum pvrdma_mw_type {
> +	PVRDMA_MW_TYPE_1 = 1,
> +	PVRDMA_MW_TYPE_2 = 2,
> +};
> +
> +struct pvrdma_qp_attr {
> +	enum pvrdma_qp_state	qp_state;
> +	enum pvrdma_qp_state	cur_qp_state;
> +	enum pvrdma_mtu		path_mtu;
> +	enum pvrdma_mig_state	path_mig_state;
> +	__u32			qkey;
> +	__u32			rq_psn;
> +	__u32			sq_psn;
> +	__u32			dest_qp_num;
> +	__u32			qp_access_flags;
> +	__u16			pkey_index;
> +	__u16			alt_pkey_index;
> +	__u8			en_sqd_async_notify;
> +	__u8			sq_draining;
> +	__u8			max_rd_atomic;
> +	__u8			max_dest_rd_atomic;
> +	__u8			min_rnr_timer;
> +	__u8			port_num;
> +	__u8			timeout;
> +	__u8			retry_cnt;
> +	__u8			rnr_retry;
> +	__u8			alt_port_num;
> +	__u8			alt_timeout;
> +	__u8			reserved[5];
> +	struct pvrdma_qp_cap	cap;
> +	struct pvrdma_ah_attr	ah_attr;
> +	struct pvrdma_ah_attr	alt_ah_attr;
> +};
> +
> +enum pvrdma_wr_opcode {
> +	PVRDMA_WR_RDMA_WRITE,
> +	PVRDMA_WR_RDMA_WRITE_WITH_IMM,
> +	PVRDMA_WR_SEND,
> +	PVRDMA_WR_SEND_WITH_IMM,
> +	PVRDMA_WR_RDMA_READ,
> +	PVRDMA_WR_ATOMIC_CMP_AND_SWP,
> +	PVRDMA_WR_ATOMIC_FETCH_AND_ADD,
> +	PVRDMA_WR_LSO,
> +	PVRDMA_WR_SEND_WITH_INV,
> +	PVRDMA_WR_RDMA_READ_WITH_INV,
> +	PVRDMA_WR_LOCAL_INV,
> +	PVRDMA_WR_FAST_REG_MR,
> +	PVRDMA_WR_MASKED_ATOMIC_CMP_AND_SWP,
> +	PVRDMA_WR_MASKED_ATOMIC_FETCH_AND_ADD,
> +	PVRDMA_WR_BIND_MW,
> +	PVRDMA_WR_REG_SIG_MR,
> +};
> +
> +enum pvrdma_send_flags {
> +	PVRDMA_SEND_FENCE	= 1 << 0,
> +	PVRDMA_SEND_SIGNALED	= 1 << 1,
> +	PVRDMA_SEND_SOLICITED	= 1 << 2,
> +	PVRDMA_SEND_INLINE	= 1 << 3,
> +	PVRDMA_SEND_IP_CSUM	= 1 << 4,
> +	PVRDMA_SEND_FLAGS_MAX	= PVRDMA_SEND_IP_CSUM,
> +};
> +
> +struct pvrdma_sge {
> +	__u64	addr;
> +	__u32	length;
> +	__u32	lkey;
> +};
> +
> +enum pvrdma_access_flags {
> +	PVRDMA_ACCESS_LOCAL_WRITE	= 1 << 0,
> +	PVRDMA_ACCESS_REMOTE_WRITE	= 1 << 1,
> +	PVRDMA_ACCESS_REMOTE_READ	= 1 << 2,
> +	PVRDMA_ACCESS_REMOTE_ATOMIC	= 1 << 3,
> +	PVRDMA_ACCESS_MW_BIND		= 1 << 4,
> +	PVRDMA_ZERO_BASED		= 1 << 5,
> +	PVRDMA_ACCESS_ON_DEMAND		= 1 << 6,
> +	PVRDMA_ACCESS_FLAGS_MAX		= PVRDMA_ACCESS_ON_DEMAND,
> +};
> +
> +#endif /* __PVRDMA_IB_VERBS_H__ */
> -- 
> 2.7.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-08-21 11:54 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-03 23:27 [PATCH v3 00/15] Add Paravirtual RDMA Driver Adit Ranadive
     [not found] ` <1470266864-16888-1-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-03 23:27   ` [PATCH v3 01/15] IB/pvrdma: Add user-level shared functions Adit Ranadive
     [not found]     ` <1470266864-16888-2-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-21 11:24       ` Yuval Shaia
     [not found]         ` <20160821112436.GA22012-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2016-09-06 18:58           ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 02/15] IB/pvrdma: Add virtual device RDMA structures Adit Ranadive
     [not found]     ` <1470266864-16888-3-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-21 11:54       ` Yuval Shaia [this message]
     [not found]         ` <20160821115441.GB22012-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2016-08-23 17:46           ` Adit Ranadive
     [not found]             ` <BLUPR0501MB836ACEAF51DF69E5623EBF5C5EB0-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-08-25  6:03               ` Yuval Shaia
2016-09-06 19:03                 ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 03/15] IB/pvrdma: Add the paravirtual RDMA device specification Adit Ranadive
     [not found]     ` <1470266864-16888-4-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-10 16:51       ` Leon Romanovsky
2016-08-03 23:27   ` [PATCH v3 04/15] IB/pvrdma: Add functions for Verbs support Adit Ranadive
     [not found]     ` <1470266864-16888-5-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-23 15:13       ` Yuval Shaia
2016-08-23 18:43         ` Leon Romanovsky
     [not found]           ` <20160823184322.GM15065-2ukJVAZIZ/Y@public.gmane.org>
2016-08-23 18:52             ` Adit Ranadive
     [not found]               ` <BLUPR0501MB836B1C542C1296616A05080C5EB0-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-08-23 20:56                 ` Leon Romanovsky
2016-08-23 19:07             ` Doug Ledford
2016-08-25  7:30       ` Yuval Shaia
2016-09-07 17:00         ` Adit Ranadive
     [not found]           ` <BLUPR0501MB836F2A8282244C2821DC346C5F80-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-09-08  8:38             ` Yuval Shaia
     [not found]               ` <20160908083800.GA7760-Hxa29pjIrESt9MVyvc/JHg@public.gmane.org>
2016-09-08 18:34                 ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 05/15] IB/pvrdma: Add paravirtual rdma device Adit Ranadive
     [not found]     ` <1470266864-16888-6-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-25  9:59       ` Yuval Shaia
     [not found]         ` <20160825095920.GB14419-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2016-08-28 13:06           ` Leon Romanovsky
     [not found]             ` <20160828130657.GM594-2ukJVAZIZ/Y@public.gmane.org>
2016-08-28 13:41               ` Yuval Shaia
2016-08-28 13:50                 ` Leon Romanovsky
     [not found]                   ` <20160828135048.GO594-2ukJVAZIZ/Y@public.gmane.org>
2016-08-28 15:50                     ` Adit Ranadive
2016-08-29 13:59       ` Yuval Shaia
2016-08-03 23:27   ` [PATCH v3 06/15] IB/pvrdma: Add helper functions Adit Ranadive
     [not found]     ` <1470266864-16888-7-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-25  6:16       ` Yuval Shaia
2016-08-25  6:29         ` Yuval Shaia
2016-08-29 12:08       ` Yuval Shaia
2016-09-07 19:26         ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 07/15] IB/pvrdma: Add device command support Adit Ranadive
     [not found]     ` <1470266864-16888-8-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-04  4:30       ` Leon Romanovsky
2016-08-25 10:08       ` Yuval Shaia
2016-08-03 23:27   ` [PATCH v3 08/15] IB/pvrdma: Add support for Completion Queues Adit Ranadive
     [not found]     ` <1470266864-16888-9-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-25 12:41       ` Yuval Shaia
     [not found]         ` <20160825124120.GB27446-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2016-09-07 17:25           ` Adit Ranadive
     [not found]             ` <BLUPR0501MB83629470B22B65E27B4332AC5F80-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-09-08  8:18               ` Yuval Shaia
     [not found]                 ` <20160908081802.GA3300-Hxa29pjIrESt9MVyvc/JHg@public.gmane.org>
2016-09-08 18:26                   ` Adit Ranadive
     [not found]                     ` <BLUPR0501MB836A35B3F4B839B1E2055A8C5FB0-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-09-08 18:46                       ` Jason Gunthorpe
     [not found]                         ` <20160908184608.GG21614-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-08 18:56                           ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 09/15] IB/pvrdma: Add UAR support Adit Ranadive
     [not found]     ` <1470266864-16888-10-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-10  3:54       ` Leon Romanovsky
2016-08-25 13:13       ` Yuval Shaia
2016-08-03 23:27   ` [PATCH v3 10/15] IB/pvrdma: Add support for memory regions Adit Ranadive
     [not found]     ` <1470266864-16888-11-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-25 14:15       ` Yuval Shaia
     [not found]         ` <20160825141505.GD27446-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2016-09-07 19:06           ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 11/15] IB/pvrdma: Add Queue Pair support Adit Ranadive
     [not found]     ` <1470266864-16888-12-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-10  4:16       ` Leon Romanovsky
2016-08-29 14:44       ` Yuval Shaia
2016-09-07 19:33         ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 12/15] IB/pvrdma: Add the main driver module for PVRDMA Adit Ranadive
     [not found]     ` <1470266864-16888-13-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-04  6:53       ` Leon Romanovsky
     [not found]         ` <20160804065352.GJ27667-2ukJVAZIZ/Y@public.gmane.org>
2016-08-04 19:18           ` Adit Ranadive
2016-09-01 13:20       ` Yuval Shaia
     [not found]         ` <20160901132024.GA26356-Hxa29pjIrESt9MVyvc/JHg@public.gmane.org>
2016-09-07 19:41           ` Adit Ranadive
     [not found]             ` <BLUPR0501MB836EF38D944CD38F8897C07C5F80-84Rf5TRaNBMVDhIuTCx1aJLWcSx1hRipwIZJ9u9yWa8oOQlpcoRfSA@public.gmane.org>
2016-09-08 15:25               ` Yuval Shaia
     [not found]                 ` <20160908152541.GA3352-Hxa29pjIrESt9MVyvc/JHg@public.gmane.org>
2016-09-08 18:40                   ` Adit Ranadive
2016-09-01 16:54       ` Yuval Shaia
     [not found]         ` <20160901165404.GA3429-Hxa29pjIrESt9MVyvc/JHg@public.gmane.org>
2016-09-07 20:19           ` Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 13/15] IB/pvrdma: Add Kconfig and Makefile Adit Ranadive
2016-08-03 23:27   ` [PATCH v3 14/15] IB: Add PVRDMA driver Adit Ranadive
     [not found]     ` <1470266864-16888-15-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-04  2:30       ` kbuild test robot
2016-08-06  5:34       ` kbuild test robot
2016-08-03 23:27   ` [PATCH v3 15/15] MAINTAINERS: Update for " Adit Ranadive
     [not found]     ` <1470266864-16888-16-git-send-email-aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2016-08-30 13:17       ` Yuval Shaia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160821115441.GB22012@yuval-lap.uk.oracle.com \
    --to=yuval.shaia-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=asarwade-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=bryantan-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=georgezhang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=jhansen-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=pv-drivers-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).