scapy.contrib.roce

RoCE: RDMA over Converged Ethernet

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

Bases: Packet

aliastypes = [<class 'scapy.contrib.roce.AETH'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (AETH).syndrome>, <XBitField (AETH).msn>]
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 = [<class 'scapy.contrib.roce.BTH'>, <class 'scapy.packet.Packet'>]
compute_icrc(p: bytes) bytes[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (BTH).opcode>, <BitField (BTH).solicited>, <BitField (BTH).migreq>, <BitField (BTH).padcount>, <BitField (BTH).version>, <XShortField (BTH).pkey>, <BitField (BTH).fecn>, <BitField (BTH).becn>, <BitField (BTH).resv6>, <BitField (BTH).dqpn>, <BitField (BTH).ackreq>, <BitField (BTH).resv7>, <BitField (BTH).psn>, <scapy.fields.FCSField object>]
static pack_icrc(icrc: int) bytes[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'opcode': 129}, <class 'scapy.contrib.roce.CNPPadding'>), ({'opcode': 17}, <class 'scapy.contrib.roce.AETH'>), ({'opcode': 81}, <class 'scapy.contrib.roce.AETH'>)]
post_build(p: bytes, pay: bytes) bytes[source]
class scapy.contrib.roce.CNPPadding(_pkt, /, *, reserved1=0, reserved2=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.roce.CNPPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLongField (CNPPadding).reserved1>, <XLongField (CNPPadding).reserved2>]
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 = [<class 'scapy.contrib.roce.GRH'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (GRH).ipver>, <BitField (GRH).tclass>, <BitField (GRH).flowlabel>, <ShortField (GRH).paylen>, <ByteField (GRH).nexthdr>, <ByteField (GRH).hoplmt>, <XBitField (GRH).sgid>, <XBitField (GRH).dgid>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.contrib.roce.BTH'>)]
scapy.contrib.roce.cnp(dqpn: int) BTH[source]
scapy.contrib.roce.opcode(transport: str, op: str) Tuple[int, str][source]