root/include/linux/nvme-rdma.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. nvme_rdma_cm_msg

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright (c) 2015 Mellanox Technologies. All rights reserved.
   4  */
   5 
   6 #ifndef _LINUX_NVME_RDMA_H
   7 #define _LINUX_NVME_RDMA_H
   8 
   9 enum nvme_rdma_cm_fmt {
  10         NVME_RDMA_CM_FMT_1_0 = 0x0,
  11 };
  12 
  13 enum nvme_rdma_cm_status {
  14         NVME_RDMA_CM_INVALID_LEN        = 0x01,
  15         NVME_RDMA_CM_INVALID_RECFMT     = 0x02,
  16         NVME_RDMA_CM_INVALID_QID        = 0x03,
  17         NVME_RDMA_CM_INVALID_HSQSIZE    = 0x04,
  18         NVME_RDMA_CM_INVALID_HRQSIZE    = 0x05,
  19         NVME_RDMA_CM_NO_RSC             = 0x06,
  20         NVME_RDMA_CM_INVALID_IRD        = 0x07,
  21         NVME_RDMA_CM_INVALID_ORD        = 0x08,
  22 };
  23 
  24 static inline const char *nvme_rdma_cm_msg(enum nvme_rdma_cm_status status)
  25 {
  26         switch (status) {
  27         case NVME_RDMA_CM_INVALID_LEN:
  28                 return "invalid length";
  29         case NVME_RDMA_CM_INVALID_RECFMT:
  30                 return "invalid record format";
  31         case NVME_RDMA_CM_INVALID_QID:
  32                 return "invalid queue ID";
  33         case NVME_RDMA_CM_INVALID_HSQSIZE:
  34                 return "invalid host SQ size";
  35         case NVME_RDMA_CM_INVALID_HRQSIZE:
  36                 return "invalid host RQ size";
  37         case NVME_RDMA_CM_NO_RSC:
  38                 return "resource not found";
  39         case NVME_RDMA_CM_INVALID_IRD:
  40                 return "invalid IRD";
  41         case NVME_RDMA_CM_INVALID_ORD:
  42                 return "Invalid ORD";
  43         default:
  44                 return "unrecognized reason";
  45         }
  46 }
  47 
  48 /**
  49  * struct nvme_rdma_cm_req - rdma connect request
  50  *
  51  * @recfmt:        format of the RDMA Private Data
  52  * @qid:           queue Identifier for the Admin or I/O Queue
  53  * @hrqsize:       host receive queue size to be created
  54  * @hsqsize:       host send queue size to be created
  55  */
  56 struct nvme_rdma_cm_req {
  57         __le16          recfmt;
  58         __le16          qid;
  59         __le16          hrqsize;
  60         __le16          hsqsize;
  61         u8              rsvd[24];
  62 };
  63 
  64 /**
  65  * struct nvme_rdma_cm_rep - rdma connect reply
  66  *
  67  * @recfmt:        format of the RDMA Private Data
  68  * @crqsize:       controller receive queue size
  69  */
  70 struct nvme_rdma_cm_rep {
  71         __le16          recfmt;
  72         __le16          crqsize;
  73         u8              rsvd[28];
  74 };
  75 
  76 /**
  77  * struct nvme_rdma_cm_rej - rdma connect reject
  78  *
  79  * @recfmt:        format of the RDMA Private Data
  80  * @sts:           error status for the associated connect request
  81  */
  82 struct nvme_rdma_cm_rej {
  83         __le16          recfmt;
  84         __le16          sts;
  85 };
  86 
  87 #endif /* _LINUX_NVME_RDMA_H */

/* [<][>][^][v][top][bottom][index][help] */