RPCORDMA

Section: rpcordma 1.0 (3)
Updated: 19 July 2021
Index Return to Main Contents
 

NAME

packet.application.rpcordma - RPCORDMA decoding module  

CLASSES

 

class RPCoRDMA(baseobj.BaseObj)

struct RPCoRDMA {
    uint32    xid;     /* Mirrors the RPC header xid */
    uint32    vers;    /* Version of this protocol */
    uint32    credit;  /* Buffers requested/granted */
    rdma_body body;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rdma_body(baseobj.BaseObj)

union switch rdma_body (rdma_proc proc) {
    case const.RDMA_MSG:
        rpc_rdma_header rdma_msg;
    case const.RDMA_NOMSG:
        rpc_rdma_header_nomsg rdma_nomsg;
    case const.RDMA_MSGP:                 /* Not to be used */
        rpc_rdma_header_padded rdma_msgp;
    case const.RDMA_DONE:                 /* Not to be used */
        void;
    case const.RDMA_ERROR:
        rpc_rdma_error rdma_error;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rdma_proc(packet.utils.Enum)

enum rdma_proc

 

class rpc_rdma_errcode(packet.utils.Enum)

enum rpc_rdma_errcode

 

class rpc_rdma_error(baseobj.BaseObj)

union switch rpc_rdma_error (rpc_rdma_errcode err) {
    case const.ERR_VERS:
        rpc_rdma_errvers range;
    case const.ERR_CHUNK:
        void;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rpc_rdma_errvers(baseobj.BaseObj)

struct rpc_rdma_errvers {
    uint32 low;
    uint32 high;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rpc_rdma_header(baseobj.BaseObj)

struct rpc_rdma_header {
    xdr_read_list   *reads;
    xdr_write_list  *writes;
    xdr_write_chunk *reply;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rpc_rdma_header_nomsg(baseobj.BaseObj)

struct rpc_rdma_header_nomsg {
    xdr_read_list   *reads;
    xdr_write_list  *writes;
    xdr_write_chunk *reply;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class rpc_rdma_header_padded(baseobj.BaseObj)

struct rpc_rdma_header_padded {
    uint32          align;    /* Padding alignment */
    uint32          thresh;   /* Padding threshold */
    xdr_read_list   *reads;
    xdr_write_list  *writes;
    xdr_write_chunk *reply;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class xdr_rdma_segment(baseobj.BaseObj)

struct xdr_rdma_segment {
    uint32 handle;  /* Registered memory handle */
    uint32 length;  /* Length of the chunk in bytes */
    uint64 offset;  /* Chunk virtual address or offset */
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class xdr_read_chunk(baseobj.BaseObj)

struct xdr_read_chunk {
    uint32           position;  /* Position in XDR stream */
    xdr_rdma_segment target;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class xdr_read_list(baseobj.BaseObj)

struct xdr_read_list {
    xdr_read_chunk entry;
    xdr_read_list  *next;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class xdr_write_chunk(baseobj.BaseObj)

struct xdr_write_chunk {
    xdr_rdma_segment target<>;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

class xdr_write_list(baseobj.BaseObj)

struct xdr_write_list {
    xdr_write_chunk entry;
    xdr_write_list  *next;
};


Methods defined here:
---------------------

__init__(self, unpack)
Constructor

Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.
 

SEE ALSO

baseobj(3), packet.application.rpcordma_const(3), packet.unpack(3), packet.utils(3)

 

BUGS

No known bugs.  

AUTHOR

Jorge Mora (mora@netapp.com)


 

Index

NAME
CLASSES
class RPCoRDMA(baseobj.BaseObj)
class rdma_body(baseobj.BaseObj)
class rdma_proc(packet.utils.Enum)
class rpc_rdma_errcode(packet.utils.Enum)
class rpc_rdma_error(baseobj.BaseObj)
class rpc_rdma_errvers(baseobj.BaseObj)
class rpc_rdma_header(baseobj.BaseObj)
class rpc_rdma_header_nomsg(baseobj.BaseObj)
class rpc_rdma_header_padded(baseobj.BaseObj)
class xdr_rdma_segment(baseobj.BaseObj)
class xdr_read_chunk(baseobj.BaseObj)
class xdr_read_list(baseobj.BaseObj)
class xdr_write_chunk(baseobj.BaseObj)
class xdr_write_list(baseobj.BaseObj)
SEE ALSO
BUGS
AUTHOR

This document was created by man2html, using the manual pages.
Time: 16:08:34 GMT, July 19, 2021