forked from mirrors/linux
		
	 82bebbde02
			
		
	
	
		82bebbde02
		
	
	
	
	
		
			
			struct nvme_rdma_cm_rej has two different attributes: recfmt and sts. And sts will have value what this comment wanted to show. Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Copyright (c) 2015 Mellanox Technologies. All rights reserved.
 | |
|  */
 | |
| 
 | |
| #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,
 | |
| };
 | |
| 
 | |
| static inline const char *nvme_rdma_cm_msg(enum nvme_rdma_cm_status status)
 | |
| {
 | |
| 	switch (status) {
 | |
| 	case NVME_RDMA_CM_INVALID_LEN:
 | |
| 		return "invalid length";
 | |
| 	case NVME_RDMA_CM_INVALID_RECFMT:
 | |
| 		return "invalid record format";
 | |
| 	case NVME_RDMA_CM_INVALID_QID:
 | |
| 		return "invalid queue ID";
 | |
| 	case NVME_RDMA_CM_INVALID_HSQSIZE:
 | |
| 		return "invalid host SQ size";
 | |
| 	case NVME_RDMA_CM_INVALID_HRQSIZE:
 | |
| 		return "invalid host RQ size";
 | |
| 	case NVME_RDMA_CM_NO_RSC:
 | |
| 		return "resource not found";
 | |
| 	case NVME_RDMA_CM_INVALID_IRD:
 | |
| 		return "invalid IRD";
 | |
| 	case NVME_RDMA_CM_INVALID_ORD:
 | |
| 		return "Invalid ORD";
 | |
| 	default:
 | |
| 		return "unrecognized reason";
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * 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
 | |
|  * @sts:           error status for the associated connect request
 | |
|  */
 | |
| struct nvme_rdma_cm_rej {
 | |
| 	__le16		recfmt;
 | |
| 	__le16		sts;
 | |
| };
 | |
| 
 | |
| #endif /* _LINUX_NVME_RDMA_H */
 |