scapy.contrib.roce

RoCE: RDMA over Converged Ethernet

class scapy.contrib.roce.AETH(_pkt, /, *, syndrome=0, msn=0)[source]

Bases: 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(_pkt, /, *, opcode=0, solicited=0, migreq=0, padcount=0, version=0, pkey=65535, fecn=0, becn=0, resv6=0, dqpn=0, ackreq=0, resv7=0, psn=0, icrc=None)[source]

Bases: Packet

aliastypes
compute_icrc(p: bytes) bytes[source]
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: int) bytes[source]
payload_guess

Possible sublayers: AETH, CNPPadding

post_build(p: bytes, pay: bytes) bytes[source]
class scapy.contrib.roce.CNPPadding(_pkt, /, *, reserved1=0, reserved2=0)[source]

Bases: 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(_pkt, /, *, ipver=6, tclass=0, flowlabel=6, paylen=0, nexthdr=0, hoplmt=0, sgid=0, dgid=0)[source]

Bases: 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: int) BTH[source]
scapy.contrib.roce.opcode(transport: str, op: str) Tuple[int, str][source]