---
name: "packet.transport.rdmap"
section: "3"
platform: "linux"
package: "nfstest"
version: "3.2-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/packet.transport.rdmap"
---

# packet.transport.rdmap(3)

RDMAP module

## NAME

packet.transport.rdmap - RDMAP module

## DESCRIPTION

Decode RDMAP layer.

RFC 5040 Remote Direct Memory Access Protocol Specification

## CLASSES

### class OpCode(packet.utils.Enum)

```
enum OpCode
```

### class RDMAP(baseobj.BaseObj)

```
RDMAP object
Usage:
    from packet.transport.rdmap import RDMAP
    x = RDMAP(pktt, pinfo)
Object definition:
RDMAP(
    version = int,  # RDMA Protocol version
    opcode  = int,  # RDMA OpCode
    psize   = int,  # Payload Size
    [ # Only valid for Send with Invalidate and Send with Solicited Event
      # and Invalidate Messages
        istag = int,  # Invalidate STag
    ]
    [ # RDMA Read Request Header
        sinkstag = int,  # Data Sink STag
        sinksto  = int,  # Data Sink Tagged Offset
        dma_len  = int,  # RDMA Read Message Size
        srcstag  = int,  # Data Source STag
        srcsto   = int,  # Data Source Tagged Offset
    ]
)
```

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

**\_\_init\_\_(self, pktt, pinfo)** Constructor

Initialize object's private data.

- **pktt:**

  Packet trace object (packet.pktt.Pktt) so this layer has access to the parent layers.

- **pinfo:**

  List of two integers: \[RDMAP control, Invalidate STag\].

## SEE ALSO

**[baseobj(3)](/baseobj/3.md),** **[packet.application.rpc(3)](/packet.application.rpc/3.md),** **[packet.application.rpcordma(3)](/packet.application.rpcordma/3.md),** **[packet.application.rpcordma\_const(3)](/packet.application.rpcordma_const/3.md),** **[packet.unpack(3)](/packet.unpack/3.md),** **[packet.utils(3)](/packet.utils/3.md)**

## BUGS

No known bugs.

## AUTHOR

Jorge Mora (mora@netapp.com)
