qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

rdmacm-mux.h (1424B)


      1 /*
      2  * QEMU paravirtual RDMA - rdmacm-mux declarations
      3  *
      4  * Copyright (C) 2018 Oracle
      5  * Copyright (C) 2018 Red Hat Inc
      6  *
      7  * Authors:
      8  *     Yuval Shaia <yuval.shaia@oracle.com>
      9  *     Marcel Apfelbaum <marcel@redhat.com>
     10  *
     11  * This work is licensed under the terms of the GNU GPL, version 2 or later.
     12  * See the COPYING file in the top-level directory.
     13  *
     14  */
     15 
     16 #ifndef RDMACM_MUX_H
     17 #define RDMACM_MUX_H
     18 
     19 #include "linux/if.h"
     20 #include <infiniband/verbs.h>
     21 #include <infiniband/umad.h>
     22 #include <rdma/rdma_user_cm.h>
     23 
     24 typedef enum RdmaCmMuxMsgType {
     25     RDMACM_MUX_MSG_TYPE_REQ   = 0,
     26     RDMACM_MUX_MSG_TYPE_RESP  = 1,
     27 } RdmaCmMuxMsgType;
     28 
     29 typedef enum RdmaCmMuxOpCode {
     30     RDMACM_MUX_OP_CODE_REG   = 0,
     31     RDMACM_MUX_OP_CODE_UNREG = 1,
     32     RDMACM_MUX_OP_CODE_MAD   = 2,
     33 } RdmaCmMuxOpCode;
     34 
     35 typedef enum RdmaCmMuxErrCode {
     36     RDMACM_MUX_ERR_CODE_OK        = 0,
     37     RDMACM_MUX_ERR_CODE_EINVAL    = 1,
     38     RDMACM_MUX_ERR_CODE_EEXIST    = 2,
     39     RDMACM_MUX_ERR_CODE_EACCES    = 3,
     40     RDMACM_MUX_ERR_CODE_ENOTFOUND = 4,
     41 } RdmaCmMuxErrCode;
     42 
     43 typedef struct RdmaCmMuxHdr {
     44     RdmaCmMuxMsgType msg_type;
     45     RdmaCmMuxOpCode op_code;
     46     union ibv_gid sgid;
     47     RdmaCmMuxErrCode err_code;
     48 } RdmaCmUHdr;
     49 
     50 typedef struct RdmaCmUMad {
     51     struct ib_user_mad hdr;
     52     char mad[RDMA_MAX_PRIVATE_DATA];
     53 } RdmaCmUMad;
     54 
     55 typedef struct RdmaCmMuxMsg {
     56     RdmaCmUHdr hdr;
     57     int umad_len;
     58     RdmaCmUMad umad;
     59 } RdmaCmMuxMsg;
     60 
     61 #endif