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
BinStructor abytesrepresenting 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
BinStructor abytesrepresenting 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
bytearraybuf 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
bytesbuf 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:
objectThis 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:
strStores 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_GIDis instantiated. Invoking asGID(prefix=PREFIX,guid=GUID)will construct a GID by concatenating the PREFIX to GUID. GUID should be ardma.IBA.GUIDwhile 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:
strStores 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_GUIDis 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
GIDorint.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 LCID0:4 (32) intRCID4:8 (32) intadditionalInfoLength8:9 (8) intAPstatus9:10 (8) intreserved_8010:12 (16) intadditionalInfo12:84 (576) bytearray(72)privateData84: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 LCID0:4 (32) intRCID4:8 (32) intprivateData8: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 LCID0:4 (32) intRCID4:8 (32) intremoteQPN8:11 (24) intreserved_8811:12 (8) intprivateData12: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 LCID0:4 (32) intRCID4:8 (32) intQKey8:12 (32) intRQPN12:15 (24) intRCMTimeout15:15[5] (5) intreserved_12515[5]:16 (3) intreserved_12816:20 (32) intaltSLID20:22 (16) intaltDLID22:24 (16) intaltSGID24:40 (128) GIDaltDGID40:56 (128) GIDaltFlowLabel56:58[4] (20) intreserved_46858[4]:59 (4) intaltTClass59:60 (8) intaltHopLimit60:61 (8) intreserved_48861:61[2] (2) intaltIPD61[2]:62 (6) intaltSL62:62[4] (4) intaltSubnetLocal62[4]:62[5] (1) intreserved_50162[5]:63 (3) intaltLocalACKTimeout63:63[5] (5) intreserved_50963[5]:64 (3) intprivateData64: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 LCID0:4 (32) intRCID4:8 (32) intmessageMRAed8:8[2] (2) intreserved_668[2]:9 (6) intserviceTimeout9:9[5] (5) intreserved_779[5]:10 (3) intreserved_8010:12 (16) intprivateData12: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 SLID0:2 (16) intDLID2:4 (16) intSGID4:20 (128) GIDDGID20:36 (128) GIDflowLabel36:38[4] (20) intreserved_30838[4]:39 (4) intreserved_31239:39[2] (2) intPD39[2]:40 (6) intTClass40:41 (8) inthopLimit41:42 (8) intSL42:42[4] (4) intsubnetLocal42[4]:42[5] (1) intreserved_34142[5]:43 (3) intlocalACKTimeout43:43[5] (5) intreserved_34943[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 LCID0:4 (32) intRCID4:8 (32) intmessageRejected8:8[2] (2) intreserved_668[2]:9 (6) intrejectInfoLength9:9[7] (7) intreserved_799[7]:10 (1) intreason10:12 (16) intARI12:84 (576) bytearray(72)privateData84: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 LCID0:4 (32) intRCID4:8 (32) intlocalQKey8:12 (32) intlocalQPN12:15 (24) intreserved_12015:16 (8) intlocalEEContext16:19 (24) intreserved_15219:20 (8) intstartingPSN20:23 (24) intreserved_18423:24 (8) intresponderResources24:25 (8) intinitiatorDepth25:26 (8) inttargetACKDelay26:26[5] (5) intfailoverAccepted26[5]:26[7] (2) intflowControl26[7]:27 (1) intRNRRetryCount27:27[3] (3) intreserved_21927[3]:28 (5) intLGUID28:36 (64) GUIDprivateData36: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 LCID0:4 (32) intreserved_324:8 (32) intserviceID8:16 (64) intLGUID16:24 (64) GUIDlocalCMQKey24:28 (32) intlocalQKey28:32 (32) intlocalQPN32:35 (24) intresponderResources35:36 (8) intlocalEECN36:39 (24) intinitiatorDepth39:40 (8) intremoteEECN40:43 (24) intremoteResponseTimeout43:43[5] (5) inttransportService43[5]:43[7] (2) intflowControl43[7]:44 (1) intstartingPSN44:47 (24) intlocalResponseTimeout47:47[5] (5) intretryCount47[5]:48 (3) intPKey48:50 (16) intpathPacketMTU50:50[4] (4) intRDCExists50[4]:50[5] (1) intRNRRetryCount50[5]:51 (3) intmaxCMRetries51:51[4] (4) intreserved_41251[4]:52 (4) intprimaryPath52:96 (352) CMPathalternatePath96:140 (352) CMPathprivateData140: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 LCID0:4 (32) intRCID4:8 (32) intprivateData8: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 requestID0:4 (32) intQPN4:7 (24) intstatus7:8 (8) intserviceID8:16 (64) intQKey16:20 (32) intclassPortinfo20:92 (576) MADClassPortInfoprivateData92: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 requestID0:4 (32) intreserved_324:8 (32) intserviceID8:16 (64) intprivateData16: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 baseVersion0:1 (8) intclassVersion1:2 (8) intcapabilityMask2:4 (16) intcapabilityMask24:7[3] (27) intrespTimeValue7[3]:8 (5) intredirectGID8:24 (128) GIDredirectTC24:25 (8) intredirectSL25:25[4] (4) intredirectFL25[4]:28 (20) intredirectLID28:30 (16) intredirectPKey30:32 (16) intreserved_25632:33 (8) intredirectQP33:36 (24) intredirectQKey36:40 (32) inttrapGID40:56 (128) GIDtrapTC56:57 (8) inttrapSL57:57[4] (4) inttrapFL57[4]:60 (20) inttrapLID60:62 (16) inttrapPKey62:64 (16) inttrapHL64:65 (8) inttrapQP65:68 (24) inttrapQKey68: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intD4:4[1] (1) intstatus4[1]:6 (15) inthopPointer6:7 (8) inthopCount7:8 (8) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20: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 GID0:16 (128) GIDLIDRangeBegin16:18 (16) intLIDRangeEnd18:20 (16) intreserved_16020:22 (16) intisGeneric22:23 (8) intsubscribe23:24 (8) inttype24:26 (16) inttrapNumber26:28 (16) intQPN28:31 (24) intreserved_24831:31[3] (3) intrespTimeValue31[3]:32 (5) intreserved_25632:33 (8) intproducerType33: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 isGeneric0:0[1] (1) intnoticeType0[1]:1 (7) intnodeType1:4 (24) inttrapNumber4:6 (16) intissuerLID6:8 (16) intnoticeToggle8:8[1] (1) intnoticeCount8[1]:10 (15) intdataDetails10:12 (16) intdataDetails212: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 RMPPHeader0:28 (224) RMPPShortHeaderreserved_22428:32 (32) intreserved_25632:36 (32) interrorData36: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 RMPPHeader0:28 (224) RMPPShortHeadersegmentNumber28:32 (32) intnewWindowLast32:36 (32) intreserved_28836: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 RMPPHeader0:28 (224) RMPPShortHeadersegmentNumber28:32 (32) intpayLoadLength32:36 (32) intdata36: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 MADHeader0:24 (192) MADHeaderRMPPVersion24:25 (8) intRMPPType25:26 (8) intRRespTime26:26[5] (5) intRMPPFlags26[5]:27 (3) intRMPPStatus27:28 (8) intdata128:32 (32) intdata232: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 MADHeader0:24 (192) MADHeaderRMPPVersion24:25 (8) intRMPPType25:26 (8) intRRespTime26:26[5] (5) intRMPPFlags26[5]:27 (3) intRMPPStatus27: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 RMPPHeader0:28 (224) RMPPShortHeaderreserved_22428:32 (32) intreserved_25632:36 (32) interrorData36: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intMKey24:32 (64) intreserved_25632:64 (256) bytearray(32)data64:128 (512) bytearray(64)reserved_1024128: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intD4:4[1] (1) intstatus4[1]:6 (15) inthopPointer6:7 (8) inthopCount7:8 (8) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intMKey24:32 (64) intdrSLID32:34 (16) intdrDLID34:36 (16) intreserved_28836:64 (224) bytearray(28)data64:128 (512) bytearray(64)initialPath128:192 (8) [ bytearray(64)]*64returnPath192: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 GUIDBlock0: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 LID0:2 (16) intvalid2:2[1] (1) intLMC2[1]:2[4] (3) intreserved_202[4]:3 (4) intport3: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 ledMask0:0[1] (1) intreserved_10[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 portBlock0: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 portMaskBlock0: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 nodeString0: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 baseVersion0:1 (8) intclassVersion1:2 (8) intnodeType2:3 (8) intnumPorts3:4 (8) intsystemImageGUID4:12 (64) GUIDnodeGUID12:20 (64) GUIDportGUID20:28 (64) GUIDpartitionCap28:30 (16) intdeviceID30:32 (16) intrevision32:36 (32) intlocalPortNum36:37 (8) intvendorID37: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 PKeyBlock0: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 MKey0:8 (64) intGIDPrefix8:16 (64) intLID16:18 (16) intmasterSMLID18:20 (16) intcapabilityMask20:24 (32) intdiagCode24:26 (16) intMKeyLeasePeriod26:28 (16) intlocalPortNum28:29 (8) intlinkWidthEnabled29:30 (8) intlinkWidthSupported30:31 (8) intlinkWidthActive31:32 (8) intlinkSpeedSupported32:32[4] (4) intportState32[4]:33 (4) intportPhysicalState33:33[4] (4) intlinkDownDefaultState33[4]:34 (4) intMKeyProtectBits34:34[2] (2) intreserved_27434[2]:34[5] (3) intLMC34[5]:35 (3) intlinkSpeedActive35:35[4] (4) intlinkSpeedEnabled35[4]:36 (4) intneighborMTU36:36[4] (4) intmasterSMSL36[4]:37 (4) intVLCap37:37[4] (4) intinitType37[4]:38 (4) intVLHighLimit38:39 (8) intVLArbitrationHighCap39:40 (8) intVLArbitrationLowCap40:41 (8) intinitTypeReply41:41[4] (4) intMTUCap41[4]:42 (4) intVLStallCount42:42[3] (3) intHOQLife42[3]:43 (5) intoperationalVLs43:43[4] (4) intpartitionEnforcementInbound43[4]:43[5] (1) intpartitionEnforcementOutbound43[5]:43[6] (1) intfilterRawInbound43[6]:43[7] (1) intfilterRawOutbound43[7]:44 (1) intMKeyViolations44:46 (16) intPKeyViolations46:48 (16) intQKeyViolations48:50 (16) intGUIDCap50:51 (8) intclientReregister51:51[1] (1) intmulticastPKeyTrapSuppressionEnabled51[1]:51[3] (2) intsubnetTimeOut51[3]:52 (5) intreserved_41652:52[3] (3) intrespTimeValue52[3]:53 (5) intlocalPhyErrors53:53[4] (4) intoverrunErrors53[4]:54 (4) intmaxCreditHint54:56 (16) intreserved_44856:57 (8) intlinkRoundTripLatency57:60 (24) intcapabilityMask260:62 (16) intlinkSpeedExtActive62:62[4] (4) intlinkSpeedExtSupported62[4]:63 (4) intreserved_50463:63[3] (3) intlinkSpeedExtEnabled63[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 LIDPortBlock0: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 SLtoVL0: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 GUID0:8 (64) GUIDSMKey8:16 (64) intactCount16:20 (32) intpriority20:20[4] (4) intSMState20[4]:21 (4) intreserved_16821: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 linearFDBCap0:2 (16) intrandomFDBCap2:4 (16) intmulticastFDBCap4:6 (16) intlinearFDBTop6:8 (16) intdefaultPort8:9 (8) intdefaultMulticastPrimaryPort9:10 (8) intdefaultMulticastNotPrimaryPort10:11 (8) intlifeTimeValue11:11[5] (5) intportStateChange11[5]:11[6] (1) intoptimizedSLtoVLMappingProgramming11[6]:12 (2) intLIDsPerPort12:14 (16) intpartitionEnforcementCap14:16 (16) intinboundEnforcementCap16:16[1] (1) intoutboundEnforcementCap16[1]:16[2] (1) intfilterRawInboundCap16[2]:16[3] (1) intfilterRawOutboundCap16[3]:16[4] (1) intenhancedPort016[4]:16[5] (1) intreserved_13316[5]:17 (3) intreserved_13617:18 (8) intmulticastFDBTop18: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 VLWeightBlock0: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 nextIndex0:2 (16) intreserved_162:4 (16) intdiagData4: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intRMPPVersion24:25 (8) intRMPPType25:26 (8) intRRespTime26:26[5] (5) intRMPPFlags26[5]:27 (3) intRMPPStatus27:28 (8) intdata128:32 (32) intdata232:36 (32) intSMKey36:44 (64) intattributeOffset44:46 (16) intreserved_36846:48 (16) intcomponentMask48:56 (64) intdata56: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 LID0:2 (16) intblockNum2:3 (8) intreserved_243:4 (8) intreserved_324:8 (32) intGUIDInfo8: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intRMPPVersion24:25 (8) intRMPPType25:26 (8) intRRespTime26:26[5] (5) intRMPPFlags26[5]:27 (3) intRMPPStatus27:28 (8) intdata128:32 (32) intdata232:36 (32) intSMKey36:44 (64) intattributeOffset44:46 (16) intreserved_36846:48 (16) intcomponentMask48: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 subscriberGID0:16 (128) GIDenumeration16:18 (16) intreserved_14418:20 (16) intreserved_16020:24 (32) intinformInfo24:60 (288) MADInformInforeserved_48060: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 LID0:2 (16) intblockNum2:4 (16) intreserved_324:8 (32) intlinearForwardingTable8: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 fromLID0:2 (16) intfromPort2:3 (8) inttoPort3:4 (8) inttoLID4:6 (16) intreserved_486: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 MGID0:16 (128) GIDportGID16:32 (128) GIDQKey32:36 (32) intMLID36:38 (16) intMTUSelector38:38[2] (2) intMTU38[2]:39 (6) intTClass39:40 (8) intPKey40:42 (16) intrateSelector42:42[2] (2) intrate42[2]:43 (6) intpacketLifeTimeSelector43:43[2] (2) intpacketLifeTime43[2]:44 (6) intSL44:44[4] (4) intflowLabel44[4]:47 (20) inthopLimit47:48 (8) intscope48:48[4] (4) intjoinState48[4]:49 (4) intproxyJoin49:49[1] (1) intreserved_39349[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 rawTraffic0:0[1] (1) intreserved_10[1]:0[4] (3) intflowLabel0[4]:3 (20) inthopLimit3:4 (8) intTClass4:5 (8) intreversible5:5[1] (1) intnumbPath5[1]:6 (7) intPKey6:8 (16) intreserved_648:9[4] (12) intSL9[4]:10 (4) intMTUSelector10:10[2] (2) intMTU10[2]:11 (6) intrateSelector11:11[2] (2) intrate11[2]:12 (6) intpacketLifeTimeSelector12:12[2] (2) intpacketLifeTime12[2]:13 (6) intreserved_10413:14 (8) intindependenceSelector14:14[2] (2) intreserved_11414[2]:15 (6) intSGIDCount15:16 (8) intDGIDCount16:17 (8) intreserved_13617:20 (24) intreserved_16020:24 (32) intSDGID24: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 LID0:2 (16) intreserved_162:2[2] (2) intposition2[2]:2[6] (4) intblockNum2[6]:4 (10) intreserved_324:8 (32) intmulticastForwardingTable8: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 LID0:2 (16) intreserved_162:4 (16) intnodeInfo4:44 (320) SMPNodeInfonodeDescription44: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 LID0:2 (16) intblockNum2:4 (16) intportNum4:5 (8) intreserved_405:8 (24) intPKeyTable8: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 serviceID0:8 (64) intserviceID56LSB8:8 (0) intDGID8:24 (128) GIDSGID24:40 (128) GIDDLID40:42 (16) intSLID42:44 (16) intrawTraffic44:44[1] (1) intreserved_35344[1]:44[4] (3) intflowLabel44[4]:47 (20) inthopLimit47:48 (8) intTClass48:49 (8) intreversible49:49[1] (1) intnumbPath49[1]:50 (7) intPKey50:52 (16) intQOSClass52:53[4] (12) intSL53[4]:54 (4) intMTUSelector54:54[2] (2) intMTU54[2]:55 (6) intrateSelector55:55[2] (2) intrate55[2]:56 (6) intpacketLifeTimeSelector56:56[2] (2) intpacketLifeTime56[2]:57 (6) intpreference57:58 (8) intreversePathPKeyMemberBit58:58[2] (2) intreserved_46658[2]:60 (14) intreserved_48060: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 endportLID0:2 (16) intportNum2:3 (8) intreserved_243:4 (8) intportInfo4: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 LID0:2 (16) intblockNum2:4 (16) intreserved_324:8 (32) intrandomForwardingTable8: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 LID0:2 (16) intinputPortNum2:3 (8) intoutputPortNum3:4 (8) intreserved_324:8 (32) intSLToVLMappingTable8: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 LID0:2 (16) intreserved_162:4 (16) intSMInfo4: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 serviceKey0:16 (128) GIDserviceName16: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 serviceID0:8 (64) intserviceGID8:24 (128) GIDservicePKey24:26 (16) intreserved_20826:28 (16) intserviceLease28:32 (32) intserviceKey32:48 (128) GIDserviceName48:112 (8) [ bytearray(64)]*64serviceData8112:128 (8) [ bytearray(16)]*16serviceData16128:144 (16) [ int]*8serviceData32144:160 (32) [ int]*4serviceData64160: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 LID0:2 (16) intreserved_162:4 (16) intswitchInfo4: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 GIDPrefix0:8 (64) intIDGeneration8:10 (16) intreserved_8010:11 (8) intnodeType11:12 (8) intnodeID12:20 (64) intchassisID20:28 (64) intentryPortID28:36 (64) intexitPortID36:44 (64) intentryPort44:45 (8) intexitPort45:46 (8) intreserved_36846: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 LID0:2 (16) intoutputPortNum2:3 (8) intblockNum3:4 (8) intreserved_324:8 (32) intVLArbitrationTable8: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intreserved_19224:64 (320) bytearray(40)data64: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intsymbolErrorCounter4:6 (16) intlinkErrorRecoveryCounter6:7 (8) intlinkDownedCounter7:8 (8) intportRcvErrors8:10 (16) intportRcvRemotePhysicalErrors10:12 (16) intportRcvSwitchRelayErrors12:14 (16) intportXmitDiscards14:16 (16) intportXmitConstraintErrors16:17 (8) intportRcvConstraintErrors17:18 (8) intcounterSelect218:19 (8) intlocalLinkIntegrityErrors19:19[4] (4) intexcessiveBufferOverrunErrors19[4]:20 (4) intreserved_16020:22 (16) intVL15Dropped22:24 (16) intportXmitData24:28 (32) intportRcvData28:32 (32) intportXmitPkts32:36 (32) intportRcvPkts36:40 (32) intportXmitWait40: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intreserved_324:8 (32) intportXmitData8:16 (64) intportRcvData16:24 (64) intportXmitPkts24:32 (64) intportRcvPkts32:40 (64) intportUnicastXmitPkts40:48 (64) intportUnicastRcvPkts48:56 (64) intportMulticastXmitPkts56:64 (64) intportMulticastRcvPkts64: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportXmitFlowPkts4:8 (32) intportRcvFlowPkts8: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 opCode0:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportOpRcvPkts4:8 (32) intportOpRcvData8: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportLocalPhysicalErrors4:6 (16) intportMalformedPacketErrors6:8 (16) intportBufferOverrunErrors8:10 (16) intportDLIDMappingErrors10:12 (16) intportVLMappingErrors12:14 (16) intportLoopingErrors14: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 opCode0:1 (8) intportSelect1:2 (8) inttick2:3 (8) intreserved_243:3[5] (5) intcounterWidth3[5]:4 (3) intreserved_324:4[2] (2) intcounterMask04[2]:4[5] (3) intcounterMask14[5]:5 (3) intcounterMask25:5[3] (3) intcounterMask35[3]:5[6] (3) intcounterMask45[6]:6[1] (3) intcounterMask56[1]:6[4] (3) intcounterMask66[4]:6[7] (3) intcounterMask76[7]:7[2] (3) intcounterMask87[2]:7[5] (3) intcounterMask97[5]:8 (3) intreserved_648:8[1] (1) intcounterMask108[1]:8[4] (3) intcounterMask118[4]:8[7] (3) intcounterMask128[7]:9[2] (3) intcounterMask139[2]:9[5] (3) intcounterMask149[5]:10 (3) intsampleMechanisms10:11 (8) intreserved_8811:11[6] (6) intsampleStatus11[6]:12 (2) intoptionMask12:20 (64) intvendorMask20:28 (64) intsampleStart28:32 (32) intsampleInterval32:36 (32) inttag36:38 (16) intcounterSelect038:40 (16) intcounterSelect140:42 (16) intcounterSelect242:44 (16) intcounterSelect344:46 (16) intcounterSelect446:48 (16) intcounterSelect548:50 (16) intcounterSelect650:52 (16) intcounterSelect752:54 (16) intcounterSelect854:56 (16) intcounterSelect956:58 (16) intcounterSelect1058:60 (16) intcounterSelect1160:62 (16) intcounterSelect1262:64 (16) intcounterSelect1364:66 (16) intcounterSelect1466:68 (16) intreserved_54468:72 (32) intsamplesOnlyOptionMask72:80 (64) intreserved_64080: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 tag0:2 (16) intreserved_162:3[6] (14) intsampleStatus3[6]:4 (2) intcounter4: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 tag0:2 (16) intreserved_162:3[6] (14) intsampleStatus3[6]:4 (2) intextendedWidth4:4[2] (2) intreserved_344[2]:8 (30) intcounter8: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 opCode0:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportVLOpData4: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 opCode0:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportVLOpPackets4: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportVLXmitFlowCtlUpdateErrors4: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportVLXmitWait4: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportInactiveDiscards4:6 (16) intportNeighborMTUDiscards6:8 (16) intportSwLifetimeLimitDiscards8:10 (16) intportSwHOQLimitDiscards10: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intswPortVLCongestion4: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportRcvDataSL4: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_00:1 (8) intportSelect1:2 (8) intcounterSelect2:4 (16) intportXmitDataSL4: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 diagCode0:2 (16) intreserved_162: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 maxDiagTime0: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intreserved_19224:64 (320) bytearray(40)data64: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 GUID0:8 (64) GUIDvendorID8:11 (24) intreserved_8811:12 (8) intdeviceID12:16 (32) intdeviceVersion16:18 (16) intreserved_14418:20 (16) intsubsystemVendorID20:23 (24) intreserved_18423:24 (8) intsubsystemID24:28 (32) intIOClass28:30 (16) intIOSubclass30:32 (16) intprotocol32:34 (16) intprotocolVersion34:36 (16) intreserved_28836:38 (16) intreserved_30438:40 (16) intsendMessageDepth40:42 (16) intreserved_33642:43 (8) intRDMAReadDepth43:44 (8) intsendMessageSize44:48 (32) intRDMATransferSize48:52 (32) intcontrollerOperationsMask52:53 (8) intreserved_42453:54 (8) intserviceEntries54:55 (8) intreserved_44055:56 (8) intreserved_44856:64 (64) intIDString64: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 changeID0:2 (16) intmaxControllers2:3 (8) intreserved_243:3[6] (6) intdiagDeviceID3[6]:3[7] (1) intoptionROM3[7]:4 (1) intcontrollerList4: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 serviceEntry0: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 serviceName0:40 (8) [ bytearray(40)]*40serviceID40: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 communityName0: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intreserved_19224:56 (256) bytearray(32)RAddress56:60 (32) intpayloadLength60:61 (8) intsegmentNumber61:62 (8) intsourceLID62:64 (16) intdata64: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 PDUData0: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intdata24: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intRMPPVersion24:25 (8) intRMPPType25:26 (8) intRRespTime26:26[5] (5) intRMPPFlags26[5]:27 (3) intRMPPStatus27:28 (8) intdata128:32 (32) intdata232:36 (32) intreserved_28836:37 (8) intOUI37:40 (24) intdata40: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 baseVersion0:1 (8) intmgmtClass1:2 (8) intclassVersion2:3 (8) intmethod3:4 (8) intstatus4:6 (16) intclassSpecific6:8 (16) inttransactionID8:16 (64) intattributeID16:18 (16) intreserved_14418:20 (16) intattributeModifier20:24 (32) intdata24: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 syndrome0:1 (8) intMSN1: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 origRData0: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 VA0:8 (64) intRKey8:12 (32) intswapData12:20 (64) intcmpData20: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 service0:0[3] (3) intfunction0[3]:1 (5) intSE1:1[1] (1) intmigReq1[1]:1[2] (1) intpadCnt1[2]:1[4] (2) intTVer1[4]:2 (4) intPKey2:4 (16) intreserved_324:5 (8) intdestQP5:8 (24) intackReq8:8[1] (1) intreserved_658[1]:9 (7) intPSN9: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 QKey0:4 (32) intreserved_324:5 (8) intsrcQP5: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 op0:0[4] (4) intFCTBS0[4]:2 (12) intVL2:2[4] (4) intFCCL2[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 IPVer0:0[4] (4) intTClass0[4]:1[4] (8) intflowLabel1[4]:4 (20) intpayLen4:6 (16) intnxtHdr6:7 (8) inthopLmt7:8 (8) intSGID8:24 (128) GIDDGID24: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 RKey0: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 immediateData0: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 VL0:0[4] (4) intLVer0[4]:1 (4) intSL1:1[4] (4) intreserved_121[4]:1[6] (2) intLNH1[6]:2 (2) intDLID2:4 (16) intreserved_324:4[5] (5) intpktLen4[5]:6 (11) intSLID6: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_00:1 (8) intEEC1: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 VA0:8 (64) intRKey8:12 (32) intDMALen12: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_00:2 (16) intetherType2:4 (16) int-