scapy.contrib.roce

RoCE: RDMA over Converged Ethernet

class scapy.contrib.roce.AETH(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    SYNDROME   |                      MSN                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. AETH                             
AETH fields

syndrome

XByteField

'0'

msn

XBitField (24 bits)

'0'

class scapy.contrib.roce.BTH(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
compute_icrc(p)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OPCODE    |S|M|PAD|VERSION|              PKEY             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|B|   RESV6   |                      DQPN                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|    RESV7    |                      PSN                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ICRC                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                             Fig. BTH                             
BTH fields

opcode

ByteEnumField

'0'

solicited

BitField (1 bit)

'0'

migreq

BitField (1 bit)

'0'

padcount

BitField (2 bits)

'0'

version

BitField (4 bits)

'0'

pkey

XShortField

'65535'

fecn

BitField (1 bit)

'0'

becn

BitField (1 bit)

'0'

resv6

BitField (6 bits)

'0'

dqpn

BitField (24 bits)

'0'

ackreq

BitField (1 bit)

'0'

resv7

BitField (7 bits)

'0'

psn

BitField (24 bits)

'0'

icrc

FCSField

'None'

static pack_icrc(icrc)
payload_guess

Possible sublayers: AETH, CNPPadding

post_build(p, pay)
class scapy.contrib.roce.CNPPadding(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           RESERVED1                           |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           RESERVED2                           |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. CNPPadding                          
CNPPadding fields

reserved1

XLongField

'0'

reserved2

XLongField

'0'

class scapy.contrib.roce.GRH(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPVER |     TCLASS    |               FLOWLABEL               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             PAYLEN            |    NEXTHDR    |     HOPLMT    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              SGID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              DGID                             |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                             Fig. GRH                             
GRH fields

ipver

BitField (4 bits)

'6'

tclass

BitField (8 bits)

'0'

flowlabel

BitField (20 bits)

'6'

paylen

ShortField

'0'

nexthdr

ByteField

'0'

hoplmt

ByteField

'0'

sgid

XBitField (128 bits)

'0'

dgid

XBitField (128 bits)

'0'

payload_guess

Possible sublayers: BTH

scapy.contrib.roce.cnp(dqpn)
scapy.contrib.roce.opcode(transport, op)