diff options
Diffstat (limited to 'include/linux/nvme-rdma.h')
| -rw-r--r-- | include/linux/nvme-rdma.h | 71 | 
1 files changed, 71 insertions, 0 deletions
| diff --git a/include/linux/nvme-rdma.h b/include/linux/nvme-rdma.h new file mode 100644 index 000000000000..bf240a3cbf99 --- /dev/null +++ b/include/linux/nvme-rdma.h @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2015 Mellanox Technologies. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for + * more details. + */ + +#ifndef _LINUX_NVME_RDMA_H +#define _LINUX_NVME_RDMA_H + +enum nvme_rdma_cm_fmt { +	NVME_RDMA_CM_FMT_1_0 = 0x0, +}; + +enum nvme_rdma_cm_status { +	NVME_RDMA_CM_INVALID_LEN	= 0x01, +	NVME_RDMA_CM_INVALID_RECFMT	= 0x02, +	NVME_RDMA_CM_INVALID_QID	= 0x03, +	NVME_RDMA_CM_INVALID_HSQSIZE	= 0x04, +	NVME_RDMA_CM_INVALID_HRQSIZE	= 0x05, +	NVME_RDMA_CM_NO_RSC		= 0x06, +	NVME_RDMA_CM_INVALID_IRD	= 0x07, +	NVME_RDMA_CM_INVALID_ORD	= 0x08, +}; + +/** + * struct nvme_rdma_cm_req - rdma connect request + * + * @recfmt:        format of the RDMA Private Data + * @qid:           queue Identifier for the Admin or I/O Queue + * @hrqsize:       host receive queue size to be created + * @hsqsize:       host send queue size to be created + */ +struct nvme_rdma_cm_req { +	__le16		recfmt; +	__le16		qid; +	__le16		hrqsize; +	__le16		hsqsize; +	u8		rsvd[24]; +}; + +/** + * struct nvme_rdma_cm_rep - rdma connect reply + * + * @recfmt:        format of the RDMA Private Data + * @crqsize:       controller receive queue size + */ +struct nvme_rdma_cm_rep { +	__le16		recfmt; +	__le16		crqsize; +	u8		rsvd[28]; +}; + +/** + * struct nvme_rdma_cm_rej - rdma connect reject + * + * @recfmt:        format of the RDMA Private Data + * @fsts:          error status for the associated connect request + */ +struct nvme_rdma_cm_rej { +	__le16		recfmt; +	__le16		sts; +}; + +#endif /* _LINUX_NVME_RDMA_H */ |