4. InfiniBand Architecture (IBA) Definitions¶
The majority of these definitions apply only to InfiniBand and are not
applicable to general RDMA devices. However, a few are used as part of the
kernel API for all device types (eg NODE_CA
).
For ease of use it is recommended to import this module as:
import rdma.IBA as IBA;
The module includes Python versions of the IBA defined binary structure. The
Python version is unpacked, accessing the IBA defined member names is simply
done by acessing the property name. The tables in the reference indicate
the valid member names, the bit position start_bit:end_bit (bit count)
and a description of the Python type used for the attribute.
The class attributes starting with MAD_
are metadata used by the RPC
functions in rdma.madtransactor.MADTransactor
to generate the correct
attribute ID, and validate that the RPC is valid.
All classes in this section are derived from rdma.binstruct.BinStruct
and contain implementations of those methods. Use the
pack_into()
and
unpack_from()
methods to produce the
binary layout of the structure.
Constructors will also accept a bytes or another
BinStruct
instance:
data = bytes('\0'*IBA.SMPFormat.MAD_LENGTH);
hdr = IBA.MADHeader(data);
sfmt = IBA.SMPFormat(hdr);
dfmt = IBA.SMPFormatDirected(sfmt);
When referring to another BinStruct
instance the
new instance is unpacked using the original byte buffer that the first instance
was unpacked from. Changing the attributes has no effect.
Note
This is based on Python’s struct
module, which requires a bytes
object for unpack and a bytearray
for packing. This conversion
is generally handled transparently..
Structures named *Format
are generally a full MAD, and need to be ‘casted’
to read the data:
fmt = IBA.SMPFormat(data);
pinf = IBA.SMPPortInfo(fmt.data);
4.1. Structure Pretty Printer¶
All of the BinStruct
classes feature an automatic
pretty printer for the class content. The pretty printer understands some of
the structure of the data and properly pretty prints things like the data
member of a *Format object. Here is the dump pretty print output for a
SAFormat
containing a SAPathRecord
:
SAFormat
0 01030281 baseVersion=1,mgmtClass=3,classVersion=2,method=129
4 00000000 status=0,classSpecific=0
8 000028D6 transactionID=44902842023172
12 C1F2BD04
16 00350000 attributeID=53,reserved_144=0
20 00000000 attributeModifier=0
24 00000000 RMPPVersion=0,RMPPType=0,RRespTime=0,RMPPFlags=0,RMPPStatus=0
28 00000000 data1=0
32 00000000 data2=0
36 00000000 SMKey=0
40 00000000
44 00080000 attributeOffset=8,reserved_368=0
48 00000000 componentMask=2072
52 00000818
+ data SAPathRecord
56 00000000 serviceID=0
60 00000000
64 FE800000 DGID=GID('fe80::2:c903:0:1491')
68 00000000
72 0002C903
76 00001491
80 FE800000 SGID=GID('fe80::2:c903:0:1491')
84 00000000
88 0002C903
92 00001491
96 00050005 DLID=5,SLID=5
100 00000000 rawTraffic=0,reserved_353=0,flowLabel=0,hopLimit=0
104 0080FFFF TClass=0,reversible=1,numbPath=0,PKey=65535
108 00008483 QOSClass=0,SL=0,MTUSelector=2,MTU=4,rateSelector=2,rate=3
112 80000000 packetLifeTimeSelector=2,packetLifeTime=0,preference=0,reserved_464=0
116 00000000 reserved_480=0
Notice that the use of SAPathRecord
for the payload is
automatically deduced based on the value of attributeID. The printer shows
the decimal byte offset and raw hex bytes in the left columns and shows a decode
of the attribute names corresponding to that byte position in the right hand
area.
The pretty printer is invoked by calling the printer()
method of the structure to print. This example shows how to produce an arbitary
MAD printer:
IBA.get_fmt_payload(buf[1],buf[2],0)[0](buf).printer(sys.stdout);
This is the dotted pretty print format:
SAFormat
baseVersion.....................1
mgmtClass.......................3
classVersion....................2
method..........................146
status..........................0
classSpecific...................0
transactionID...................44950782152048
attributeID.....................53
reserved_144....................0
attributeModifier...............0
RMPPVersion.....................1
RMPPType........................1
RRespTime.......................0
RMPPFlags.......................7
RMPPStatus......................0
data1...........................1
data2...........................84
SMKey...........................0
attributeOffset.................8
reserved_368....................0
componentMask...................12
data.serviceID..................0
data.DGID.......................GID('fe80::2:c903:0:1491')
data.SGID.......................GID('fe80::2:c903:0:1491')
data.DLID.......................5
data.SLID.......................5
data.rawTraffic.................0
data.reserved_353...............0
data.flowLabel..................0
data.hopLimit...................0
data.TClass.....................0
data.reversible.................1
data.numbPath...................0
data.PKey.......................65535
data.QOSClass...................0
data.SL.........................0
data.MTUSelector................2
data.MTU........................4
data.rateSelector...............2
data.rate.......................3
data.packetLifeTimeSelector.....2
data.packetLifeTime.............0
data.preference.................0
data.reserved_464...............0
data.reserved_480...............0
4.2. Component Mask Helper¶
Subnet Administration Get RPCs have an annoying ComponentMask field which is
a bitfield indicating which subfields are relevant. Computing the correct
value for this can be quite difficult. The RPC generator computes the proper
values for all RPCs and stores them in the class variable
COMPONENT_MASK
. The helper class rdma.IBA.ComponentMask
uses this
information to automate computing the ComponentMask value. For example:
obj = IBA.SAPathRecord()
cm = IBA.ComponentMask(obj);
cm.DGID = IBA.GID("::1");
cm.DLID = 2;
assert(cm.component_mask == 20)
Passing a ComponentMask
into the SubnAdm* RPC methods will
automatically correctly set the ComponentMask value of the MAD.
4.3. Word about Versions¶
The library has some limited support for versioning the MAD Formats, but it is not yet fully developed. The basic notion is that each version of a management class will have a separate Format class and separate attribute classes. The attribute class will be enhanced to contain the lowest format version it applies to and the generic layer will instantiate the correct Format class.
Generally the message is that client programmers should ignore versions, and the library will forever process todays current version with the current code.
Server side is a bit different, as the incoming MAD will be decoded according to the version capability of the library, so some defensive code will be required there.
4.4. rdma.binstruct
IBA Structure Helpers¶
-
class
rdma.binstruct.
BinFormat
(buf=None, offset=0)¶ Base class for all *Format type packet layouts.
buf is either an instance of
BinStruct
or abytes
representing the data to unpack into the instance. offset is the starting offset in buf for unpacking. If no arguments are given then all attributes are set to 0.-
describe
()¶ Return a short description of the RPC described by this format.
-
-
class
rdma.binstruct.
BinStruct
(buf=None, offset=0)¶ Base class for all binary structure objects (MADs, etc). When pickled this class re-packs the structure and stores it as a bytes value. This reduces the storage overhead from pickling and allows the library to upgrade to different internal storage methods in future.
buf is either an instance of
BinStruct
or abytes
representing the data to unpack into the instance. offset is the starting offset in buf for unpacking. If no arguments are given then all attributes are set to 0.-
compare
(lhs, mask)¶ Compare self and lhs using the rules for component mask matching.
-
pack_into
(buf, offset=0)¶ Overridden in derived classes. Compact this instance into the
bytearray
buf starting at offset.
-
printer
(F, offset=0, header=True, format='dump', **kwargs)¶ Pretty print the structure. F is the output file, offset is added to all printed offsets and header causes the display of the class type on the first line. format may be dump or dotted.
-
unpack_from
(buf, offset=0)¶ Overridden in derived classes. Expand the
bytes
buf starting at offset into this instance.
-
zero
()¶ Overridden in derived classes. Set this instance back to the initial all zeros value.
-
-
rdma.binstruct.
pack_array8
(buf, offset, mlen, count, inp)¶
-
rdma.binstruct.
unpack_array8
(buf, offset, mlen, count, inp)¶ Starting at offset in buf assign count entries each mlen bits wide to indexes in inp.
4.5. rdma.IBA_describe
Convert values to descriptive strings¶
-
rdma.IBA_describe.
description
(value)¶ Decodes a fixed length string from a IBA MAD (such as
rdma.IBA.SMPNodeDescription
) These strings are considered to be UTF-8 and null padding is removed.
-
rdma.IBA_describe.
dstr
(value, quotes=False)¶ Convert to a display string. This escapes values like repr but returns with no extra adornment like quotes or a starting u. The intent of this function is to provide a safe printable that has undesired values escaped. FIXME: This should not be so aggressive with repr, that throws away the unicode as well.
-
rdma.IBA_describe.
link_speed
(value)¶ Decode a Port Info linkSpeedActive value into a string.
-
rdma.IBA_describe.
link_speed_ext
(value)¶ Decode a Port Info linkSpeedExtActive value into a string.
-
rdma.IBA_describe.
link_state
(value)¶ Decode a Port Info port state value into a string.
-
rdma.IBA_describe.
link_width
(width)¶ Convert a link with constant into an integer number of lanes.
-
rdma.IBA_describe.
mad_status
(status)¶ Decode a MAD status into a string.
-
rdma.IBA_describe.
node_type
(value)¶ Decode a Node Type value into a string.
-
rdma.IBA_describe.
phys_link_state
(value)¶ Decode a Port Info port physical state value into a string.
-
rdma.IBA_describe.
rate
(value)¶ Return the rate (eg a
rdma.IBA.SAPathRecord.rate
) value as an integer bits/sec.
-
rdma.IBA_describe.
struct_dotted
(F, s, name_prefix='', dump_list=False, skip_reserved=True, column=33, colon=False, name_map=None)¶ This tries to emulate the libib structure print format. Members are printed one per line with values aligned on column 32.
-
rdma.IBA_describe.
struct_dump
(F, s, offset=0, name_prefix='')¶ Pretty print the structure s. F is the output file, offset is added to all printed offsets and name_prefix is used to prefix names when descending.
-
rdma.IBA_describe.
to_rate
(value)¶ Convert a rate in integer bits/sec to an IBA rate (eg a
rdma.IBA.SAPathRecord.rate
). The lowest matching rate constant is returned.
4.6. rdma.IBA
InfiniBand Architecture (IBA) definitions¶
-
class
rdma.IBA.
ComponentMask
(obj, mask=0)¶ Bases:
object
This is a wrapper class for managing IBA structures with a component mask. Attribute access is overridden and tracked by mapping the attribute name to the component mask bit index to build up a component mask value as the class is used.
obj is wrappered
-
component_mask
= 0¶ The computed component_mask
-
payload
¶ The original object that is wrappered.
-
touch
(name)¶ Include the component mask value name in the calculation. Normally this happens automatically as attributes are accessed.
Raises: ValueError – If name is not a valid component name
-
unmask
(name)¶ Exclude the component mask value name in the calculation.
Raises: ValueError – If name is not a valid component name
-
-
class
rdma.IBA.
GID
(s=None, raw=False, prefix=None, guid=None)¶ Bases:
str
Stores a GID in internal format. In string format a GID is formatted like an IPv6 addres eg
fe80::2:c903:0:1491
. Externally the class looks like a string that formats to the GID.pack_into()
is used to store the GID in network format. Instances are immutable and can be hashed.Convert from a string to our GID representation. s is the input string and if raw is True then s must be a length 16
bytes
.If s is None then the
ZERO_GID
is instantiated. Invoking asGID(prefix=PREFIX,guid=GUID)
will construct a GID by concatenating the PREFIX to GUID. GUID should be ardma.IBA.GUID
while PREFIX can be 8 bytes, an integer or ardma.IBA.GID
.Raises: ValueError – If the string can not be parsed. -
guid
()¶ Return the GUID portion of the GID.
-
pack_into
(buf, offset=0)¶ Pack the value into a byte array.
-
prefix
()¶ Return the prefix portion of the GID.
-
-
class
rdma.IBA.
GUID
(s=None, raw=False)¶ Bases:
str
Stores a GUID in internal format. In string format a GUID is formatted as
0002:c903:0000:1491
. Externally the class looks like a string that formats to the GUID.pack_into()
is used to store the GUID in network format. Instances are immutable and can be hashed.Convert from a string to our GUID representation. s is the input string and if raw is True then s must be a length 8
bytes
.If s is None then the
ZERO_GUID
is instantiated. s can also be an integer.Raises: ValueError – If the string can not be parsed. -
pack_into
(buf, offset=0)¶ Pack the value into a byte array.
-
-
rdma.IBA.
ZERO_GID
= GID('::')¶ All zeros GID value.
-
rdma.IBA.
ZERO_GUID
= GUID('0000:0000:0000:0000')¶ All zeros GUID value.
-
rdma.IBA.
conv_ep_addr
(s)¶ Convert the string s into a end port address. s can be a GID, port GUID or LID. The result of this function is a
GID
orint
.Raises: ValueError – If the string can not be parsed.
-
rdma.IBA.
conv_lid
(s, multicast=False)¶ Converts the string s into an integer assuming it is a LID. If multicast is False then the LID must be a valid unicast LID. If multicast is True then the LID must be a valid multicast LID. If multicast is None then any 16 bit value is accepted.
Raises: ValueError – If the string can not be parsed.
-
rdma.IBA.
lid_lmc_range
(lid, lmc)¶ Return all the LIDs described by lid and lmc. Similar to range
-
rdma.IBA.
to_timer
(sec)¶ Take a timeout value in float seconds and convert it into the IBA format that satisfies sec <= 4.096 us * 2**ret
4.6.1. Node Type Constants¶
rdma.IBA.NODE_CA |
0x1 | 1 = (1 << 0) |
rdma.IBA.NODE_SWITCH |
0x2 | 2 = (1 << 1) |
rdma.IBA.NODE_ROUTER |
0x3 | 3 |
4.6.2. General Constants¶
rdma.IBA.MAX_PORTS |
0xfe | 254 |
rdma.IBA.INVALID_PORT |
0xff | 255 |
rdma.IBA.MAX_PKEYS |
0x10000 | 65536 = (1 << 16) |
rdma.IBA.MAX_GUIDS |
0x100 | 256 = (1 << 8) |
rdma.IBA.MAX_PKT_WORDS |
0x41f | 1055 |
4.6.3. LID Constants¶
rdma.IBA.LID_RESERVED |
0x0 | 0 |
rdma.IBA.LID_MULTICAST |
0xc000 | 49152 |
rdma.IBA.LID_PERMISSIVE |
0xffff | 65535 |
rdma.IBA.LID_COUNT_UNICAST |
0xc000 | 49152 |
rdma.IBA.LID_COUNT_MULTICAST |
0x3fff | 16383 |
4.6.4. Partition Key Constants¶
rdma.IBA.PKEY_DEFAULT |
0xffff | 65535 |
rdma.IBA.PKEY_PARTIAL_DEFAULT |
0x7fff | 32767 |
rdma.IBA.PKEY_MEMBERSHIP_BIT |
0x8000 | 32768 = (1 << 15) |
rdma.IBA.PKEY_INVALID |
0x0 | 0 |
4.6.5. Well known QKEY Constants¶
rdma.IBA.IB_DEFAULT_QP0_QKEY |
0x0 | 0 |
rdma.IBA.IB_DEFAULT_QP1_QKEY |
0x80010000 | 2147549184 |
4.6.6. LRH LNH Header bits¶
rdma.IBA.LNH_GRH |
0x1 | 1 = (1 << 0) |
rdma.IBA.LNH_IBA |
0x2 | 2 = (1 << 1) |
4.6.7. GID Constants¶
rdma.IBA.GID_DEFAULT_PREFIX |
0xfe80000000000000 | 18338657682652659712L |
4.6.8. PortInfo MTU Constants¶
rdma.IBA.MTU_256 |
0x1 | 1 = (1 << 0) |
rdma.IBA.MTU_512 |
0x2 | 2 = (1 << 1) |
rdma.IBA.MTU_1024 |
0x3 | 3 |
rdma.IBA.MTU_2048 |
0x4 | 4 = (1 << 2) |
rdma.IBA.MTU_4096 |
0x5 | 5 |
4.6.9. PortInfo Link Width Constants¶
rdma.IBA.LINK_WIDTH_1x |
0x1 | 1 = (1 << 0) |
rdma.IBA.LINK_WIDTH_4x |
0x2 | 2 = (1 << 1) |
rdma.IBA.LINK_WIDTH_8x |
0x4 | 4 = (1 << 2) |
rdma.IBA.LINK_WIDTH_12x |
0x8 | 8 = (1 << 3) |
4.6.10. PortInfo Link Speed Constants¶
rdma.IBA.LINK_SPEED_2Gb5 |
0x1 | 1 = (1 << 0) |
rdma.IBA.LINK_SPEED_5Gb0 |
0x2 | 2 = (1 << 1) |
rdma.IBA.LINK_SPEED_10Gb0 |
0x4 | 4 = (1 << 2) |
4.6.11. PortInfo Link Speed Extended Constants¶
rdma.IBA.LINK_SPEED_EXT_14Gb0 |
0x1 | 1 = (1 << 0) |
rdma.IBA.LINK_SPEED_EXT_25Gb7 |
0x2 | 2 = (1 << 1) |
4.6.12. PathRecord rate constants¶
rdma.IBA.PR_RATE_2Gb5 |
0x2 | 2 = (1 << 1) |
rdma.IBA.PR_RATE_10Gb0 |
0x3 | 3 |
rdma.IBA.PR_RATE_30Gb0 |
0x4 | 4 = (1 << 2) |
rdma.IBA.PR_RATE_5Gb0 |
0x5 | 5 |
rdma.IBA.PR_RATE_20Gb0 |
0x6 | 6 |
rdma.IBA.PR_RATE_40Gb0 |
0x7 | 7 |
rdma.IBA.PR_RATE_60Gb0 |
0x8 | 8 = (1 << 3) |
rdma.IBA.PR_RATE_80Gb0 |
0x9 | 9 |
rdma.IBA.PR_RATE_120Gb0 |
0xa | 10 |
rdma.IBA.PR_RATE_14Gb0 |
0xb | 11 |
rdma.IBA.PR_RATE_56Gb0 |
0xc | 12 |
rdma.IBA.PR_RATE_112Gb0 |
0xd | 13 |
rdma.IBA.PR_RATE_168Gb0 |
0xe | 14 |
rdma.IBA.PR_RATE_25Gb0 |
0xf | 15 |
rdma.IBA.PR_RATE_100Gb0 |
0x10 | 16 = (1 << 4) |
rdma.IBA.PR_RATE_200Gb0 |
0x11 | 17 |
rdma.IBA.PR_RATE_300Gb0 |
0x12 | 18 |
4.6.13. PortInfo Port State Constants¶
rdma.IBA.PORT_STATE_DOWN |
0x1 | 1 = (1 << 0) |
rdma.IBA.PORT_STATE_INIT |
0x2 | 2 = (1 << 1) |
rdma.IBA.PORT_STATE_ARMED |
0x3 | 3 |
rdma.IBA.PORT_STATE_ACTIVE |
0x4 | 4 = (1 << 2) |
4.6.14. PortInfo Physical Port State Constants¶
rdma.IBA.PHYS_PORT_STATE_SLEEP |
0x1 | 1 = (1 << 0) |
rdma.IBA.PHYS_PORT_STATE_POLLING |
0x2 | 2 = (1 << 1) |
rdma.IBA.PHYS_PORT_STATE_DISABLED |
0x3 | 3 |
rdma.IBA.PHYS_PORT_STATE_CFG_TRAIN |
0x4 | 4 = (1 << 2) |
rdma.IBA.PHYS_PORT_STATE_LINK_UP |
0x5 | 5 |
rdma.IBA.PHYS_PORT_STATE_LINK_ERR_RECOVERY |
0x6 | 6 |
rdma.IBA.PHYS_PORT_STATE_PHY_TEST |
0x7 | 7 |
4.6.15. MAD RPC Constants¶
rdma.IBA.MAD_METHOD_GET |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_METHOD_SET |
0x2 | 2 = (1 << 1) |
rdma.IBA.MAD_METHOD_SEND |
0x3 | 3 |
rdma.IBA.MAD_METHOD_GET_RESP |
0x81 | 129 |
rdma.IBA.MAD_METHOD_TRAP |
0x5 | 5 |
rdma.IBA.MAD_METHOD_TRAP_REPRESS |
0x7 | 7 |
rdma.IBA.MAD_METHOD_GET_TABLE |
0x12 | 18 |
rdma.IBA.MAD_METHOD_GET_TRACE_TABLE |
0x13 | 19 |
rdma.IBA.MAD_METHOD_GET_MULTI |
0x14 | 20 |
rdma.IBA.MAD_METHOD_DELETE |
0x15 | 21 |
rdma.IBA.MAD_METHOD_RESPONSE |
0x80 | 128 = (1 << 7) |
rdma.IBA.MAD_BASE_VERSION |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_NOTICE_FATAL |
0x0 | 0 |
rdma.IBA.MAD_NOTICE_URGENT |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_NOTICE_SECURITY |
0x2 | 2 = (1 << 1) |
rdma.IBA.MAD_NOTICE_SM |
0x3 | 3 |
rdma.IBA.MAD_NOTICE_INFO |
0x4 | 4 = (1 << 2) |
4.6.16. MAD Response Status Constants¶
rdma.IBA.MAD_STATUS_BUSY |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_STATUS_REDIRECT |
0x2 | 2 = (1 << 1) |
rdma.IBA.MAD_STATUS_BAD_VERSION |
0x4 | 4 = (1 << 2) |
rdma.IBA.MAD_STATUS_UNSUP_METHOD |
0x8 | 8 = (1 << 3) |
rdma.IBA.MAD_STATUS_UNSUP_METHOD_ATTR_COMBO |
0xc | 12 |
rdma.IBA.MAD_STATUS_INVALID_ATTR_OR_MODIFIER |
0x1c | 28 |
rdma.IBA.MAD_STATUS_DIRECTED_RESPONSE |
0x8000 | 32768 = (1 << 15) |
4.6.17. SUBNET_ADMIN Class Specific Status Codes¶
rdma.IBA.MAD_STATUS_SA_NO_RESOURCE |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_STATUS_SA_REQ_INVALID |
0x2 | 2 = (1 << 1) |
rdma.IBA.MAD_STATUS_SA_NO_RECORDS |
0x3 | 3 |
rdma.IBA.MAD_STATUS_SA_TOO_MANY_RECORDS |
0x4 | 4 = (1 << 2) |
rdma.IBA.MAD_STATUS_SA_INVALID_GID |
0x5 | 5 |
rdma.IBA.MAD_STATUS_SA_INSUFFICIENT_COMPONENTS |
0x6 | 6 |
rdma.IBA.MAD_STATUS_SA_DENIED |
0x7 | 7 |
rdma.IBA.MAD_STATUS_CLASS_SHIFT |
0x8 | 8 = (1 << 3) |
rdma.IBA.MAD_STATUS_CLASS_MASK |
0x7f | 127 |
4.6.18. MAD Class Constants¶
rdma.IBA.MAD_SUBNET |
0x1 | 1 = (1 << 0) |
rdma.IBA.MAD_SUBNET_DIRECTED |
0x81 | 129 |
rdma.IBA.MAD_SUBNET_ADMIN |
0x3 | 3 |
rdma.IBA.MAD_COMMUNICATIONS |
0x7 | 7 |
rdma.IBA.MAD_PERFORMANCE |
0x4 | 4 = (1 << 2) |
rdma.IBA.MAD_DEVICE |
0x6 | 6 |
rdma.IBA.MAD_SNMP |
0x8 | 8 = (1 << 3) |
4.6.19. RMPP Constants¶
rdma.IBA.RMPP_ACTIVE |
0x1 | 1 = (1 << 0) |
rdma.IBA.RMPP_FIRST |
0x2 | 2 = (1 << 1) |
rdma.IBA.RMPP_LAST |
0x4 | 4 = (1 << 2) |
4.6.20. ClassPortInfo capabilityMask Constants¶
rdma.IBA.generatesTraps |
0x1 | 1 = (1 << 0) |
rdma.IBA.implementsNotice |
0x2 | 2 = (1 << 1) |
4.6.21. PMA ClassPortInfo capabilityMask Constants¶
rdma.IBA.allPortSelect |
0x100 | 256 = (1 << 8) |
rdma.IBA.portCountersXmitWaitSupported |
0x1000 | 4096 = (1 << 12) |
4.6.22. PortInfo capabilityMask Constants¶
rdma.IBA.isSM |
0x2 | 2 = (1 << 1) |
rdma.IBA.isNoticeSupported |
0x4 | 4 = (1 << 2) |
rdma.IBA.isTrapSupported |
0x8 | 8 = (1 << 3) |
rdma.IBA.isAutomaticMigrationSupported |
0x20 | 32 = (1 << 5) |
rdma.IBA.isSLMappingSupported |
0x40 | 64 = (1 << 6) |
rdma.IBA.isMKeyNVRAM |
0x80 | 128 = (1 << 7) |
rdma.IBA.isPKeyNVRAM |
0x100 | 256 = (1 << 8) |
rdma.IBA.isLEDInfoSupported |
0x200 | 512 = (1 << 9) |
rdma.IBA.isSMdisabled |
0x400 | 1024 = (1 << 10) |
rdma.IBA.isSystemImageGUIDSupported |
0x800 | 2048 = (1 << 11) |
rdma.IBA.isPKeySwitchExternalPortTrapSupported |
0x1000 | 4096 = (1 << 12) |
rdma.IBA.isExtendedSpeedsSupported |
0x4000 | 16384 = (1 << 14) |
rdma.IBA.isCommunicationManagementSupported |
0x10000 | 65536 = (1 << 16) |
rdma.IBA.isSNMPTunnelingSupported |
0x20000 | 131072 = (1 << 17) |
rdma.IBA.isReinitSupported |
0x40000 | 262144 = (1 << 18) |
rdma.IBA.isDeviceManagementSupported |
0x80000 | 524288 = (1 << 19) |
rdma.IBA.isVendorClassSupported |
0x100000 | 1048576 = (1 << 20) |
rdma.IBA.isDRNoticeSupported |
0x200000 | 2097152 = (1 << 21) |
rdma.IBA.isCapabilityMaskNoticeSupported |
0x400000 | 4194304 = (1 << 22) |
rdma.IBA.isBootManagementSupported |
0x800000 | 8388608 = (1 << 23) |
rdma.IBA.isLinkRoundTripLatencySupported |
0x1000000 | 16777216 = (1 << 24) |
rdma.IBA.isClientReregistrationSupported |
0x2000000 | 33554432 = (1 << 25) |
rdma.IBA.isOtherLocalChangesNoticeSupported |
0x4000000 | 67108864 = (1 << 26) |
rdma.IBA.isLinkSpeedWidthPairsTableSupported |
0x8000000 | 134217728 = (1 << 27) |
4.7. rmda.IBA
Binary Structures¶
4.7.1. Communication Management (12)¶
-
class
rdma.IBA.
CMAPR
¶ Alternate Path Response (section 12.8.2)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x1a
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('additionalInfoLength',8,1), ('APstatus',8,1), ('reserved_80',16,1), ('additionalInfo',576,1), ('privateData',1184,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
additionalInfoLength
8:9 (8) int
APstatus
9:10 (8) int
reserved_80
10:12 (16) int
additionalInfo
12:84 (576) bytearray
(72)privateData
84:232 (1184) bytearray
(148)-
-
class
rdma.IBA.
CMDREP
¶ Reply To Request For Communication Release (section 12.6.11)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x16
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('privateData',1792,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
privateData
8:232 (1792) bytearray
(224)-
-
class
rdma.IBA.
CMDREQ
¶ Request For Communication Release (Disconnection Request) (section 12.6.10)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x15
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('remoteQPN',24,1), ('reserved_88',8,1), ('privateData',1760,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
remoteQPN
8:11 (24) int
reserved_88
11:12 (8) int
privateData
12:232 (1760) bytearray
(220)-
-
class
rdma.IBA.
CMLAP
¶ Load Alternate Path (section 12.8.1)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x19
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('QKey',32,1), ('RQPN',24,1), ('RCMTimeout',5,1), ('reserved_125',3,1), ('reserved_128',32,1), ('altSLID',16,1), ('altDLID',16,1), ('altSGID',128,1), ('altDGID',128,1), ('altFlowLabel',20,1), ('reserved_468',4,1), ('altTClass',8,1), ('altHopLimit',8,1), ('reserved_488',2,1), ('altIPD',6,1), ('altSL',4,1), ('altSubnetLocal',1,1), ('reserved_501',3,1), ('altLocalACKTimeout',5,1), ('reserved_509',3,1), ('privateData',1344,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
QKey
8:12 (32) int
RQPN
12:15 (24) int
RCMTimeout
15:15[5] (5) int
reserved_125
15[5]:16 (3) int
reserved_128
16:20 (32) int
altSLID
20:22 (16) int
altDLID
22:24 (16) int
altSGID
24:40 (128) GID
altDGID
40:56 (128) GID
altFlowLabel
56:58[4] (20) int
reserved_468
58[4]:59 (4) int
altTClass
59:60 (8) int
altHopLimit
60:61 (8) int
reserved_488
61:61[2] (2) int
altIPD
61[2]:62 (6) int
altSL
62:62[4] (4) int
altSubnetLocal
62[4]:62[5] (1) int
reserved_501
62[5]:63 (3) int
altLocalACKTimeout
63:63[5] (5) int
reserved_509
63[5]:64 (3) int
privateData
64:232 (1344) bytearray
(168)-
-
class
rdma.IBA.
CMMRA
¶ Message Receipt Acknowledgement (section 12.6.6)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('messageMRAed',2,1), ('reserved_66',6,1), ('serviceTimeout',5,1), ('reserved_77',3,1), ('reserved_80',16,1), ('privateData',1760,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
messageMRAed
8:8[2] (2) int
reserved_66
8[2]:9 (6) int
serviceTimeout
9:9[5] (5) int
reserved_77
9[5]:10 (3) int
reserved_80
10:12 (16) int
privateData
12:232 (1760) bytearray
(220)-
-
class
rdma.IBA.
CMPath
¶ Path Information (section 12.6)
-
MAD_LENGTH = 44
-
MEMBERS = [('SLID',16,1), ('DLID',16,1), ('SGID',128,1), ('DGID',128,1), ('flowLabel',20,1), ('reserved_308',4,1), ('reserved_312',2,1), ('PD',6,1), ('TClass',8,1), ('hopLimit',8,1), ('SL',4,1), ('subnetLocal',1,1), ('reserved_341',3,1), ('localACKTimeout',5,1), ('reserved_349',3,1)]
Member Position Type SLID
0:2 (16) int
DLID
2:4 (16) int
SGID
4:20 (128) GID
DGID
20:36 (128) GID
flowLabel
36:38[4] (20) int
reserved_308
38[4]:39 (4) int
reserved_312
39:39[2] (2) int
PD
39[2]:40 (6) int
TClass
40:41 (8) int
hopLimit
41:42 (8) int
SL
42:42[4] (4) int
subnetLocal
42[4]:42[5] (1) int
reserved_341
42[5]:43 (3) int
localACKTimeout
43:43[5] (5) int
reserved_349
43[5]:44 (3) int
-
-
class
rdma.IBA.
CMREJ
¶ Reject (section 12.6.7)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x12
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('messageRejected',2,1), ('reserved_66',6,1), ('rejectInfoLength',7,1), ('reserved_79',1,1), ('reason',16,1), ('ARI',576,1), ('privateData',1184,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
messageRejected
8:8[2] (2) int
reserved_66
8[2]:9 (6) int
rejectInfoLength
9:9[7] (7) int
reserved_79
9[7]:10 (1) int
reason
10:12 (16) int
ARI
12:84 (576) bytearray
(72)privateData
84:232 (1184) bytearray
(148)-
-
class
rdma.IBA.
CMREP
¶ Reply To Request For Communication (section 12.6.8)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x13
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('localQKey',32,1), ('localQPN',24,1), ('reserved_120',8,1), ('localEEContext',24,1), ('reserved_152',8,1), ('startingPSN',24,1), ('reserved_184',8,1), ('responderResources',8,1), ('initiatorDepth',8,1), ('targetACKDelay',5,1), ('failoverAccepted',2,1), ('flowControl',1,1), ('RNRRetryCount',3,1), ('reserved_219',5,1), ('LGUID',64,1), ('privateData',1568,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
localQKey
8:12 (32) int
localQPN
12:15 (24) int
reserved_120
15:16 (8) int
localEEContext
16:19 (24) int
reserved_152
19:20 (8) int
startingPSN
20:23 (24) int
reserved_184
23:24 (8) int
responderResources
24:25 (8) int
initiatorDepth
25:26 (8) int
targetACKDelay
26:26[5] (5) int
failoverAccepted
26[5]:26[7] (2) int
flowControl
26[7]:27 (1) int
RNRRetryCount
27:27[3] (3) int
reserved_219
27[3]:28 (5) int
LGUID
28:36 (64) GUID
privateData
36:232 (1568) bytearray
(196)-
-
class
rdma.IBA.
CMREQ
¶ Request for Communication (section 12.6.5)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x10
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('reserved_32',32,1), ('serviceID',64,1), ('LGUID',64,1), ('localCMQKey',32,1), ('localQKey',32,1), ('localQPN',24,1), ('responderResources',8,1), ('localEECN',24,1), ('initiatorDepth',8,1), ('remoteEECN',24,1), ('remoteResponseTimeout',5,1), ('transportService',2,1), ('flowControl',1,1), ('startingPSN',24,1), ('localResponseTimeout',5,1), ('retryCount',3,1), ('PKey',16,1), ('pathPacketMTU',4,1), ('RDCExists',1,1), ('RNRRetryCount',3,1), ('maxCMRetries',4,1), ('reserved_412',4,1), ('primaryPath',352,1), ('alternatePath',352,1), ('privateData',736,1)]
Member Position Type LCID
0:4 (32) int
reserved_32
4:8 (32) int
serviceID
8:16 (64) int
LGUID
16:24 (64) GUID
localCMQKey
24:28 (32) int
localQKey
28:32 (32) int
localQPN
32:35 (24) int
responderResources
35:36 (8) int
localEECN
36:39 (24) int
initiatorDepth
39:40 (8) int
remoteEECN
40:43 (24) int
remoteResponseTimeout
43:43[5] (5) int
transportService
43[5]:43[7] (2) int
flowControl
43[7]:44 (1) int
startingPSN
44:47 (24) int
localResponseTimeout
47:47[5] (5) int
retryCount
47[5]:48 (3) int
PKey
48:50 (16) int
pathPacketMTU
50:50[4] (4) int
RDCExists
50[4]:50[5] (1) int
RNRRetryCount
50[5]:51 (3) int
maxCMRetries
51:51[4] (4) int
reserved_412
51[4]:52 (4) int
primaryPath
52:96 (352) CMPath
alternatePath
96:140 (352) CMPath
privateData
140:232 (736) bytearray
(92)-
-
class
rdma.IBA.
CMRTU
¶ Ready To Use (section 12.6.9)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x14
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('LCID',32,1), ('RCID',32,1), ('privateData',1792,1)]
Member Position Type LCID
0:4 (32) int
RCID
4:8 (32) int
privateData
8:232 (1792) bytearray
(224)-
-
class
rdma.IBA.
CMSIDR_REP
¶ Service ID Resolution Response (section 12.11.2)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x18
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('requestID',32,1), ('QPN',24,1), ('status',8,1), ('serviceID',64,1), ('QKey',32,1), ('classPortinfo',576,1), ('privateData',1120,1)]
Member Position Type requestID
0:4 (32) int
QPN
4:7 (24) int
status
7:8 (8) int
serviceID
8:16 (64) int
QKey
16:20 (32) int
classPortinfo
20:92 (576) MADClassPortInfo
privateData
92:232 (1120) bytearray
(140)-
-
class
rdma.IBA.
CMSIDR_REQ
¶ Service ID Resolution Request (section 12.11.1)
-
MAD_LENGTH = 232
-
MAD_ATTRIBUTE_ID = 0x17
-
MAD_COMMMGTSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('requestID',32,1), ('reserved_32',32,1), ('serviceID',64,1), ('privateData',1728,1)]
Member Position Type requestID
0:4 (32) int
reserved_32
4:8 (32) int
serviceID
8:16 (64) int
privateData
16:232 (1728) bytearray
(216)-
4.7.2. Generic MAD (13.4)¶
-
class
rdma.IBA.
MADClassPortInfo
¶ Class Port Info (section 13.4.8.1)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x1
-
MAD_BMGET = 0x1 # MAD_METHOD_GET
-
MAD_BMSET = 0x2 # MAD_METHOD_SET
-
MAD_COMMMGTGET = 0x1 # MAD_METHOD_GET
-
MAD_COMMMGTSET = 0x2 # MAD_METHOD_SET
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MAD_DEVMGTSET = 0x2 # MAD_METHOD_SET
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_SNMPGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
COMPONENT_MASK = {'baseVersion':0, 'classVersion':1, 'capabilityMask':2, 'capabilityMask2':3, 'respTimeValue':4, 'redirectGID':5, 'redirectTC':6, 'redirectSL':7, 'redirectFL':8, 'redirectLID':9, 'redirectPKey':10, 'reserved_256':11, 'redirectQP':12, 'redirectQKey':13, 'trapGID':14, 'trapTC':15, 'trapSL':16, 'trapFL':17, 'trapLID':18, 'trapPKey':19, 'trapHL':20, 'trapQP':21, 'trapQKey':22}
-
MEMBERS = [('baseVersion',8,1), ('classVersion',8,1), ('capabilityMask',16,1), ('capabilityMask2',27,1), ('respTimeValue',5,1), ('redirectGID',128,1), ('redirectTC',8,1), ('redirectSL',4,1), ('redirectFL',20,1), ('redirectLID',16,1), ('redirectPKey',16,1), ('reserved_256',8,1), ('redirectQP',24,1), ('redirectQKey',32,1), ('trapGID',128,1), ('trapTC',8,1), ('trapSL',4,1), ('trapFL',20,1), ('trapLID',16,1), ('trapPKey',16,1), ('trapHL',8,1), ('trapQP',24,1), ('trapQKey',32,1)]
Member Position Type baseVersion
0:1 (8) int
classVersion
1:2 (8) int
capabilityMask
2:4 (16) int
capabilityMask2
4:7[3] (27) int
respTimeValue
7[3]:8 (5) int
redirectGID
8:24 (128) GID
redirectTC
24:25 (8) int
redirectSL
25:25[4] (4) int
redirectFL
25[4]:28 (20) int
redirectLID
28:30 (16) int
redirectPKey
30:32 (16) int
reserved_256
32:33 (8) int
redirectQP
33:36 (24) int
redirectQKey
36:40 (32) int
trapGID
40:56 (128) GID
trapTC
56:57 (8) int
trapSL
57:57[4] (4) int
trapFL
57[4]:60 (20) int
trapLID
60:62 (16) int
trapPKey
62:64 (16) int
trapHL
64:65 (8) int
trapQP
65:68 (24) int
trapQKey
68:72 (32) int
-
-
class
rdma.IBA.
MADHeader
¶ MAD Base Header (section 13.4.3)
-
MAD_LENGTH = 24
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
-
-
class
rdma.IBA.
MADHeaderDirected
¶ MAD Base Header Directed (section 13.4.3)
-
MAD_LENGTH = 24
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('D',1,1), ('status',15,1), ('hopPointer',8,1), ('hopCount',8,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
D
4:4[1] (1) int
status
4[1]:6 (15) int
hopPointer
6:7 (8) int
hopCount
7:8 (8) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
-
-
class
rdma.IBA.
MADInformInfo
¶ InformInfo (section 13.4.8.3)
-
MAD_LENGTH = 36
-
MAD_ATTRIBUTE_ID = 0x3
-
MAD_SUBNADMSET = 0x2 # MAD_METHOD_SET
-
COMPONENT_MASK = {'GID':0, 'LIDRangeBegin':1, 'LIDRangeEnd':2, 'reserved_160':3, 'isGeneric':4, 'subscribe':5, 'type':6, 'trapNumber':7, 'QPN':8, 'reserved_248':9, 'respTimeValue':10, 'reserved_256':11, 'producerType':12}
-
MEMBERS = [('GID',128,1), ('LIDRangeBegin',16,1), ('LIDRangeEnd',16,1), ('reserved_160',16,1), ('isGeneric',8,1), ('subscribe',8,1), ('type',16,1), ('trapNumber',16,1), ('QPN',24,1), ('reserved_248',3,1), ('respTimeValue',5,1), ('reserved_256',8,1), ('producerType',24,1)]
Member Position Type GID
0:16 (128) GID
LIDRangeBegin
16:18 (16) int
LIDRangeEnd
18:20 (16) int
reserved_160
20:22 (16) int
isGeneric
22:23 (8) int
subscribe
23:24 (8) int
type
24:26 (16) int
trapNumber
26:28 (16) int
QPN
28:31 (24) int
reserved_248
31:31[3] (3) int
respTimeValue
31[3]:32 (5) int
reserved_256
32:33 (8) int
producerType
33:36 (24) int
-
-
class
rdma.IBA.
SMPNoticeTrap
¶ Notice (section 13.4.8.2)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x2
-
MAD_SUBNTRAP = 0x5 # MAD_METHOD_TRAP
-
MAD_SUBNTRAPREPRESS = 0x7 # MAD_METHOD_TRAP_REPRESS
-
MEMBERS = [('isGeneric',1,1), ('noticeType',7,1), ('nodeType',24,1), ('trapNumber',16,1), ('issuerLID',16,1), ('noticeToggle',1,1), ('noticeCount',15,1), ('dataDetails',16,1), ('dataDetails2',16,26)]
Member Position Type isGeneric
0:0[1] (1) int
noticeType
0[1]:1 (7) int
nodeType
1:4 (24) int
trapNumber
4:6 (16) int
issuerLID
6:8 (16) int
noticeToggle
8:8[1] (1) int
noticeCount
8[1]:10 (15) int
dataDetails
10:12 (16) int
dataDetails2
12:64 (16) [ int
]*26-
4.7.3. RMPP (13.6)¶
-
class
rdma.IBA.
RMPPAbort
¶ RMPP Data Packet (section 13.6.2.3)
-
MAD_LENGTH = 256
-
MEMBERS = [('RMPPHeader',224,1), ('reserved_224',32,1), ('reserved_256',32,1), ('errorData',1760,1)]
Member Position Type RMPPHeader
0:28 (224) RMPPShortHeader
reserved_224
28:32 (32) int
reserved_256
32:36 (32) int
errorData
36:256 (1760) bytearray
(220)-
-
class
rdma.IBA.
RMPPAck
¶ RMPP Data Packet (section 13.6.2.3)
-
MAD_LENGTH = 256
-
MEMBERS = [('RMPPHeader',224,1), ('segmentNumber',32,1), ('newWindowLast',32,1), ('reserved_288',1760,1)]
Member Position Type RMPPHeader
0:28 (224) RMPPShortHeader
segmentNumber
28:32 (32) int
newWindowLast
32:36 (32) int
reserved_288
36:256 (1760) bytearray
(220)-
-
class
rdma.IBA.
RMPPData
¶ RMPP Data Packet (section 13.6.2.3)
-
MAD_LENGTH = 256
-
MEMBERS = [('RMPPHeader',224,1), ('segmentNumber',32,1), ('payLoadLength',32,1), ('data',1760,1)]
Member Position Type RMPPHeader
0:28 (224) RMPPShortHeader
segmentNumber
28:32 (32) int
payLoadLength
32:36 (32) int
data
36:256 (1760) bytearray
(220)-
-
class
rdma.IBA.
RMPPHeader
¶ RMPP Header Fields (section 13.6.2.1)
-
MAD_LENGTH = 36
-
MEMBERS = [('MADHeader',192,1), ('RMPPVersion',8,1), ('RMPPType',8,1), ('RRespTime',5,1), ('RMPPFlags',3,1), ('RMPPStatus',8,1), ('data1',32,1), ('data2',32,1)]
Member Position Type MADHeader
0:24 (192) MADHeader
RMPPVersion
24:25 (8) int
RMPPType
25:26 (8) int
RRespTime
26:26[5] (5) int
RMPPFlags
26[5]:27 (3) int
RMPPStatus
27:28 (8) int
data1
28:32 (32) int
data2
32:36 (32) int
-
-
class
rdma.IBA.
RMPPShortHeader
¶ RMPP Header Fields (section 13.6.2.1)
-
MAD_LENGTH = 28
-
MEMBERS = [('MADHeader',192,1), ('RMPPVersion',8,1), ('RMPPType',8,1), ('RRespTime',5,1), ('RMPPFlags',3,1), ('RMPPStatus',8,1)]
Member Position Type MADHeader
0:24 (192) MADHeader
RMPPVersion
24:25 (8) int
RMPPType
25:26 (8) int
RRespTime
26:26[5] (5) int
RMPPFlags
26[5]:27 (3) int
RMPPStatus
27:28 (8) int
-
-
class
rdma.IBA.
RMPPStop
¶ RMPP Data Packet (section 13.6.2.3)
-
MAD_LENGTH = 256
-
MEMBERS = [('RMPPHeader',224,1), ('reserved_224',32,1), ('reserved_256',32,1), ('errorData',1760,1)]
Member Position Type RMPPHeader
0:28 (224) RMPPShortHeader
reserved_224
28:32 (32) int
reserved_256
32:36 (32) int
errorData
36:256 (1760) bytearray
(220)-
4.7.4. Subnet Management (14)¶
-
class
rdma.IBA.
SMPFormat
¶ An aggregation of: MADHeader
SMP Format - LID Routed (section 14.2.1.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x1
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('MKey',64,1), ('reserved_256',256,1), ('data',512,1), ('reserved_1024',1024,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
MKey
24:32 (64) int
reserved_256
32:64 (256) bytearray
(32)data
64:128 (512) bytearray
(64)reserved_1024
128:256 (1024) bytearray
(128)-
-
class
rdma.IBA.
SMPFormatDirected
¶ An aggregation of: MADHeaderDirected
SMP Format - Direct Routed (section 14.2.1.2)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x81
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('D',1,1), ('status',15,1), ('hopPointer',8,1), ('hopCount',8,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('MKey',64,1), ('drSLID',16,1), ('drDLID',16,1), ('reserved_288',224,1), ('data',512,1), ('initialPath',8,64), ('returnPath',8,64)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
D
4:4[1] (1) int
status
4[1]:6 (15) int
hopPointer
6:7 (8) int
hopCount
7:8 (8) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
MKey
24:32 (64) int
drSLID
32:34 (16) int
drDLID
34:36 (16) int
reserved_288
36:64 (224) bytearray
(28)data
64:128 (512) bytearray
(64)initialPath
128:192 (8) [ bytearray
(64)]*64returnPath
192:256 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
SMPGUIDInfo
¶ Assigned GUIDs (section 14.2.5.5)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x14
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('GUIDBlock',64,8)]
Member Position Type GUIDBlock
0:64 (64) [ GUID
]*8-
-
class
rdma.IBA.
SMPLIDPortBlock
¶ LID/Port Block Element (section 14.2.5.11)
-
MAD_LENGTH = 4
-
MEMBERS = [('LID',16,1), ('valid',1,1), ('LMC',3,1), ('reserved_20',4,1), ('port',8,1)]
Member Position Type LID
0:2 (16) int
valid
2:2[1] (1) int
LMC
2[1]:2[4] (3) int
reserved_20
2[4]:3 (4) int
port
3:4 (8) int
-
-
class
rdma.IBA.
SMPLedInfo
¶ Turn on/off LED (section 14.2.5.15)
-
MAD_LENGTH = 4
-
MAD_ATTRIBUTE_ID = 0x31
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('ledMask',1,1), ('reserved_1',31,1)]
Member Position Type ledMask
0:0[1] (1) int
reserved_1
0[1]:4 (31) int
-
-
class
rdma.IBA.
SMPLinearForwardingTable
¶ Linear Forwarding Table Information (section 14.2.5.10)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x19
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('portBlock',8,64)]
Member Position Type portBlock
0:64 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
SMPMulticastForwardingTable
¶ Multicast Forwarding Table Information (section 14.2.5.12)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x1b
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('portMaskBlock',16,32)]
Member Position Type portMaskBlock
0:64 (16) [ int
]*32-
-
class
rdma.IBA.
SMPNodeDescription
¶ Node Description String (section 14.2.5.2)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x10
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('nodeString',8,64)]
Member Position Type nodeString
0:64 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
SMPNodeInfo
¶ Generic Node Data (section 14.2.5.3)
-
MAD_LENGTH = 40
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('baseVersion',8,1), ('classVersion',8,1), ('nodeType',8,1), ('numPorts',8,1), ('systemImageGUID',64,1), ('nodeGUID',64,1), ('portGUID',64,1), ('partitionCap',16,1), ('deviceID',16,1), ('revision',32,1), ('localPortNum',8,1), ('vendorID',24,1)]
Member Position Type baseVersion
0:1 (8) int
classVersion
1:2 (8) int
nodeType
2:3 (8) int
numPorts
3:4 (8) int
systemImageGUID
4:12 (64) GUID
nodeGUID
12:20 (64) GUID
portGUID
20:28 (64) GUID
partitionCap
28:30 (16) int
deviceID
30:32 (16) int
revision
32:36 (32) int
localPortNum
36:37 (8) int
vendorID
37:40 (24) int
-
-
class
rdma.IBA.
SMPPKeyTable
¶ Partition Table (section 14.2.5.7)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x16
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('PKeyBlock',16,32)]
Member Position Type PKeyBlock
0:64 (16) [ int
]*32-
-
class
rdma.IBA.
SMPPortInfo
¶ Port Information (section 14.2.5.6)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x15
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('MKey',64,1), ('GIDPrefix',64,1), ('LID',16,1), ('masterSMLID',16,1), ('capabilityMask',32,1), ('diagCode',16,1), ('MKeyLeasePeriod',16,1), ('localPortNum',8,1), ('linkWidthEnabled',8,1), ('linkWidthSupported',8,1), ('linkWidthActive',8,1), ('linkSpeedSupported',4,1), ('portState',4,1), ('portPhysicalState',4,1), ('linkDownDefaultState',4,1), ('MKeyProtectBits',2,1), ('reserved_274',3,1), ('LMC',3,1), ('linkSpeedActive',4,1), ('linkSpeedEnabled',4,1), ('neighborMTU',4,1), ('masterSMSL',4,1), ('VLCap',4,1), ('initType',4,1), ('VLHighLimit',8,1), ('VLArbitrationHighCap',8,1), ('VLArbitrationLowCap',8,1), ('initTypeReply',4,1), ('MTUCap',4,1), ('VLStallCount',3,1), ('HOQLife',5,1), ('operationalVLs',4,1), ('partitionEnforcementInbound',1,1), ('partitionEnforcementOutbound',1,1), ('filterRawInbound',1,1), ('filterRawOutbound',1,1), ('MKeyViolations',16,1), ('PKeyViolations',16,1), ('QKeyViolations',16,1), ('GUIDCap',8,1), ('clientReregister',1,1), ('multicastPKeyTrapSuppressionEnabled',2,1), ('subnetTimeOut',5,1), ('reserved_416',3,1), ('respTimeValue',5,1), ('localPhyErrors',4,1), ('overrunErrors',4,1), ('maxCreditHint',16,1), ('reserved_448',8,1), ('linkRoundTripLatency',24,1), ('capabilityMask2',16,1), ('linkSpeedExtActive',4,1), ('linkSpeedExtSupported',4,1), ('reserved_504',3,1), ('linkSpeedExtEnabled',5,1)]
Member Position Type MKey
0:8 (64) int
GIDPrefix
8:16 (64) int
LID
16:18 (16) int
masterSMLID
18:20 (16) int
capabilityMask
20:24 (32) int
diagCode
24:26 (16) int
MKeyLeasePeriod
26:28 (16) int
localPortNum
28:29 (8) int
linkWidthEnabled
29:30 (8) int
linkWidthSupported
30:31 (8) int
linkWidthActive
31:32 (8) int
linkSpeedSupported
32:32[4] (4) int
portState
32[4]:33 (4) int
portPhysicalState
33:33[4] (4) int
linkDownDefaultState
33[4]:34 (4) int
MKeyProtectBits
34:34[2] (2) int
reserved_274
34[2]:34[5] (3) int
LMC
34[5]:35 (3) int
linkSpeedActive
35:35[4] (4) int
linkSpeedEnabled
35[4]:36 (4) int
neighborMTU
36:36[4] (4) int
masterSMSL
36[4]:37 (4) int
VLCap
37:37[4] (4) int
initType
37[4]:38 (4) int
VLHighLimit
38:39 (8) int
VLArbitrationHighCap
39:40 (8) int
VLArbitrationLowCap
40:41 (8) int
initTypeReply
41:41[4] (4) int
MTUCap
41[4]:42 (4) int
VLStallCount
42:42[3] (3) int
HOQLife
42[3]:43 (5) int
operationalVLs
43:43[4] (4) int
partitionEnforcementInbound
43[4]:43[5] (1) int
partitionEnforcementOutbound
43[5]:43[6] (1) int
filterRawInbound
43[6]:43[7] (1) int
filterRawOutbound
43[7]:44 (1) int
MKeyViolations
44:46 (16) int
PKeyViolations
46:48 (16) int
QKeyViolations
48:50 (16) int
GUIDCap
50:51 (8) int
clientReregister
51:51[1] (1) int
multicastPKeyTrapSuppressionEnabled
51[1]:51[3] (2) int
subnetTimeOut
51[3]:52 (5) int
reserved_416
52:52[3] (3) int
respTimeValue
52[3]:53 (5) int
localPhyErrors
53:53[4] (4) int
overrunErrors
53[4]:54 (4) int
maxCreditHint
54:56 (16) int
reserved_448
56:57 (8) int
linkRoundTripLatency
57:60 (24) int
capabilityMask2
60:62 (16) int
linkSpeedExtActive
62:62[4] (4) int
linkSpeedExtSupported
62[4]:63 (4) int
reserved_504
63:63[3] (3) int
linkSpeedExtEnabled
63[3]:64 (5) int
-
-
class
rdma.IBA.
SMPRandomForwardingTable
¶ Random Forwarding Table Information (section 14.2.5.11)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x1a
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('LIDPortBlock',32,16)]
Member Position Type LIDPortBlock
0:64 (32) [ SMPLIDPortBlock
]*16-
-
class
rdma.IBA.
SMPSLToVLMappingTable
¶ Service Level to Virtual Lane mapping Information (section 14.2.5.8)
-
MAD_LENGTH = 8
-
MAD_ATTRIBUTE_ID = 0x17
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('SLtoVL',4,16)]
Member Position Type SLtoVL
0:8 (4) [ int
]*16-
-
class
rdma.IBA.
SMPSMInfo
¶ Subnet Management Information (section 14.2.5.13)
-
MAD_LENGTH = 24
-
MAD_ATTRIBUTE_ID = 0x20
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('GUID',64,1), ('SMKey',64,1), ('actCount',32,1), ('priority',4,1), ('SMState',4,1), ('reserved_168',24,1)]
Member Position Type GUID
0:8 (64) GUID
SMKey
8:16 (64) int
actCount
16:20 (32) int
priority
20:20[4] (4) int
SMState
20[4]:21 (4) int
reserved_168
21:24 (24) int
-
-
class
rdma.IBA.
SMPSwitchInfo
¶ Switch Information (section 14.2.5.4)
-
MAD_LENGTH = 20
-
MAD_ATTRIBUTE_ID = 0x12
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('linearFDBCap',16,1), ('randomFDBCap',16,1), ('multicastFDBCap',16,1), ('linearFDBTop',16,1), ('defaultPort',8,1), ('defaultMulticastPrimaryPort',8,1), ('defaultMulticastNotPrimaryPort',8,1), ('lifeTimeValue',5,1), ('portStateChange',1,1), ('optimizedSLtoVLMappingProgramming',2,1), ('LIDsPerPort',16,1), ('partitionEnforcementCap',16,1), ('inboundEnforcementCap',1,1), ('outboundEnforcementCap',1,1), ('filterRawInboundCap',1,1), ('filterRawOutboundCap',1,1), ('enhancedPort0',1,1), ('reserved_133',3,1), ('reserved_136',8,1), ('multicastFDBTop',16,1)]
Member Position Type linearFDBCap
0:2 (16) int
randomFDBCap
2:4 (16) int
multicastFDBCap
4:6 (16) int
linearFDBTop
6:8 (16) int
defaultPort
8:9 (8) int
defaultMulticastPrimaryPort
9:10 (8) int
defaultMulticastNotPrimaryPort
10:11 (8) int
lifeTimeValue
11:11[5] (5) int
portStateChange
11[5]:11[6] (1) int
optimizedSLtoVLMappingProgramming
11[6]:12 (2) int
LIDsPerPort
12:14 (16) int
partitionEnforcementCap
14:16 (16) int
inboundEnforcementCap
16:16[1] (1) int
outboundEnforcementCap
16[1]:16[2] (1) int
filterRawInboundCap
16[2]:16[3] (1) int
filterRawOutboundCap
16[3]:16[4] (1) int
enhancedPort0
16[4]:16[5] (1) int
reserved_133
16[5]:17 (3) int
reserved_136
17:18 (8) int
multicastFDBTop
18:20 (16) int
-
-
class
rdma.IBA.
SMPVLArbitrationTable
¶ List of Weights (section 14.2.5.9)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x18
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('VLWeightBlock',16,32)]
Member Position Type VLWeightBlock
0:64 (16) [ int
]*32-
-
class
rdma.IBA.
SMPVendorDiag
¶ Vendor Specific Diagnostic (section 14.2.5.14)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x30
-
MAD_SUBNGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('nextIndex',16,1), ('reserved_16',16,1), ('diagData',480,1)]
Member Position Type nextIndex
0:2 (16) int
reserved_16
2:4 (16) int
diagData
4:64 (480) bytearray
(60)-
4.7.5. Subnet Administration (15)¶
-
class
rdma.IBA.
SAFormat
¶ An aggregation of: SAHeader
SA Format (section 15.2.1.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x3
-
MAD_CLASS_VERSION = 0x2
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('RMPPVersion',8,1), ('RMPPType',8,1), ('RRespTime',5,1), ('RMPPFlags',3,1), ('RMPPStatus',8,1), ('data1',32,1), ('data2',32,1), ('SMKey',64,1), ('attributeOffset',16,1), ('reserved_368',16,1), ('componentMask',64,1), ('data',1600,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
RMPPVersion
24:25 (8) int
RMPPType
25:26 (8) int
RRespTime
26:26[5] (5) int
RMPPFlags
26[5]:27 (3) int
RMPPStatus
27:28 (8) int
data1
28:32 (32) int
data2
32:36 (32) int
SMKey
36:44 (64) int
attributeOffset
44:46 (16) int
reserved_368
46:48 (16) int
componentMask
48:56 (64) int
data
56:256 (1600) bytearray
(200)-
-
class
rdma.IBA.
SAGUIDInfoRecord
¶ Container for port GUIDInfo (section 15.2.5.18)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x30
-
MAD_SUBNADMDELETE = 0x15 # MAD_METHOD_DELETE
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
MAD_SUBNADMSET = 0x2 # MAD_METHOD_SET
-
COMPONENT_MASK = {'LID':0, 'blockNum':1, 'reserved_24':2, 'reserved_32':3, 'GUIDInfo.GUIDBlock':4}
-
MEMBERS = [('LID',16,1), ('blockNum',8,1), ('reserved_24',8,1), ('reserved_32',32,1), ('GUIDInfo',512,1)]
Member Position Type LID
0:2 (16) int
blockNum
2:3 (8) int
reserved_24
3:4 (8) int
reserved_32
4:8 (32) int
GUIDInfo
8:72 (512) SMPGUIDInfo
-
-
class
rdma.IBA.
SAHeader
¶ An aggregation of: MADHeader, RMPPHeader
SA Header (section 15.2.1.1)
-
MAD_LENGTH = 56
-
MAD_CLASS = 0x3
-
MAD_CLASS_VERSION = 0x2
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('RMPPVersion',8,1), ('RMPPType',8,1), ('RRespTime',5,1), ('RMPPFlags',3,1), ('RMPPStatus',8,1), ('data1',32,1), ('data2',32,1), ('SMKey',64,1), ('attributeOffset',16,1), ('reserved_368',16,1), ('componentMask',64,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
RMPPVersion
24:25 (8) int
RMPPType
25:26 (8) int
RRespTime
26:26[5] (5) int
RMPPFlags
26[5]:27 (3) int
RMPPStatus
27:28 (8) int
data1
28:32 (32) int
data2
32:36 (32) int
SMKey
36:44 (64) int
attributeOffset
44:46 (16) int
reserved_368
46:48 (16) int
componentMask
48:56 (64) int
-
-
class
rdma.IBA.
SAInformInfoRecord
¶ Container for InformInfo (section 15.2.5.12)
-
MAD_LENGTH = 80
-
MAD_ATTRIBUTE_ID = 0xf3
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'subscriberGID':0, 'enumeration':1, 'reserved_144':2, 'informInfo.GID':3, 'informInfo.LIDRangeBegin':4, 'informInfo.LIDRangeEnd':5, 'informInfo.reserved_160':6, 'informInfo.isGeneric':7, 'informInfo.subscribe':8, 'informInfo.type':9, 'informInfo.trapNumber':10, 'informInfo.QPN':11, 'informInfo.reserved_248':12, 'informInfo.respTimeValue':13, 'informInfo.reserved_256':14, 'informInfo.producerType':15, 'reserved_480':16}
-
MEMBERS = [('subscriberGID',128,1), ('enumeration',16,1), ('reserved_144',16,1), ('reserved_160',32,1), ('informInfo',288,1), ('reserved_480',160,1)]
Member Position Type subscriberGID
0:16 (128) GID
enumeration
16:18 (16) int
reserved_144
18:20 (16) int
reserved_160
20:24 (32) int
informInfo
24:60 (288) MADInformInfo
reserved_480
60:80 (160) bytearray
(20)-
-
class
rdma.IBA.
SALinearForwardingTableRecord
¶ Container for LinearForwardingTable entry (section 15.2.5.6)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x15
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'blockNum':1, 'reserved_32':2, 'linearForwardingTable.portBlock':3}
-
MEMBERS = [('LID',16,1), ('blockNum',16,1), ('reserved_32',32,1), ('linearForwardingTable',512,1)]
Member Position Type LID
0:2 (16) int
blockNum
2:4 (16) int
reserved_32
4:8 (32) int
linearForwardingTable
8:72 (512) SMPLinearForwardingTable
-
-
class
rdma.IBA.
SALinkRecord
¶ Inter-node linkage information (section 15.2.5.13)
-
MAD_LENGTH = 8
-
MAD_ATTRIBUTE_ID = 0x20
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'fromLID':0, 'fromPort':1, 'toPort':2, 'toLID':3, 'reserved_48':4}
-
MEMBERS = [('fromLID',16,1), ('fromPort',8,1), ('toPort',8,1), ('toLID',16,1), ('reserved_48',16,1)]
Member Position Type fromLID
0:2 (16) int
fromPort
2:3 (8) int
toPort
3:4 (8) int
toLID
4:6 (16) int
reserved_48
6:8 (16) int
-
-
class
rdma.IBA.
SAMCMemberRecord
¶ Multicast member attribute (section 15.2.5.17)
-
MAD_LENGTH = 52
-
MAD_ATTRIBUTE_ID = 0x38
-
MAD_SUBNADMDELETE = 0x15 # MAD_METHOD_DELETE
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
MAD_SUBNADMSET = 0x2 # MAD_METHOD_SET
-
COMPONENT_MASK = {'MGID':0, 'portGID':1, 'QKey':2, 'MLID':3, 'MTUSelector':4, 'MTU':5, 'TClass':6, 'PKey':7, 'rateSelector':8, 'rate':9, 'packetLifeTimeSelector':10, 'packetLifeTime':11, 'SL':12, 'flowLabel':13, 'hopLimit':14, 'scope':15, 'joinState':16, 'proxyJoin':17, 'reserved_393':18}
-
MEMBERS = [('MGID',128,1), ('portGID',128,1), ('QKey',32,1), ('MLID',16,1), ('MTUSelector',2,1), ('MTU',6,1), ('TClass',8,1), ('PKey',16,1), ('rateSelector',2,1), ('rate',6,1), ('packetLifeTimeSelector',2,1), ('packetLifeTime',6,1), ('SL',4,1), ('flowLabel',20,1), ('hopLimit',8,1), ('scope',4,1), ('joinState',4,1), ('proxyJoin',1,1), ('reserved_393',23,1)]
Member Position Type MGID
0:16 (128) GID
portGID
16:32 (128) GID
QKey
32:36 (32) int
MLID
36:38 (16) int
MTUSelector
38:38[2] (2) int
MTU
38[2]:39 (6) int
TClass
39:40 (8) int
PKey
40:42 (16) int
rateSelector
42:42[2] (2) int
rate
42[2]:43 (6) int
packetLifeTimeSelector
43:43[2] (2) int
packetLifeTime
43[2]:44 (6) int
SL
44:44[4] (4) int
flowLabel
44[4]:47 (20) int
hopLimit
47:48 (8) int
scope
48:48[4] (4) int
joinState
48[4]:49 (4) int
proxyJoin
49:49[1] (1) int
reserved_393
49[1]:52 (23) int
-
-
class
rdma.IBA.
SAMultiPathRecord
¶ Request for multiple paths (section 15.2.5.20)
-
MAD_LENGTH = 40
-
MAD_ATTRIBUTE_ID = 0x3a
-
MAD_SUBNADMGETMULTI = 0x14 # MAD_METHOD_GET_MULTI
-
COMPONENT_MASK = {'rawTraffic':0, 'reserved_1':1, 'flowLabel':2, 'hopLimit':3, 'TClass':4, 'reversible':5, 'numbPath':6, 'PKey':7, 'reserved_64':8, 'SL':9, 'MTUSelector':10, 'MTU':11, 'rateSelector':12, 'rate':13, 'packetLifeTimeSelector':14, 'packetLifeTime':15, 'reserved_104':16, 'independenceSelector':17, 'reserved_114':18, 'SGIDCount':19, 'DGIDCount':20, 'reserved_136':21, 'reserved_160':22, 'SDGID':23}
-
MEMBERS = [('rawTraffic',1,1), ('reserved_1',3,1), ('flowLabel',20,1), ('hopLimit',8,1), ('TClass',8,1), ('reversible',1,1), ('numbPath',7,1), ('PKey',16,1), ('reserved_64',12,1), ('SL',4,1), ('MTUSelector',2,1), ('MTU',6,1), ('rateSelector',2,1), ('rate',6,1), ('packetLifeTimeSelector',2,1), ('packetLifeTime',6,1), ('reserved_104',8,1), ('independenceSelector',2,1), ('reserved_114',6,1), ('SGIDCount',8,1), ('DGIDCount',8,1), ('reserved_136',24,1), ('reserved_160',32,1), ('SDGID',128,1)]
Member Position Type rawTraffic
0:0[1] (1) int
reserved_1
0[1]:0[4] (3) int
flowLabel
0[4]:3 (20) int
hopLimit
3:4 (8) int
TClass
4:5 (8) int
reversible
5:5[1] (1) int
numbPath
5[1]:6 (7) int
PKey
6:8 (16) int
reserved_64
8:9[4] (12) int
SL
9[4]:10 (4) int
MTUSelector
10:10[2] (2) int
MTU
10[2]:11 (6) int
rateSelector
11:11[2] (2) int
rate
11[2]:12 (6) int
packetLifeTimeSelector
12:12[2] (2) int
packetLifeTime
12[2]:13 (6) int
reserved_104
13:14 (8) int
independenceSelector
14:14[2] (2) int
reserved_114
14[2]:15 (6) int
SGIDCount
15:16 (8) int
DGIDCount
16:17 (8) int
reserved_136
17:20 (24) int
reserved_160
20:24 (32) int
SDGID
24:40 (128) GID
-
-
class
rdma.IBA.
SAMulticastForwardingTableRecord
¶ Container for MulticastForwardingTable entry (section 15.2.5.8)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x17
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'reserved_16':1, 'position':2, 'blockNum':3, 'reserved_32':4, 'multicastForwardingTable.portMaskBlock':5}
-
MEMBERS = [('LID',16,1), ('reserved_16',2,1), ('position',4,1), ('blockNum',10,1), ('reserved_32',32,1), ('multicastForwardingTable',512,1)]
Member Position Type LID
0:2 (16) int
reserved_16
2:2[2] (2) int
position
2[2]:2[6] (4) int
blockNum
2[6]:4 (10) int
reserved_32
4:8 (32) int
multicastForwardingTable
8:72 (512) SMPMulticastForwardingTable
-
-
class
rdma.IBA.
SANodeRecord
¶ Container for NodeInfo (section 15.2.5.2)
-
MAD_LENGTH = 108
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'reserved_16':1, 'nodeInfo.baseVersion':2, 'nodeInfo.classVersion':3, 'nodeInfo.nodeType':4, 'nodeInfo.numPorts':5, 'nodeInfo.systemImageGUID':6, 'nodeInfo.nodeGUID':7, 'nodeInfo.portGUID':8, 'nodeInfo.partitionCap':9, 'nodeInfo.deviceID':10, 'nodeInfo.revision':11, 'nodeInfo.localPortNum':12, 'nodeInfo.vendorID':13, 'nodeDescription.nodeString':14}
-
MEMBERS = [('LID',16,1), ('reserved_16',16,1), ('nodeInfo',320,1), ('nodeDescription',512,1)]
Member Position Type LID
0:2 (16) int
reserved_16
2:4 (16) int
nodeInfo
4:44 (320) SMPNodeInfo
nodeDescription
44:108 (512) SMPNodeDescription
-
-
class
rdma.IBA.
SAPKeyTableRecord
¶ Container for P_Key Table (section 15.2.5.11)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x33
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'blockNum':1, 'portNum':2, 'reserved_40':3, 'PKeyTable.PKeyBlock':4}
-
MEMBERS = [('LID',16,1), ('blockNum',16,1), ('portNum',8,1), ('reserved_40',24,1), ('PKeyTable',512,1)]
Member Position Type LID
0:2 (16) int
blockNum
2:4 (16) int
portNum
4:5 (8) int
reserved_40
5:8 (24) int
PKeyTable
8:72 (512) SMPPKeyTable
-
-
class
rdma.IBA.
SAPathRecord
¶ Information on paths through the subnet (section 15.2.5.16)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x35
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'serviceID':0, 'serviceID56LSB':1, 'DGID':2, 'SGID':3, 'DLID':4, 'SLID':5, 'rawTraffic':6, 'reserved_353':7, 'flowLabel':8, 'hopLimit':9, 'TClass':10, 'reversible':11, 'numbPath':12, 'PKey':13, 'QOSClass':14, 'SL':15, 'MTUSelector':16, 'MTU':17, 'rateSelector':18, 'rate':19, 'packetLifeTimeSelector':20, 'packetLifeTime':21, 'preference':22, 'reversePathPKeyMemberBit':23, 'reserved_466':24, 'reserved_480':25}
-
MEMBERS = [('serviceID',64,1), ('DGID',128,1), ('SGID',128,1), ('DLID',16,1), ('SLID',16,1), ('rawTraffic',1,1), ('reserved_353',3,1), ('flowLabel',20,1), ('hopLimit',8,1), ('TClass',8,1), ('reversible',1,1), ('numbPath',7,1), ('PKey',16,1), ('QOSClass',12,1), ('SL',4,1), ('MTUSelector',2,1), ('MTU',6,1), ('rateSelector',2,1), ('rate',6,1), ('packetLifeTimeSelector',2,1), ('packetLifeTime',6,1), ('preference',8,1), ('reversePathPKeyMemberBit',2,1), ('reserved_466',14,1), ('reserved_480',32,1)]
Member Position Type serviceID
0:8 (64) int
serviceID56LSB
8:8 (0) int
DGID
8:24 (128) GID
SGID
24:40 (128) GID
DLID
40:42 (16) int
SLID
42:44 (16) int
rawTraffic
44:44[1] (1) int
reserved_353
44[1]:44[4] (3) int
flowLabel
44[4]:47 (20) int
hopLimit
47:48 (8) int
TClass
48:49 (8) int
reversible
49:49[1] (1) int
numbPath
49[1]:50 (7) int
PKey
50:52 (16) int
QOSClass
52:53[4] (12) int
SL
53[4]:54 (4) int
MTUSelector
54:54[2] (2) int
MTU
54[2]:55 (6) int
rateSelector
55:55[2] (2) int
rate
55[2]:56 (6) int
packetLifeTimeSelector
56:56[2] (2) int
packetLifeTime
56[2]:57 (6) int
preference
57:58 (8) int
reversePathPKeyMemberBit
58:58[2] (2) int
reserved_466
58[2]:60 (14) int
reserved_480
60:64 (32) int
-
-
class
rdma.IBA.
SAPortInfoRecord
¶ Container for PortInfo (section 15.2.5.3)
-
MAD_LENGTH = 68
-
MAD_ATTRIBUTE_ID = 0x12
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'endportLID':0, 'portNum':1, 'reserved_24':2, 'portInfo.MKey':3, 'portInfo.GIDPrefix':4, 'portInfo.LID':5, 'portInfo.masterSMLID':6, 'portInfo.capabilityMask':7, 'portInfo.diagCode':8, 'portInfo.MKeyLeasePeriod':9, 'portInfo.localPortNum':10, 'portInfo.linkWidthEnabled':11, 'portInfo.linkWidthSupported':12, 'portInfo.linkWidthActive':13, 'portInfo.linkSpeedSupported':14, 'portInfo.portState':15, 'portInfo.portPhysicalState':16, 'portInfo.linkDownDefaultState':17, 'portInfo.MKeyProtectBits':18, 'portInfo.reserved_274':19, 'portInfo.LMC':20, 'portInfo.linkSpeedActive':21, 'portInfo.linkSpeedEnabled':22, 'portInfo.neighborMTU':23, 'portInfo.masterSMSL':24, 'portInfo.VLCap':25, 'portInfo.initType':26, 'portInfo.VLHighLimit':27, 'portInfo.VLArbitrationHighCap':28, 'portInfo.VLArbitrationLowCap':29, 'portInfo.initTypeReply':30, 'portInfo.MTUCap':31, 'portInfo.VLStallCount':32, 'portInfo.HOQLife':33, 'portInfo.operationalVLs':34, 'portInfo.partitionEnforcementInbound':35, 'portInfo.partitionEnforcementOutbound':36, 'portInfo.filterRawInbound':37, 'portInfo.filterRawOutbound':38, 'portInfo.MKeyViolations':39, 'portInfo.PKeyViolations':40, 'portInfo.QKeyViolations':41, 'portInfo.GUIDCap':42, 'portInfo.clientReregister':43, 'portInfo.multicastPKeyTrapSuppressionEnabled':44, 'portInfo.subnetTimeOut':45, 'portInfo.reserved_416':46, 'portInfo.respTimeValue':47, 'portInfo.localPhyErrors':48, 'portInfo.overrunErrors':49, 'portInfo.maxCreditHint':50, 'portInfo.reserved_448':51, 'portInfo.linkRoundTripLatency':52, 'portInfo.capabilityMask2':53, 'portInfo.linkSpeedExtActive':54, 'portInfo.linkSpeedExtSupported':55, 'portInfo.reserved_504':56, 'portInfo.linkSpeedExtEnabled':57}
-
MEMBERS = [('endportLID',16,1), ('portNum',8,1), ('reserved_24',8,1), ('portInfo',512,1)]
Member Position Type endportLID
0:2 (16) int
portNum
2:3 (8) int
reserved_24
3:4 (8) int
portInfo
4:68 (512) SMPPortInfo
-
-
class
rdma.IBA.
SARandomForwardingTableRecord
¶ Container for RandomForwardingTable entry (section 15.2.5.7)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x16
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'blockNum':1, 'reserved_32':2, 'randomForwardingTable.LIDPortBlock':3}
-
MEMBERS = [('LID',16,1), ('blockNum',16,1), ('reserved_32',32,1), ('randomForwardingTable',512,1)]
Member Position Type LID
0:2 (16) int
blockNum
2:4 (16) int
reserved_32
4:8 (32) int
randomForwardingTable
8:72 (512) SMPRandomForwardingTable
-
-
class
rdma.IBA.
SASLToVLMappingTableRecord
¶ Container for SLtoVLMappingTable entry (section 15.2.5.4)
-
MAD_LENGTH = 16
-
MAD_ATTRIBUTE_ID = 0x13
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'inputPortNum':1, 'outputPortNum':2, 'reserved_32':3, 'SLToVLMappingTable.SLtoVL':4}
-
MEMBERS = [('LID',16,1), ('inputPortNum',8,1), ('outputPortNum',8,1), ('reserved_32',32,1), ('SLToVLMappingTable',64,1)]
Member Position Type LID
0:2 (16) int
inputPortNum
2:3 (8) int
outputPortNum
3:4 (8) int
reserved_32
4:8 (32) int
SLToVLMappingTable
8:16 (64) SMPSLToVLMappingTable
-
-
class
rdma.IBA.
SASMInfoRecord
¶ Container for SMInfo (section 15.2.5.10)
-
MAD_LENGTH = 28
-
MAD_ATTRIBUTE_ID = 0x18
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'reserved_16':1, 'SMInfo.GUID':2, 'SMInfo.SMKey':3, 'SMInfo.actCount':4, 'SMInfo.priority':5, 'SMInfo.SMState':6, 'SMInfo.reserved_168':7}
-
MEMBERS = [('LID',16,1), ('reserved_16',16,1), ('SMInfo',192,1)]
Member Position Type LID
0:2 (16) int
reserved_16
2:4 (16) int
SMInfo
4:28 (192) SMPSMInfo
-
-
class
rdma.IBA.
SAServiceAssociationRecord
¶ ServiceRecord ServiceName/ServiceKey association (section 15.2.5.15)
-
MAD_LENGTH = 80
-
MAD_ATTRIBUTE_ID = 0x3b
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'serviceKey':0, 'serviceName':1}
-
MEMBERS = [('serviceKey',128,1), ('serviceName',8,64)]
Member Position Type serviceKey
0:16 (128) GID
serviceName
16:80 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
SAServiceRecord
¶ Information on advertised services (section 15.2.5.14)
-
MAD_LENGTH = 176
-
MAD_ATTRIBUTE_ID = 0x31
-
MAD_SUBNADMDELETE = 0x15 # MAD_METHOD_DELETE
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
MAD_SUBNADMSET = 0x2 # MAD_METHOD_SET
-
COMPONENT_MASK = {'serviceID':0, 'serviceGID':1, 'servicePKey':2, 'reserved_208':3, 'serviceLease':4, 'serviceKey':5, 'serviceName':6, 'serviceData8_0':7, 'serviceData8_1':8, 'serviceData8_2':9, 'serviceData8_3':10, 'serviceData8_4':11, 'serviceData8_5':12, 'serviceData8_6':13, 'serviceData8_7':14, 'serviceData8_8':15, 'serviceData8_9':16, 'serviceData8_10':17, 'serviceData8_11':18, 'serviceData8_12':19, 'serviceData8_13':20, 'serviceData8_14':21, 'serviceData8_15':22, 'serviceData16_0':23, 'serviceData16_1':24, 'serviceData16_2':25, 'serviceData16_3':26, 'serviceData16_4':27, 'serviceData16_5':28, 'serviceData16_6':29, 'serviceData16_7':30, 'serviceData32_0':31, 'serviceData32_1':32, 'serviceData32_2':33, 'serviceData32_3':34, 'serviceData64_0':35, 'serviceData64_1':36}
-
MEMBERS = [('serviceID',64,1), ('serviceGID',128,1), ('servicePKey',16,1), ('reserved_208',16,1), ('serviceLease',32,1), ('serviceKey',128,1), ('serviceName',8,64), ('serviceData8',8,16), ('serviceData16',16,8), ('serviceData32',32,4), ('serviceData64',64,2)]
Member Position Type serviceID
0:8 (64) int
serviceGID
8:24 (128) GID
servicePKey
24:26 (16) int
reserved_208
26:28 (16) int
serviceLease
28:32 (32) int
serviceKey
32:48 (128) GID
serviceName
48:112 (8) [ bytearray
(64)]*64serviceData8
112:128 (8) [ bytearray
(16)]*16serviceData16
128:144 (16) [ int
]*8serviceData32
144:160 (32) [ int
]*4serviceData64
160:176 (64) [ int
]*2-
-
class
rdma.IBA.
SASwitchInfoRecord
¶ Container for SwitchInfo (section 15.2.5.5)
-
MAD_LENGTH = 24
-
MAD_ATTRIBUTE_ID = 0x14
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'reserved_16':1, 'switchInfo.linearFDBCap':2, 'switchInfo.randomFDBCap':3, 'switchInfo.multicastFDBCap':4, 'switchInfo.linearFDBTop':5, 'switchInfo.defaultPort':6, 'switchInfo.defaultMulticastPrimaryPort':7, 'switchInfo.defaultMulticastNotPrimaryPort':8, 'switchInfo.lifeTimeValue':9, 'switchInfo.portStateChange':10, 'switchInfo.optimizedSLtoVLMappingProgramming':11, 'switchInfo.LIDsPerPort':12, 'switchInfo.partitionEnforcementCap':13, 'switchInfo.inboundEnforcementCap':14, 'switchInfo.outboundEnforcementCap':15, 'switchInfo.filterRawInboundCap':16, 'switchInfo.filterRawOutboundCap':17, 'switchInfo.enhancedPort0':18, 'switchInfo.reserved_133':19, 'switchInfo.reserved_136':20, 'switchInfo.multicastFDBTop':21}
-
MEMBERS = [('LID',16,1), ('reserved_16',16,1), ('switchInfo',160,1)]
Member Position Type LID
0:2 (16) int
reserved_16
2:4 (16) int
switchInfo
4:24 (160) SMPSwitchInfo
-
-
class
rdma.IBA.
SATraceRecord
¶ Path trace information (section 15.2.5.19)
-
MAD_LENGTH = 48
-
MAD_ATTRIBUTE_ID = 0x39
-
MAD_SUBNADMGETTRACETABLE = 0x13 # MAD_METHOD_GET_TRACE_TABLE
-
COMPONENT_MASK = {'GIDPrefix':0, 'IDGeneration':1, 'reserved_80':2, 'nodeType':3, 'nodeID':4, 'chassisID':5, 'entryPortID':6, 'exitPortID':7, 'entryPort':8, 'exitPort':9, 'reserved_368':10}
-
MEMBERS = [('GIDPrefix',64,1), ('IDGeneration',16,1), ('reserved_80',8,1), ('nodeType',8,1), ('nodeID',64,1), ('chassisID',64,1), ('entryPortID',64,1), ('exitPortID',64,1), ('entryPort',8,1), ('exitPort',8,1), ('reserved_368',16,1)]
Member Position Type GIDPrefix
0:8 (64) int
IDGeneration
8:10 (16) int
reserved_80
10:11 (8) int
nodeType
11:12 (8) int
nodeID
12:20 (64) int
chassisID
20:28 (64) int
entryPortID
28:36 (64) int
exitPortID
36:44 (64) int
entryPort
44:45 (8) int
exitPort
45:46 (8) int
reserved_368
46:48 (16) int
-
-
class
rdma.IBA.
SAVLArbitrationTableRecord
¶ Container for VLArbitrationTable entry (section 15.2.5.9)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x36
-
MAD_SUBNADMGET = 0x1 # MAD_METHOD_GET
-
MAD_SUBNADMGETTABLE = 0x12 # MAD_METHOD_GET_TABLE
-
COMPONENT_MASK = {'LID':0, 'outputPortNum':1, 'blockNum':2, 'reserved_32':3, 'VLArbitrationTable.VLWeightBlock':4}
-
MEMBERS = [('LID',16,1), ('outputPortNum',8,1), ('blockNum',8,1), ('reserved_32',32,1), ('VLArbitrationTable',512,1)]
Member Position Type LID
0:2 (16) int
outputPortNum
2:3 (8) int
blockNum
3:4 (8) int
reserved_32
4:8 (32) int
VLArbitrationTable
8:72 (512) SMPVLArbitrationTable
-
4.7.6. Performance Management (16.1)¶
-
class
rdma.IBA.
PMFormat
¶ An aggregation of: MADHeader
Performance Management MAD Format (section 16.1.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x4
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('reserved_192',320,1), ('data',1536,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
reserved_192
24:64 (320) bytearray
(40)data
64:256 (1536) bytearray
(192)-
-
class
rdma.IBA.
PMPortCounters
¶ Port Basic Performance and Error Counters (section 16.1.3.5)
-
MAD_LENGTH = 44
-
MAD_ATTRIBUTE_ID = 0x12
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('symbolErrorCounter',16,1), ('linkErrorRecoveryCounter',8,1), ('linkDownedCounter',8,1), ('portRcvErrors',16,1), ('portRcvRemotePhysicalErrors',16,1), ('portRcvSwitchRelayErrors',16,1), ('portXmitDiscards',16,1), ('portXmitConstraintErrors',8,1), ('portRcvConstraintErrors',8,1), ('counterSelect2',8,1), ('localLinkIntegrityErrors',4,1), ('excessiveBufferOverrunErrors',4,1), ('reserved_160',16,1), ('VL15Dropped',16,1), ('portXmitData',32,1), ('portRcvData',32,1), ('portXmitPkts',32,1), ('portRcvPkts',32,1), ('portXmitWait',32,1)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
symbolErrorCounter
4:6 (16) int
linkErrorRecoveryCounter
6:7 (8) int
linkDownedCounter
7:8 (8) int
portRcvErrors
8:10 (16) int
portRcvRemotePhysicalErrors
10:12 (16) int
portRcvSwitchRelayErrors
12:14 (16) int
portXmitDiscards
14:16 (16) int
portXmitConstraintErrors
16:17 (8) int
portRcvConstraintErrors
17:18 (8) int
counterSelect2
18:19 (8) int
localLinkIntegrityErrors
19:19[4] (4) int
excessiveBufferOverrunErrors
19[4]:20 (4) int
reserved_160
20:22 (16) int
VL15Dropped
22:24 (16) int
portXmitData
24:28 (32) int
portRcvData
28:32 (32) int
portXmitPkts
32:36 (32) int
portRcvPkts
36:40 (32) int
portXmitWait
40:44 (32) int
-
-
class
rdma.IBA.
PMPortCountersExt
¶ Extended Port Counters (section 16.1.4.11)
-
MAD_LENGTH = 72
-
MAD_ATTRIBUTE_ID = 0x1d
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('reserved_32',32,1), ('portXmitData',64,1), ('portRcvData',64,1), ('portXmitPkts',64,1), ('portRcvPkts',64,1), ('portUnicastXmitPkts',64,1), ('portUnicastRcvPkts',64,1), ('portMulticastXmitPkts',64,1), ('portMulticastRcvPkts',64,1)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
reserved_32
4:8 (32) int
portXmitData
8:16 (64) int
portRcvData
16:24 (64) int
portXmitPkts
24:32 (64) int
portRcvPkts
32:40 (64) int
portUnicastXmitPkts
40:48 (64) int
portUnicastRcvPkts
48:56 (64) int
portMulticastXmitPkts
56:64 (64) int
portMulticastRcvPkts
64:72 (64) int
-
-
class
rdma.IBA.
PMPortFlowCtlCounters
¶ Port Flow Control Counters (section 16.1.4.4)
-
MAD_LENGTH = 12
-
MAD_ATTRIBUTE_ID = 0x18
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portXmitFlowPkts',32,1), ('portRcvFlowPkts',32,1)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portXmitFlowPkts
4:8 (32) int
portRcvFlowPkts
8:12 (32) int
-
-
class
rdma.IBA.
PMPortOpRcvCounters
¶ Port Receive Counters per Op Code (section 16.1.4.3)
-
MAD_LENGTH = 12
-
MAD_ATTRIBUTE_ID = 0x17
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('opCode',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portOpRcvPkts',32,1), ('portOpRcvData',32,1)]
Member Position Type opCode
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portOpRcvPkts
4:8 (32) int
portOpRcvData
8:12 (32) int
-
-
class
rdma.IBA.
PMPortRcvErrorDetails
¶ Port Detailed Error Counters (section 16.1.4.1)
-
MAD_LENGTH = 16
-
MAD_ATTRIBUTE_ID = 0x15
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portLocalPhysicalErrors',16,1), ('portMalformedPacketErrors',16,1), ('portBufferOverrunErrors',16,1), ('portDLIDMappingErrors',16,1), ('portVLMappingErrors',16,1), ('portLoopingErrors',16,1)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portLocalPhysicalErrors
4:6 (16) int
portMalformedPacketErrors
6:8 (16) int
portBufferOverrunErrors
8:10 (16) int
portDLIDMappingErrors
10:12 (16) int
portVLMappingErrors
12:14 (16) int
portLoopingErrors
14:16 (16) int
-
-
class
rdma.IBA.
PMPortSamplesCtl
¶ Port Performance Data Sampling Control (section 16.1.3.2)
-
MAD_LENGTH = 192
-
MAD_ATTRIBUTE_ID = 0x10
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('opCode',8,1), ('portSelect',8,1), ('tick',8,1), ('reserved_24',5,1), ('counterWidth',3,1), ('reserved_32',2,1), ('counterMask0',3,1), ('counterMask1',3,1), ('counterMask2',3,1), ('counterMask3',3,1), ('counterMask4',3,1), ('counterMask5',3,1), ('counterMask6',3,1), ('counterMask7',3,1), ('counterMask8',3,1), ('counterMask9',3,1), ('reserved_64',1,1), ('counterMask10',3,1), ('counterMask11',3,1), ('counterMask12',3,1), ('counterMask13',3,1), ('counterMask14',3,1), ('sampleMechanisms',8,1), ('reserved_88',6,1), ('sampleStatus',2,1), ('optionMask',64,1), ('vendorMask',64,1), ('sampleStart',32,1), ('sampleInterval',32,1), ('tag',16,1), ('counterSelect0',16,1), ('counterSelect1',16,1), ('counterSelect2',16,1), ('counterSelect3',16,1), ('counterSelect4',16,1), ('counterSelect5',16,1), ('counterSelect6',16,1), ('counterSelect7',16,1), ('counterSelect8',16,1), ('counterSelect9',16,1), ('counterSelect10',16,1), ('counterSelect11',16,1), ('counterSelect12',16,1), ('counterSelect13',16,1), ('counterSelect14',16,1), ('reserved_544',32,1), ('samplesOnlyOptionMask',64,1), ('reserved_640',896,1)]
Member Position Type opCode
0:1 (8) int
portSelect
1:2 (8) int
tick
2:3 (8) int
reserved_24
3:3[5] (5) int
counterWidth
3[5]:4 (3) int
reserved_32
4:4[2] (2) int
counterMask0
4[2]:4[5] (3) int
counterMask1
4[5]:5 (3) int
counterMask2
5:5[3] (3) int
counterMask3
5[3]:5[6] (3) int
counterMask4
5[6]:6[1] (3) int
counterMask5
6[1]:6[4] (3) int
counterMask6
6[4]:6[7] (3) int
counterMask7
6[7]:7[2] (3) int
counterMask8
7[2]:7[5] (3) int
counterMask9
7[5]:8 (3) int
reserved_64
8:8[1] (1) int
counterMask10
8[1]:8[4] (3) int
counterMask11
8[4]:8[7] (3) int
counterMask12
8[7]:9[2] (3) int
counterMask13
9[2]:9[5] (3) int
counterMask14
9[5]:10 (3) int
sampleMechanisms
10:11 (8) int
reserved_88
11:11[6] (6) int
sampleStatus
11[6]:12 (2) int
optionMask
12:20 (64) int
vendorMask
20:28 (64) int
sampleStart
28:32 (32) int
sampleInterval
32:36 (32) int
tag
36:38 (16) int
counterSelect0
38:40 (16) int
counterSelect1
40:42 (16) int
counterSelect2
42:44 (16) int
counterSelect3
44:46 (16) int
counterSelect4
46:48 (16) int
counterSelect5
48:50 (16) int
counterSelect6
50:52 (16) int
counterSelect7
52:54 (16) int
counterSelect8
54:56 (16) int
counterSelect9
56:58 (16) int
counterSelect10
58:60 (16) int
counterSelect11
60:62 (16) int
counterSelect12
62:64 (16) int
counterSelect13
64:66 (16) int
counterSelect14
66:68 (16) int
reserved_544
68:72 (32) int
samplesOnlyOptionMask
72:80 (64) int
reserved_640
80:192 (896) bytearray
(112)-
-
class
rdma.IBA.
PMPortSamplesRes
¶ Port Performance Data Sampling Results (section 16.1.3.4)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('tag',16,1), ('reserved_16',14,1), ('sampleStatus',2,1), ('counter',32,15)]
Member Position Type tag
0:2 (16) int
reserved_16
2:3[6] (14) int
sampleStatus
3[6]:4 (2) int
counter
4:64 (32) [ int
]*15-
-
class
rdma.IBA.
PMPortSamplesResExt
¶ Extended Port Samples Result (section 16.1.4.10)
-
MAD_LENGTH = 128
-
MAD_ATTRIBUTE_ID = 0x1e
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('tag',16,1), ('reserved_16',14,1), ('sampleStatus',2,1), ('extendedWidth',2,1), ('reserved_34',30,1), ('counter',64,15)]
Member Position Type tag
0:2 (16) int
reserved_16
2:3[6] (14) int
sampleStatus
3[6]:4 (2) int
extendedWidth
4:4[2] (2) int
reserved_34
4[2]:8 (30) int
counter
8:128 (64) [ int
]*15-
-
class
rdma.IBA.
PMPortVLOpData
¶ Port Kilobytes Received per Op Code per VL (section 16.1.4.6)
-
MAD_LENGTH = 68
-
MAD_ATTRIBUTE_ID = 0x1a
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('opCode',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portVLOpData',32,16)]
Member Position Type opCode
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portVLOpData
4:68 (32) [ int
]*16-
-
class
rdma.IBA.
PMPortVLOpPackets
¶ Port Packets Received per Op Code per VL (section 16.1.4.5)
-
MAD_LENGTH = 36
-
MAD_ATTRIBUTE_ID = 0x19
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('opCode',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portVLOpPackets',16,16)]
Member Position Type opCode
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portVLOpPackets
4:36 (16) [ int
]*16-
-
class
rdma.IBA.
PMPortVLXmitFlowCtlUpdateErrors
¶ Port Flow Control update errors per VL (section 16.1.4.7)
-
MAD_LENGTH = 8
-
MAD_ATTRIBUTE_ID = 0x1b
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portVLXmitFlowCtlUpdateErrors',2,16)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portVLXmitFlowCtlUpdateErrors
4:8 (2) [ int
]*16-
-
class
rdma.IBA.
PMPortVLXmitWaitCounters
¶ Port Ticks Waiting to Transmit Counters per VL (section 16.1.4.8)
-
MAD_LENGTH = 36
-
MAD_ATTRIBUTE_ID = 0x1c
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portVLXmitWait',16,16)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portVLXmitWait
4:36 (16) [ int
]*16-
-
class
rdma.IBA.
PMPortXmitDiscardDetails
¶ Port Transmit Discard Counters (section 16.1.4.2)
-
MAD_LENGTH = 12
-
MAD_ATTRIBUTE_ID = 0x16
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portInactiveDiscards',16,1), ('portNeighborMTUDiscards',16,1), ('portSwLifetimeLimitDiscards',16,1), ('portSwHOQLimitDiscards',16,1)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portInactiveDiscards
4:6 (16) int
portNeighborMTUDiscards
6:8 (16) int
portSwLifetimeLimitDiscards
8:10 (16) int
portSwHOQLimitDiscards
10:12 (16) int
-
-
class
rdma.IBA.
PMSwPortVLCongestion
¶ Switch Port Congestion per VL (section 16.1.4.9)
-
MAD_LENGTH = 36
-
MAD_ATTRIBUTE_ID = 0x30
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('swPortVLCongestion',16,16)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
swPortVLCongestion
4:36 (16) [ int
]*16-
-
class
rdma.IBA.
PMPortRcvDataSL
¶ Receive SL Port Counters (section A13.6.5)
-
MAD_LENGTH = 68
-
MAD_ATTRIBUTE_ID = 0x37
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portRcvDataSL',32,16)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portRcvDataSL
4:68 (32) [ int
]*16-
-
class
rdma.IBA.
PMPortXmitDataSL
¶ Transmit SL Port Counters (section A13.6.5)
-
MAD_LENGTH = 68
-
MAD_ATTRIBUTE_ID = 0x36
-
MAD_PERFORMANCEGET = 0x1 # MAD_METHOD_GET
-
MAD_PERFORMANCESET = 0x2 # MAD_METHOD_SET
-
MEMBERS = [('reserved_0',8,1), ('portSelect',8,1), ('counterSelect',16,1), ('portXmitDataSL',32,16)]
Member Position Type reserved_0
0:1 (8) int
portSelect
1:2 (8) int
counterSelect
2:4 (16) int
portXmitDataSL
4:68 (32) [ int
]*16-
4.7.7. Device Management (16.3)¶
-
class
rdma.IBA.
DMDiagCode
¶ Vendor-Specific Device Diagnostic Information (section 16.3.3.10)
-
MAD_LENGTH = 4
-
MAD_ATTRIBUTE_ID = 0x24
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('diagCode',16,1), ('reserved_16',16,1)]
Member Position Type diagCode
0:2 (16) int
reserved_16
2:4 (16) int
-
-
class
rdma.IBA.
DMDiagnosticTimeout
¶ Get the Maximum Time for Completion of a Diagnostic Test (section 16.3.3.6)
-
MAD_LENGTH = 4
-
MAD_ATTRIBUTE_ID = 0x20
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('maxDiagTime',32,1)]
Member Position Type maxDiagTime
0:4 (32) int
-
-
class
rdma.IBA.
DMFormat
¶ An aggregation of: MADHeader
Device Management MAD Format (section 16.3.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x6
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('reserved_192',320,1), ('data',1536,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
reserved_192
24:64 (320) bytearray
(40)data
64:256 (1536) bytearray
(192)-
-
class
rdma.IBA.
DMIOControllerProfile
¶ I/O Controller Profile Information (section 16.3.3.4)
-
MAD_LENGTH = 128
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('GUID',64,1), ('vendorID',24,1), ('reserved_88',8,1), ('deviceID',32,1), ('deviceVersion',16,1), ('reserved_144',16,1), ('subsystemVendorID',24,1), ('reserved_184',8,1), ('subsystemID',32,1), ('IOClass',16,1), ('IOSubclass',16,1), ('protocol',16,1), ('protocolVersion',16,1), ('reserved_288',16,1), ('reserved_304',16,1), ('sendMessageDepth',16,1), ('reserved_336',8,1), ('RDMAReadDepth',8,1), ('sendMessageSize',32,1), ('RDMATransferSize',32,1), ('controllerOperationsMask',8,1), ('reserved_424',8,1), ('serviceEntries',8,1), ('reserved_440',8,1), ('reserved_448',64,1), ('IDString',8,64)]
Member Position Type GUID
0:8 (64) GUID
vendorID
8:11 (24) int
reserved_88
11:12 (8) int
deviceID
12:16 (32) int
deviceVersion
16:18 (16) int
reserved_144
18:20 (16) int
subsystemVendorID
20:23 (24) int
reserved_184
23:24 (8) int
subsystemID
24:28 (32) int
IOClass
28:30 (16) int
IOSubclass
30:32 (16) int
protocol
32:34 (16) int
protocolVersion
34:36 (16) int
reserved_288
36:38 (16) int
reserved_304
38:40 (16) int
sendMessageDepth
40:42 (16) int
reserved_336
42:43 (8) int
RDMAReadDepth
43:44 (8) int
sendMessageSize
44:48 (32) int
RDMATransferSize
48:52 (32) int
controllerOperationsMask
52:53 (8) int
reserved_424
53:54 (8) int
serviceEntries
54:55 (8) int
reserved_440
55:56 (8) int
reserved_448
56:64 (64) int
IDString
64:128 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
DMIOUnitInfo
¶ List of all I/O Controllers in a I/O Unit (section 16.3.3.3)
-
MAD_LENGTH = 132
-
MAD_ATTRIBUTE_ID = 0x10
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('changeID',16,1), ('maxControllers',8,1), ('reserved_24',6,1), ('diagDeviceID',1,1), ('optionROM',1,1), ('controllerList',1024,1)]
Member Position Type changeID
0:2 (16) int
maxControllers
2:3 (8) int
reserved_24
3:3[6] (6) int
diagDeviceID
3[6]:3[7] (1) int
optionROM
3[7]:4 (1) int
controllerList
4:132 (1024) bytearray
(128)-
-
class
rdma.IBA.
DMPrepareToTest
¶ Prepare Device for Test (section 16.3.3.7)
-
MAD_LENGTH = 0
-
MAD_ATTRIBUTE_ID = 0x21
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MAD_DEVMGTSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = []
Member Position Type -
-
class
rdma.IBA.
DMServiceEntries
¶ List of Supported Services and Their Associated Service IDs (section 16.3.3.5)
-
MAD_LENGTH = 192
-
MAD_ATTRIBUTE_ID = 0x12
-
MAD_DEVMGTGET = 0x1 # MAD_METHOD_GET
-
MEMBERS = [('serviceEntry',384,4)]
Member Position Type serviceEntry
0:192 (384) [ DMServiceEntry
]*4-
-
class
rdma.IBA.
DMServiceEntry
¶ Service Entry (section 16.3.3)
-
MAD_LENGTH = 48
-
MEMBERS = [('serviceName',8,40), ('serviceID',64,1)]
Member Position Type serviceName
0:40 (8) [ bytearray
(40)]*40serviceID
40:48 (64) int
-
-
class
rdma.IBA.
DMTestDeviceLoop
¶ Test Device Continuously (section 16.3.3.9)
-
MAD_LENGTH = 0
-
MAD_ATTRIBUTE_ID = 0x23
-
MAD_DEVMGTSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = []
Member Position Type -
-
class
rdma.IBA.
DMTestDeviceOnce
¶ Test Device Once (section 16.3.3.8)
-
MAD_LENGTH = 0
-
MAD_ATTRIBUTE_ID = 0x22
-
MAD_DEVMGTSET = 0x2 # MAD_METHOD_SET
-
MEMBERS = []
Member Position Type -
4.7.8. SNMP Tunneling (16.4)¶
-
class
rdma.IBA.
SNMPCommunityInfo
¶ Community Name Data Store (section 16.4.3.2)
-
MAD_LENGTH = 64
-
MAD_ATTRIBUTE_ID = 0x10
-
MAD_SNMPSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('communityName',8,64)]
Member Position Type communityName
0:64 (8) [ bytearray
(64)]*64-
-
class
rdma.IBA.
SNMPFormat
¶ An aggregation of: MADHeader
SNMP Tunneling MAD Format (section 16.4.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x8
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('reserved_192',256,1), ('RAddress',32,1), ('payloadLength',8,1), ('segmentNumber',8,1), ('sourceLID',16,1), ('data',1536,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
reserved_192
24:56 (256) bytearray
(32)RAddress
56:60 (32) int
payloadLength
60:61 (8) int
segmentNumber
61:62 (8) int
sourceLID
62:64 (16) int
data
64:256 (1536) bytearray
(192)-
-
class
rdma.IBA.
SNMPPDUInfo
¶ Data Segment (section 16.4.3.3)
-
MAD_LENGTH = 192
-
MAD_ATTRIBUTE_ID = 0x11
-
MAD_SNMPSEND = 0x3 # MAD_METHOD_SEND
-
MEMBERS = [('PDUData',1536,1)]
Member Position Type PDUData
0:192 (1536) bytearray
(192)-
4.7.9. Vendor Specific Management (16.5)¶
-
class
rdma.IBA.
VendFormat
¶ An aggregation of: MADHeader
Vendor Specific Management MAD Format (section 16.5.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x9
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('data',1856,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
data
24:256 (1856) bytearray
(232)-
-
class
rdma.IBA.
VendOUIFormat
¶ An aggregation of: MADHeader, RMPPHeader
Vendor Specific Management MAD Format with OUI (section 16.5.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x30
-
MAD_CLASS_VERSION = 0x1
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('RMPPVersion',8,1), ('RMPPType',8,1), ('RRespTime',5,1), ('RMPPFlags',3,1), ('RMPPStatus',8,1), ('data1',32,1), ('data2',32,1), ('reserved_288',8,1), ('OUI',24,1), ('data',1728,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
RMPPVersion
24:25 (8) int
RMPPType
25:26 (8) int
RRespTime
26:26[5] (5) int
RMPPFlags
26[5]:27 (3) int
RMPPStatus
27:28 (8) int
data1
28:32 (32) int
data2
32:36 (32) int
reserved_288
36:37 (8) int
OUI
37:40 (24) int
data
40:256 (1728) bytearray
(216)-
4.7.10. Miscellaneous IBA Structures¶
-
class
rdma.IBA.
CMFormat
¶ An aggregation of: MADHeader
Request for Communication (section 16.7.1)
-
MAD_LENGTH = 256
-
MAD_CLASS = 0x7
-
MAD_CLASS_VERSION = 0x2
-
MEMBERS = [('baseVersion',8,1), ('mgmtClass',8,1), ('classVersion',8,1), ('method',8,1), ('status',16,1), ('classSpecific',16,1), ('transactionID',64,1), ('attributeID',16,1), ('reserved_144',16,1), ('attributeModifier',32,1), ('data',1856,1)]
Member Position Type baseVersion
0:1 (8) int
mgmtClass
1:2 (8) int
classVersion
2:3 (8) int
method
3:4 (8) int
status
4:6 (16) int
classSpecific
6:8 (16) int
transactionID
8:16 (64) int
attributeID
16:18 (16) int
reserved_144
18:20 (16) int
attributeModifier
20:24 (32) int
data
24:256 (1856) bytearray
(232)-
-
class
rdma.IBA.
HdrAETH
¶ ACK Extended Transport Header (section 9.3.5)
-
MAD_LENGTH = 4
-
MEMBERS = [('syndrome',8,1), ('MSN',24,1)]
Member Position Type syndrome
0:1 (8) int
MSN
1:4 (24) int
-
-
class
rdma.IBA.
HdrAtomicAckETH
¶ Atomic Acknowledge Extended Transport Header (section 9.5.3)
-
MAD_LENGTH = 8
-
MEMBERS = [('origRData',64,1)]
Member Position Type origRData
0:8 (64) int
-
-
class
rdma.IBA.
HdrAtomicETH
¶ Atomic Extended Transport Header (section 9.3.4)
-
MAD_LENGTH = 28
-
MEMBERS = [('VA',64,1), ('RKey',32,1), ('swapData',64,1), ('cmpData',64,1)]
Member Position Type VA
0:8 (64) int
RKey
8:12 (32) int
swapData
12:20 (64) int
cmpData
20:28 (64) int
-
-
class
rdma.IBA.
HdrBTH
¶ Base Transport Header (section 9.2)
-
MAD_LENGTH = 12
-
MEMBERS = [('service',3,1), ('function',5,1), ('SE',1,1), ('migReq',1,1), ('padCnt',2,1), ('TVer',4,1), ('PKey',16,1), ('reserved_32',8,1), ('destQP',24,1), ('ackReq',1,1), ('reserved_65',7,1), ('PSN',24,1)]
Member Position Type service
0:0[3] (3) int
function
0[3]:1 (5) int
SE
1:1[1] (1) int
migReq
1[1]:1[2] (1) int
padCnt
1[2]:1[4] (2) int
TVer
1[4]:2 (4) int
PKey
2:4 (16) int
reserved_32
4:5 (8) int
destQP
5:8 (24) int
ackReq
8:8[1] (1) int
reserved_65
8[1]:9 (7) int
PSN
9:12 (24) int
-
-
class
rdma.IBA.
HdrDETH
¶ Datagram Extended Transport Header (section 9.3.2)
-
MAD_LENGTH = 8
-
MEMBERS = [('QKey',32,1), ('reserved_32',8,1), ('srcQP',24,1)]
Member Position Type QKey
0:4 (32) int
reserved_32
4:5 (8) int
srcQP
5:8 (24) int
-
-
class
rdma.IBA.
HdrFlowControl
¶ Flow Control Packet (section 7.9.4)
-
MAD_LENGTH = 4
-
MEMBERS = [('op',4,1), ('FCTBS',12,1), ('VL',4,1), ('FCCL',12,1)]
Member Position Type op
0:0[4] (4) int
FCTBS
0[4]:2 (12) int
VL
2:2[4] (4) int
FCCL
2[4]:4 (12) int
-
-
class
rdma.IBA.
HdrGRH
¶ Global Route Header (section 8.3)
-
MAD_LENGTH = 40
-
MEMBERS = [('IPVer',4,1), ('TClass',8,1), ('flowLabel',20,1), ('payLen',16,1), ('nxtHdr',8,1), ('hopLmt',8,1), ('SGID',128,1), ('DGID',128,1)]
Member Position Type IPVer
0:0[4] (4) int
TClass
0[4]:1[4] (8) int
flowLabel
1[4]:4 (20) int
payLen
4:6 (16) int
nxtHdr
6:7 (8) int
hopLmt
7:8 (8) int
SGID
8:24 (128) GID
DGID
24:40 (128) GID
-
-
class
rdma.IBA.
HdrIETH
¶ Invalidate Extended Transport Header (section 9.3.7)
-
MAD_LENGTH = 4
-
MEMBERS = [('RKey',32,1)]
Member Position Type RKey
0:4 (32) int
-
-
class
rdma.IBA.
HdrImmDt
¶ Immediate Extended Transport Header (section 9.3.6)
-
MAD_LENGTH = 4
-
MEMBERS = [('immediateData',32,1)]
Member Position Type immediateData
0:4 (32) int
-
-
class
rdma.IBA.
HdrLRH
¶ Local Route Header (section 7.7)
-
MAD_LENGTH = 8
-
MEMBERS = [('VL',4,1), ('LVer',4,1), ('SL',4,1), ('reserved_12',2,1), ('LNH',2,1), ('DLID',16,1), ('reserved_32',5,1), ('pktLen',11,1), ('SLID',16,1)]
Member Position Type VL
0:0[4] (4) int
LVer
0[4]:1 (4) int
SL
1:1[4] (4) int
reserved_12
1[4]:1[6] (2) int
LNH
1[6]:2 (2) int
DLID
2:4 (16) int
reserved_32
4:4[5] (5) int
pktLen
4[5]:6 (11) int
SLID
6:8 (16) int
-
-
class
rdma.IBA.
HdrRDETH
¶ Reliable Datagram Extended Transport Header (section 9.3.1)
-
MAD_LENGTH = 4
-
MEMBERS = [('reserved_0',8,1), ('EEC',24,1)]
Member Position Type reserved_0
0:1 (8) int
EEC
1:4 (24) int
-
-
class
rdma.IBA.
HdrRETH
¶ RDMA Extended Transport Header (section 9.3.3)
-
MAD_LENGTH = 16
-
MEMBERS = [('VA',64,1), ('RKey',32,1), ('DMALen',32,1)]
Member Position Type VA
0:8 (64) int
RKey
8:12 (32) int
DMALen
12:16 (32) int
-
-
class
rdma.IBA.
HdrRWH
¶ Raw Header (section 5.3)
-
MAD_LENGTH = 4
-
MEMBERS = [('reserved_0',16,1), ('etherType',16,1)]
Member Position Type reserved_0
0:2 (16) int
etherType
2:4 (16) int
-