aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-infiniband.c
diff options
context:
space:
mode:
authorstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2009-07-07 11:40:40 +0000
committerstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2009-07-07 11:40:40 +0000
commit138ed4d8b51ac6ec41ef68060c3df6ef33aac647 (patch)
treeeeb515513839d4fc79c8b063eeb2aa356def66be /epan/dissectors/packet-infiniband.c
parent2089653d7a5d8311354b0736feb3dcff7f0183ee (diff)
From Kovarththanan Rajaratnam:
Move hf/ett definitions from packet-infiniband.h -> packet-infiniband.c to align it with the rest of the bunch git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28979 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-infiniband.c')
-rw-r--r--epan/dissectors/packet-infiniband.c1711
1 files changed, 1711 insertions, 0 deletions
diff --git a/epan/dissectors/packet-infiniband.c b/epan/dissectors/packet-infiniband.c
index 3a5641c318..6b6ff74b51 100644
--- a/epan/dissectors/packet-infiniband.c
+++ b/epan/dissectors/packet-infiniband.c
@@ -3152,6 +3152,1717 @@ static void dissect_general_info(tvbuff_t *tvb, gint offset, packet_info *pinfo)
/* Protocol Registration */
void proto_register_infiniband(void)
{
+ /* Field dissector structures.
+ * For reserved fields, reservedX denotes the reserved field is X bits in length.
+ * e.g. reserved2 is a reserved field 2 bits in length.
+ * The third parameter is a filter string associated for this field.
+ * So for instance, to filter packets for a given virtual lane,
+ * The filter (infiniband.LRH.vl == 3) or something similar would be used. */
+
+ /* XXX: ToDo: Verify against Infiniband 1.2.1 Specification */
+ /* Fields verified/corrected: Those after comment "XX: All following ..." */
+
+ static hf_register_info hf[] = {
+ /* Local Route Header (LRH) */
+ { &hf_infiniband_LRH, {
+ "Local Route Header", "infiniband.lrh",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_virtual_lane, {
+ "Virtual Lane", "infiniband.lrh.vl",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_link_version, {
+ "Link Version", "infiniband.lrh.lver",
+ FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_service_level, {
+ "Service Level", "infiniband.lrh.sl",
+ FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved2, {
+ "Reserved (2 bits)", "infiniband.lrh.reserved2",
+ FT_UINT8, BASE_DEC, NULL, 0x0C, NULL, HFILL}
+ },
+ { &hf_infiniband_link_next_header, {
+ "Link Next Header", "infiniband.lrh.lnh",
+ FT_UINT8, BASE_HEX, NULL, 0x03, NULL, HFILL}
+ },
+ { &hf_infiniband_destination_local_id, {
+ "Destination Local ID", "infiniband.lrh.dlid",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved5, {
+ "Reserved (5 bits)", "infiniband.lrh.reserved5",
+ FT_UINT16, BASE_DEC, NULL, 0xF800, NULL, HFILL}
+ },
+ { &hf_infiniband_packet_length, {
+ "Packet Length", "infiniband.lrh.pktlen",
+ FT_UINT16, BASE_DEC, NULL, 0x07FF, NULL, HFILL}
+ },
+ { &hf_infiniband_source_local_id, {
+ "Source Local ID", "infiniband.lrh.slid",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Global Route Header (GRH) */
+ { &hf_infiniband_GRH, {
+ "Global Route Header", "infiniband.grh",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ip_version, {
+ "IP Version", "infiniband.grh.ipver",
+ FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_traffic_class, {
+ "Traffic Class", "infiniband.grh.tclass",
+ FT_UINT16, BASE_DEC, NULL, 0x0FF0, NULL, HFILL}
+ },
+ { &hf_infiniband_flow_label, {
+ "Flow Label", "infiniband.grh.flowlabel",
+ FT_UINT32, BASE_DEC, NULL, 0x000FFFFF, NULL, HFILL}
+ },
+ { &hf_infiniband_payload_length, {
+ "Payload Length", "infiniband.grh.paylen",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_next_header, {
+ "Next Header", "infiniband.grh.nxthdr",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_hop_limit, {
+ "Hop Limit", "infiniband.grh.hoplmt",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_source_gid, {
+ "Source GID", "infiniband.grh.sgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_destination_gid, {
+ "Destination GID", "infiniband.grh.dgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Base Transport Header (BTH) */
+ { &hf_infiniband_BTH, {
+ "Base Transport Header", "infiniband.bth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_opcode, {
+ "Opcode", "infiniband.bth.opcode",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_solicited_event, {
+ "Solicited Event", "infiniband.bth.se",
+ FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_migreq, {
+ "MigReq", "infiniband.bth.m",
+ FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL}
+ },
+ { &hf_infiniband_pad_count, {
+ "Pad Count", "infiniband.bth.padcnt",
+ FT_UINT8, BASE_DEC, NULL, 0x30, NULL, HFILL}
+ },
+ { &hf_infiniband_transport_header_version, {
+ "Header Version", "infiniband.bth.tver",
+ FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_partition_key, {
+ "Partition Key", "infiniband.bth.p_key",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved8, {
+ "Reserved (8 bits)", "infiniband.bth.reserved8",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_destination_qp, {
+ "Destination Queue Pair", "infiniband.bth.destqp",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_acknowledge_request, {
+ "Acknowledge Request", "infiniband.bth.a",
+ FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved7, {
+ "Reserved (7 bits)", "infiniband.bth.reserved7",
+ FT_UINT8, BASE_DEC, NULL, 0x7F, NULL, HFILL}
+ },
+ { &hf_infiniband_packet_sequence_number, {
+ "Packet Sequence Number", "infiniband.bth.psn",
+ FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Raw Header (RWH) */
+ { &hf_infiniband_RWH, {
+ "Raw Header", "infiniband.rwh",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved16_RWH, {
+ "Reserved (16 bits)", "infiniband.rwh.reserved",
+ FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_etype, {
+ "Ethertype", "infiniband.rwh.etype",
+ FT_UINT16, BASE_HEX, NULL /*VALS(etype_vals)*/, 0x0, "Type", HFILL }
+ },
+
+ /* Reliable Datagram Extended Transport Header (RDETH) */
+ { &hf_infiniband_RDETH, {
+ "Reliable Datagram Extended Transport Header", "infiniband.rdeth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved8_RDETH, {
+ "Reserved (8 bits)", "infiniband.rdeth.reserved8",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ee_context, {
+ "E2E Context", "infiniband.rdeth.eecnxt",
+ FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Datagram Extended Transport Header (DETH) */
+ { &hf_infiniband_DETH, {
+ "Datagram Extended Transport Header", "infiniband.deth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_queue_key, {
+ "Queue Key", "infiniband.deth.q_key",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved8_DETH, {
+ "Reserved (8 bits)", "infiniband.deth.reserved8",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_source_qp, {
+ "Source Queue Pair", "infiniband.deth.srcqp",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RDMA Extended Transport Header (RETH) */
+ { &hf_infiniband_RETH, {
+ "RDMA Extended Transport Header", "infiniband.reth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_virtual_address, {
+ "Virtual Address", "infiniband.reth.va",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_remote_key, {
+ "Remote Key", "infiniband.reth.r_key",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_dma_length, {
+ "DMA Length", "infiniband.reth.dmalen",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Atomic Extended Transport Header (AtomicETH) */
+ { &hf_infiniband_AtomicETH, {
+ "Atomic Extended Transport Header", "infiniband.atomiceth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#if 0
+ { &hf_infiniband_virtual_address_AtomicETH, {
+ "Virtual Address", "infiniband.atomiceth.va",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_remote_key_AtomicETH, {
+ "Remote Key", "infiniband.atomiceth.r_key",
+ FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_swap_or_add_data, {
+ "Swap (Or Add) Data", "infiniband.atomiceth.swapdt",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_compare_data, {
+ "Compare Data", "infiniband.atomiceth.cmpdt",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* ACK Extended Transport Header (AETH) */
+ { &hf_infiniband_AETH, {
+ "ACK Extended Transport Header", "infiniband.aeth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_syndrome, {
+ "Syndrome", "infiniband.aeth.syndrome",
+ FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_message_sequence_number, {
+ "Message Sequence Number", "infiniband.aeth.msn",
+ FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Atomic ACK Extended Transport Header (AtomicAckETH) */
+ { &hf_infiniband_AtomicAckETH, {
+ "Atomic ACK Extended Transport Header", "infiniband.atomicacketh",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_original_remote_data, {
+ "Original Remote Data", "infiniband.atomicacketh.origremdt",
+ FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Immediate Extended Transport Header (ImmDT) */
+ { &hf_infiniband_IMMDT, {
+ "Immediate Data", "infiniband.immdt",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Invalidate Extended Transport Header (IETH) */
+ { &hf_infiniband_IETH, {
+ "RKey", "infiniband.ieth",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Payload */
+ { &hf_infiniband_payload, {
+ "Payload", "infiniband.payload",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_invariant_crc, {
+ "Invariant CRC", "infiniband.invariant.crc",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_variant_crc, {
+ "Variant CRC", "infiniband.variant.crc",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_raw_data, {
+ "Raw Data", "infiniband.rawdata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ /* Unknown or Vendor Specific */
+ { &hf_infiniband_vendor, {
+ "Unknown/Vendor Specific Data", "infiniband.vendor",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* MAD Base Header */
+ { &hf_infiniband_MAD, {
+ "MAD (Management Datagram) Common Header", "infiniband.mad",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_base_version, {
+ "Base Version", "infiniband.mad.baseversion",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_mgmt_class, {
+ "Management Class", "infiniband.mad.mgmtclass",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_class_version, {
+ "Class Version", "infiniband.mad.classversion",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+#if 0
+ { &hf_infiniband_reserved1, {
+ "Reserved", "infiniband.mad.reserved1",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_method, {
+ "Method", "infiniband.mad.method",
+ FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL}
+ },
+ { &hf_infiniband_status, {
+ "Status", "infiniband.mad.status",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_class_specific, {
+ "Class Specific", "infiniband.mad.classspecific",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_transaction_id, {
+ "Transaction ID", "infiniband.mad.transactionid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_attribute_id, {
+ "Attribute ID", "infiniband.mad.attributeid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved16, {
+ "Reserved", "infiniband.mad.reserved16",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_attribute_modifier, {
+ "Attribute Modifier", "infiniband.mad.attributemodifier",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_data, {
+ "MAD Data Payload", "infiniband.mad.data",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RMPP Header */
+ { &hf_infiniband_RMPP, {
+ "RMPP (Reliable Multi-Packet Transaction Protocol)", "infiniband.rmpp",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_version, {
+ "RMPP Type", "infiniband.rmpp.rmppversion",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_type, {
+ "RMPP Type", "infiniband.rmpp.rmpptype",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_r_resp_time, {
+ "R Resp Time", "infiniband.rmpp.rresptime",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_flags, {
+ "RMPP Flags", "infiniband.rmpp.rmppflags",
+ FT_UINT8, BASE_HEX, VALS(RMPP_Flags), 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_status, {
+ "RMPP Status", "infiniband.rmpp.rmppstatus",
+ FT_UINT8, BASE_HEX, VALS(RMPP_Status), 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_data1, {
+ "RMPP Data 1", "infiniband.rmpp.data1",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_rmpp_data2, {
+ "RMPP Data 2", "infiniband.rmpp.data2",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RMPP Data */
+#if 0
+ { &hf_infiniband_RMPP_DATA, {
+ "RMPP Data (Reliable Multi-Packet Transaction Protocol)", "infiniband.rmpp.data",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_segment_number, {
+ "Segment Number", "infiniband.rmpp.segmentnumber",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_payload_length32, {
+ "Payload Length", "infiniband.rmpp.payloadlength",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_transferred_data, {
+ "Transferred Data", "infiniband.rmpp.transferreddata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RMPP ACK */
+ { &hf_infiniband_new_window_last, {
+ "New Window Last", "infiniband.rmpp.newwindowlast",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved220, {
+ "Segment Number", "infiniband.rmpp.reserved220",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RMPP ABORT/STOP */
+ { &hf_infiniband_optional_extended_error_data, {
+ "Optional Extended Error Data", "infiniband.rmpp.extendederrordata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* SMP Data (LID Routed) */
+ { &hf_infiniband_SMP_LID, {
+ "Subnet Management Packet (LID Routed)", "infiniband.smplid",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_m_key, {
+ "M_Key", "infiniband.smplid.mkey",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_smp_data, {
+ "SMP Data", "infiniband.smplid.smpdata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved1024, {
+ "Reserved (1024 bits)", "infiniband.smplid.reserved1024",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved256, {
+ "Reserved (256 bits)", "infiniband.smplid.reserved256",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* XX: All following verified/corrected against Infiniband 1.2.1 Specification */
+ /* SMP Data Directed Route */
+ { &hf_infiniband_SMP_DIRECTED, {
+ "Subnet Management Packet (Directed Route)", "infiniband.smpdirected",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_smp_status, {
+ "Status", "infiniband.smpdirected.smpstatus",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_hop_pointer, {
+ "Hop Pointer", "infiniband.smpdirected.hoppointer",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_hop_count, {
+ "Hop Count", "infiniband.smpdirected.hopcount",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_dr_slid, {
+ "DrSLID", "infiniband.smpdirected.drslid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_dr_dlid, {
+ "DrDLID", "infiniband.smpdirected.drdlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_reserved28, {
+ "Reserved (224 bits)", "infiniband.smpdirected.reserved28",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_d, {
+ "D (Direction Bit)", "infiniband.smpdirected.d",
+ FT_UINT64, BASE_HEX, NULL, 0x8000, NULL, HFILL}
+ },
+ { &hf_infiniband_initial_path, {
+ "Initial Path", "infiniband.smpdirected.initialpath",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_return_path, {
+ "Return Path", "infiniband.smpdirected.returnpath",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* SA MAD Header */
+ { &hf_infiniband_SA, {
+ "SA Packet (Subnet Administration)", "infiniband.sa.drdlid",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_sm_key, {
+ "SM_Key (Verification Key)", "infiniband.sa.smkey",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_attribute_offset, {
+ "Attribute Offset", "infiniband.sa.attributeoffset",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_component_mask, {
+ "Component Mask", "infiniband.sa.componentmask",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_subnet_admin_data, {
+ "Subnet Admin Data", "infiniband.sa.subnetadmindata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* NodeDescription */
+ { &hf_infiniband_NodeDescription_NodeString, {
+ "NodeString", "infiniband.nodedescription.nodestring",
+ FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* NodeInfo */
+ { &hf_infiniband_NodeInfo_BaseVersion, {
+ "BaseVersion", "infiniband.nodeinfo.baseversion",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_ClassVersion, {
+ "ClassVersion", "infiniband.nodeinfo.classversion",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_NodeType, {
+ "NodeType", "infiniband.nodeinfo.nodetype",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_NumPorts, {
+ "NumPorts", "infiniband.nodeinfo.numports",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_SystemImageGUID, {
+ "SystemImageGUID", "infiniband.nodeinfo.systemimageguid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_NodeGUID, {
+ "NodeGUID", "infiniband.nodeinfo.nodeguid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_PortGUID, {
+ "PortGUID", "infiniband.nodeinfo.portguid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_PartitionCap, {
+ "PartitionCap", "infiniband.nodeinfo.partitioncap",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_DeviceID, {
+ "DeviceID", "infiniband.nodeinfo.deviceid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_Revision, {
+ "Revision", "infiniband.nodeinfo.revision",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_LocalPortNum, {
+ "LocalPortNum", "infiniband.nodeinfo.localportnum",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_NodeInfo_VendorID, {
+ "VendorID", "infiniband.nodeinfo.vendorid",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* SwitchInfo */
+ { &hf_infiniband_SwitchInfo_LinearFDBCap, {
+ "LinearFDBCap", "infiniband.switchinfo.linearfdbcap",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_RandomFDBCap, {
+ "RandomFDBCap", "infiniband.switchinfo.randomfdbcap",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_MulticastFDBCap, {
+ "MulticastFDBCap", "infiniband.switchinfo.multicastfdbcap",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_LinearFDBTop, {
+ "LinearFDBTop", "infiniband.switchinfo.linearfdbtop",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_DefaultPort, {
+ "DefaultPort", "infiniband.switchinfo.defaultport",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_DefaultMulticastPrimaryPort, {
+ "DefaultMulticastPrimaryPort", "infiniband.switchinfo.defaultmulticastprimaryport",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_DefaultMulticastNotPrimaryPort, {
+ "DefaultMulticastNotPrimaryPort", "infiniband.switchinfo.defaultmulticastnotprimaryport",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_LifeTimeValue, {
+ "LifeTimeValue", "infiniband.switchinfo.lifetimevalue",
+ FT_UINT8, BASE_HEX, NULL, 0xF8, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_PortStateChange, {
+ "PortStateChange", "infiniband.switchinfo.portstatechange",
+ FT_UINT8, BASE_HEX, NULL, 0x04, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_OptimizedSLtoVLMappingProgramming, {
+ "OptimizedSLtoVLMappingProgramming", "infiniband.switchinfo.optimizedsltovlmappingprogramming",
+ FT_UINT8, BASE_HEX, NULL, 0x03, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_LIDsPerPort, {
+ "LIDsPerPort", "infiniband.switchinfo.lidsperport",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_PartitionEnforcementCap, {
+ "PartitionEnforcementCap", "infiniband.switchinfo.partitionenforcementcap",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_InboundEnforcementCap, {
+ "InboundEnforcementCap", "infiniband.switchinfo.inboundenforcementcap",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_OutboundEnforcementCap, {
+ "OutboundEnforcementCap", "infiniband.switchinfo.outboundenforcementcap",
+ FT_UINT8, BASE_HEX, NULL, 0x40, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_FilterRawInboundCap, {
+ "FilterRawInboundCap", "infiniband.switchinfo.filterrawinboundcap",
+ FT_UINT8, BASE_HEX, NULL, 0x20, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_FilterRawOutboundCap, {
+ "FilterRawOutboundCap", "infiniband.switchinfo.filterrawoutboundcap",
+ FT_UINT8, BASE_HEX, NULL, 0x10, NULL, HFILL}
+ },
+ { &hf_infiniband_SwitchInfo_EnhancedPortZero, {
+ "EnhancedPortZero", "infiniband.switchinfo.enhancedportzero",
+ FT_UINT8, BASE_HEX, NULL, 0x08, NULL, HFILL}
+ },
+
+ /* GUIDInfo */
+#if 0
+ { &hf_infiniband_GUIDInfo_GUIDBlock, {
+ "GUIDBlock", "infiniband.switchinfo.guidblock",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_GUIDInfo_GUID, {
+ "GUID", "infiniband.switchinfo.guid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* PortInfo */
+ { &hf_infiniband_PortInfo_M_Key, {
+ "M_Key", "infiniband.portinfo.m_key",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_GidPrefix, {
+ "GidPrefix", "infiniband.portinfo.guid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LID, {
+ "LID", "infiniband.portinfo.lid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_MasterSMLID, {
+ "MasterSMLID", "infiniband.portinfo.mastersmlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask, {
+ "CapabilityMask", "infiniband.portinfo.capabilitymask",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Capability Mask Flags */
+ { &hf_infiniband_PortInfo_CapabilityMask_SM, {
+ "SM", "infiniband.portinfo.capabilitymask.issm",
+ FT_UINT32, BASE_HEX, NULL, 0x00000002, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_NoticeSupported, {
+ "NoticeSupported", "infiniband.portinfo.capabilitymask.noticesupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000004, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_TrapSupported, {
+ "TrapSupported", "infiniband.portinfo.capabilitymask.trapsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000008, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_OptionalPDSupported, {
+ "OptionalPDSupported", "infiniband.portinfo.capabilitymask.optionalpdsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000010, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_AutomaticMigrationSupported, {
+ "AutomaticMigrationSupported", "infiniband.portinfo.capabilitymask.automaticmigrationsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000020, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_SLMappingSupported, {
+ "SLMappingSupported", "infiniband.portinfo.capabilitymask.slmappingsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000040, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_MKeyNVRAM, {
+ "MKeyNVRAM", "infiniband.portinfo.capabilitymask.mkeynvram",
+ FT_UINT32, BASE_HEX, NULL, 0x00000080, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_PKeyNVRAM, {
+ "PKeyNVRAM", "infiniband.portinfo.capabilitymask.pkeynvram",
+ FT_UINT32, BASE_HEX, NULL, 0x00000100, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_LEDInfoSupported, {
+ "LEDInfoSupported", "infiniband.portinfo.capabilitymask.ledinfosupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000200, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_SMdisabled, {
+ "SMdisabled", "infiniband.portinfo.capabilitymask.smdisabled",
+ FT_UINT32, BASE_HEX, NULL, 0x00000400, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_SystemImageGUIDSupported, {
+ "SystemImageGUIDSupported", "infiniband.portinfo.capabilitymask.systemimageguidsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00000800, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_PKeySwitchExternalPortTrapSupported, {
+ "PKeySwitchExternalPortTrapSupported", "infiniband.portinfo.capabilitymask.pkeyswitchexternalporttrapsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00001000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_CommunicationsManagementSupported, {
+ "CommunicationsManagementSupported", "infiniband.portinfo.capabilitymask.communicationsmanagementsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00010000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_SNMPTunnelingSupported, {
+ "SNMPTunnelingSupported", "infiniband.portinfo.capabilitymask.snmptunnelingsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00020000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_ReinitSupported, {
+ "ReinitSupported", "infiniband.portinfo.capabilitymask.reinitsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00040000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_DeviceManagementSupported, {
+ "DeviceManagementSupported", "infiniband.portinfo.capabilitymask.devicemanagementsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00080000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_VendorClassSupported, {
+ "VendorClassSupported", "infiniband.portinfo.capabilitymask.vendorclasssupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00100000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_DRNoticeSupported, {
+ "DRNoticeSupported", "infiniband.portinfo.capabilitymask.drnoticesupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00200000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_CapabilityMaskNoticeSupported, {
+ "CapabilityMaskNoticeSupported", "infiniband.portinfo.capabilitymask.capabilitymasknoticesupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00400000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_BootManagementSupported, {
+ "BootManagementSupported", "infiniband.portinfo.capabilitymask.bootmanagementsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x00800000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_LinkRoundTripLatencySupported, {
+ "LinkRoundTripLatencySupported", "infiniband.portinfo.capabilitymask.linkroundtriplatencysupported",
+ FT_UINT32, BASE_HEX, NULL, 0x01000000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_ClientRegistrationSupported, {
+ "ClientRegistrationSupported", "infiniband.portinfo.capabilitymask.clientregistrationsupported",
+ FT_UINT32, BASE_HEX, NULL, 0x02000000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_OtherLocalChangesNoticeSupported, {
+ "OtherLocalChangesNoticeSupported", "infiniband.portinfo.capabilitymask.otherlocalchangesnoticesupported",
+ FT_UINT32, BASE_HEX, NULL, 0x04000000, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_CapabilityMask_LinkSpeedWIdthPairsTableSupported, {
+ "LinkSpeedWIdthPairsTableSupported", "infiniband.portinfo.capabilitymask.linkspeedwidthpairstablesupported",
+ FT_UINT32, BASE_HEX, NULL, 0x08000000, NULL, HFILL}
+ },
+ /* End Capability Mask Flags */
+
+ /* PortInfo */
+ { &hf_infiniband_PortInfo_DiagCode, {
+ "DiagCode", "infiniband.portinfo.diagcode",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_M_KeyLeasePeriod, {
+ "M_KeyLeasePeriod", "infiniband.portinfo.m_keyleaseperiod",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LocalPortNum, {
+ "LocalPortNum", "infiniband.portinfo.localportnum",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkWidthEnabled, {
+ "LinkWidthEnabled", "infiniband.portinfo.linkwidthenabled",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkWidthSupported, {
+ "LinkWidthSupported", "infiniband.portinfo.linkwidthsupported",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkWidthActive, {
+ "LinkWidthActive", "infiniband.portinfo.linkwidthactive",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkSpeedSupported, {
+ "LinkSpeedSupported", "infiniband.portinfo.linkspeedsupported",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_PortState, {
+ "PortState", "infiniband.portinfo.portstate",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_PortPhysicalState, {
+ "PortPhysicalState", "infiniband.portinfo.portphysicalstate",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkDownDefaultState, {
+ "LinkDownDefaultState", "infiniband.portinfo.linkdowndefaultstate",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_M_KeyProtectBits, {
+ "M_KeyProtectBits", "infiniband.portinfo.m_keyprotectbits",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LMC, {
+ "LMC", "infiniband.portinfo.lmc",
+ FT_UINT8, BASE_HEX, NULL, 0x07, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkSpeedActive, {
+ "LinkSpeedActive", "infiniband.portinfo.linkspeedactive",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkSpeedEnabled, {
+ "LinkSpeedEnabled", "infiniband.portinfo.linkspeedenabled",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_NeighborMTU, {
+ "NeighborMTU", "infiniband.portinfo.neighbormtu",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_MasterSMSL, {
+ "MasterSMSL", "infiniband.portinfo.mastersmsl",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_VLCap, {
+ "VLCap", "infiniband.portinfo.vlcap",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_InitType, {
+ "InitType", "infiniband.portinfo.inittype",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_VLHighLimit, {
+ "VLHighLimit", "infiniband.portinfo.vlhighlimit",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_VLArbitrationHighCap, {
+ "VLArbitrationHighCap", "infiniband.portinfo.vlarbitrationhighcap",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_VLArbitrationLowCap, {
+ "VLArbitrationLowCap", "infiniband.portinfo.vlarbitrationlowcap",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_InitTypeReply, {
+ "InitTypeReply", "infiniband.portinfo.inittypereply",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_MTUCap, {
+ "MTUCap", "infiniband.portinfo.mtucap",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_VLStallCount, {
+ "VLStallCount", "infiniband.portinfo.vlstallcount",
+ FT_UINT8, BASE_HEX, NULL, 0xE0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_HOQLife, {
+ "HOQLife", "infiniband.portinfo.hoqlife",
+ FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_OperationalVLs, {
+ "OperationalVLs", "infiniband.portinfo.operationalvls",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_PartitionEnforcementInbound, {
+ "PartitionEnforcementInbound", "infiniband.portinfo.partitionenforcementinbound",
+ FT_UINT8, BASE_HEX, NULL, 0x08, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_PartitionEnforcementOutbound, {
+ "PartitionEnforcementOutbound", "infiniband.portinfo.partitionenforcementoutbound",
+ FT_UINT8, BASE_HEX, NULL, 0x04, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_FilterRawInbound, {
+ "FilterRawInbound", "infiniband.portinfo.filterrawinbound",
+ FT_UINT8, BASE_HEX, NULL, 0x02, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_FilterRawOutbound, {
+ "FilterRawOutbound", "infiniband.portinfo.filterrawoutbound",
+ FT_UINT8, BASE_HEX, NULL, 0x01, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_M_KeyViolations, {
+ "M_KeyViolations", "infiniband.portinfo.m_keyviolations",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_P_KeyViolations, {
+ "P_KeyViolations", "infiniband.portinfo.p_keyviolations",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_Q_KeyViolations, {
+ "Q_KeyViolations", "infiniband.portinfo.q_keyviolations",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_GUIDCap, {
+ "GUIDCap", "infiniband.portinfo.guidcap",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_ClientReregister, {
+ "ClientReregister", "infiniband.portinfo.clientreregister",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_SubnetTimeOut, {
+ "SubnetTimeOut", "infiniband.portinfo.subnettimeout",
+ FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_RespTimeValue, {
+ "RespTimeValue", "infiniband.portinfo.resptimevalue",
+ FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LocalPhyErrors, {
+ "LocalPhyErrors", "infiniband.portinfo.localphyerrors",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_OverrunErrors, {
+ "OverrunErrors", "infiniband.portinfo.overrunerrors",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_MaxCreditHint, {
+ "MaxCreditHint", "infiniband.portinfo.maxcredithint",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PortInfo_LinkRoundTripLatency, {
+ "LinkRoundTripLatency", "infiniband.portinfo.linkroundtriplatency",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* P_KeyTable */
+ { &hf_infiniband_P_KeyTable_P_KeyTableBlock, {
+ "P_KeyTableBlock", "infiniband.p_keytable.p_keytableblock",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_P_KeyTable_MembershipType, {
+ "MembershipType", "infiniband.p_keytable.membershiptype",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_P_KeyTable_P_KeyBase, {
+ "P_KeyBase", "infiniband.p_keytable.p_keybase",
+ FT_UINT16, BASE_HEX, NULL, 0x7FFF, NULL, HFILL}
+ },
+
+ /* SLtoVLMappingTable */
+ { &hf_infiniband_SLtoVLMappingTable_SLtoVL_HighBits, {
+ "SL(x)toVL", "infiniband.sltovlmappingtable.sltovlhighbits",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_SLtoVLMappingTable_SLtoVL_LowBits, {
+ "SL(x)toVL", "infiniband.sltovlmappingtable.sltovllowbits",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+
+ /* VLArbitrationTable */
+#if 0
+ { &hf_infiniband_VLArbitrationTable_VLWeightPairs, {
+ "VLWeightPairs", "infiniband.vlarbitrationtable.vlweightpairs",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_VLArbitrationTable_VL, {
+ "VL", "infiniband.vlarbitrationtable.vl",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_VLArbitrationTable_Weight, {
+ "Weight", "infiniband.vlarbitrationtable.weight",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* LinearForwardingTable */
+#if 0
+ { &hf_infiniband_LinearForwardingTable_LinearForwardingTableBlock, {
+ "LinearForwardingTableBlock", "infiniband.linearforwardingtable.linearforwardingtableblock",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_LinearForwardingTable_Port, {
+ "Port", "infiniband.linearforwardingtable.port",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* RandomForwardingTable */
+#if 0
+ { &hf_infiniband_RandomForwardingTable_RandomForwardingTableBlock, {
+ "RandomForwardingTableBlock", "infiniband.randomforwardingtable.randomforwardingtableblock",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_RandomForwardingTable_LID, {
+ "LID", "infiniband.randomforwardingtable.lid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_RandomForwardingTable_Valid, {
+ "Valid", "infiniband.randomforwardingtable.valid",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_RandomForwardingTable_LMC, {
+ "LMC", "infiniband.randomforwardingtable.lmc",
+ FT_UINT8, BASE_HEX, NULL, 0x70, NULL, HFILL}
+ },
+ { &hf_infiniband_RandomForwardingTable_Port, {
+ "Port", "infiniband.randomforwardingtable.port",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* MulticastForwardingTable */
+#if 0
+ { &hf_infiniband_MulticastForwardingTable_MulticastForwardingTableBlock , {
+ "MulticastForwardingTableBlock", "infiniband.multicastforwardingtable.multicastforwardingtableblock",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+ { &hf_infiniband_MulticastForwardingTable_PortMask, {
+ "PortMask", "infiniband.multicastforwardingtable.portmask",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* SMInfo */
+ { &hf_infiniband_SMInfo_GUID, {
+ "GUID", "infiniband.sminfo.guid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SMInfo_SM_Key, {
+ "SM_Key", "infiniband.sminfo.sm_key",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SMInfo_ActCount, {
+ "ActCount", "infiniband.sminfo.actcount",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SMInfo_Priority, {
+ "Priority", "infiniband.sminfo.priority",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_SMInfo_SMState, {
+ "SMState", "infiniband.sminfo.smstate",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+
+ /* VendorDiag */
+ { &hf_infiniband_VendorDiag_NextIndex, {
+ "NextIndex", "infiniband.vendordiag.nextindex",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_VendorDiag_DiagData, {
+ "DiagData", "infiniband.vendordiag.diagdata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* LedInfo */
+ { &hf_infiniband_LedInfo_LedMask, {
+ "LedMask", "infiniband.ledinfo.ledmask",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+
+ /* LinkSpeedWidthPairsTable */
+ { &hf_infiniband_LinkSpeedWidthPairsTable_NumTables, {
+ "NumTables", "infiniband.linkspeedwidthpairstable.numtables",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkSpeedWidthPairsTable_PortMask, {
+ "PortMask", "infiniband.linkspeedwidthpairstable.portmask",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkSpeedWidthPairsTable_SpeedTwoFive, {
+ "Speed 2.5 Gbps", "infiniband.linkspeedwidthpairstable.speedtwofive",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkSpeedWidthPairsTable_SpeedFive, {
+ "Speed 5 Gbps", "infiniband.linkspeedwidthpairstable.speedfive",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkSpeedWidthPairsTable_SpeedTen, {
+ "Speed 10 Gbps", "infiniband.linkspeedwidthpairstable.speedten",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+
+ /* NodeRecord */
+ /* PortInfoRecord */
+ /* SLtoVLMappingTableRecord */
+ /* SwitchInfoRecord */
+ /* LinearForwardingTableRecord */
+ /* RandomForwardingTableRecord */
+ /* MulticastForwardingTableRecord */
+ /* VLArbitrationTableRecord */
+ { &hf_infiniband_SA_LID, {
+ "LID", "infiniband.sa.lid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_EndportLID, {
+ "EndportLID", "infiniband.sa.endportlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_PortNum, {
+ "PortNum", "infiniband.sa.portnum",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_InputPortNum , {
+ "InputPortNum", "infiniband.sa.inputportnum",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_OutputPortNum, {
+ "OutputPortNum", "infiniband.sa.outputportnum",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_BlockNum_EightBit, {
+ "BlockNum_EightBit", "infiniband.sa.blocknum_eightbit",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_BlockNum_NineBit, {
+ "BlockNum_NineBit", "infiniband.sa.blocknum_ninebit",
+ FT_UINT16, BASE_HEX, NULL, 0x01FF, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_BlockNum_SixteenBit, {
+ "BlockNum_SixteenBit", "infiniband.sa.blocknum_sixteenbit",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_SA_Position, {
+ "Position", "infiniband.sa.position",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+#if 0
+ { &hf_infiniband_SA_Index, {
+ "Index", "infiniband.sa.index",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+
+ /* InformInfoRecord */
+ { &hf_infiniband_InformInfoRecord_SubscriberGID, {
+ "SubscriberGID", "infiniband.informinforecord.subscribergid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfoRecord_Enum, {
+ "Enum", "infiniband.informinforecord.enum",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* InformInfo */
+ { &hf_infiniband_InformInfo_GID, {
+ "GID", "infiniband.informinfo.gid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_LIDRangeBegin, {
+ "LIDRangeBegin", "infiniband.informinfo.lidrangebegin",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_LIDRangeEnd, {
+ "LIDRangeEnd", "infiniband.informinfo.lidrangeend",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_IsGeneric, {
+ "IsGeneric", "infiniband.informinfo.isgeneric",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_Subscribe, {
+ "Subscribe", "infiniband.informinfo.subscribe",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_Type, {
+ "Type", "infiniband.informinfo.type",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_TrapNumberDeviceID, {
+ "TrapNumberDeviceID", "infiniband.informinfo.trapnumberdeviceid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_QPN, {
+ "QPN", "infiniband.informinfo.qpn",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_RespTimeValue, {
+ "RespTimeValue", "infiniband.informinfo.resptimevalue",
+ FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL}
+ },
+ { &hf_infiniband_InformInfo_ProducerTypeVendorID, {
+ "ProducerTypeVendorID", "infiniband.informinfo.producertypevendorid",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* LinkRecord */
+ { &hf_infiniband_LinkRecord_FromLID, {
+ "FromLID", "infiniband.linkrecord.fromlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkRecord_FromPort, {
+ "FromPort", "infiniband.linkrecord.fromport",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkRecord_ToPort, {
+ "ToPort", "infiniband.linkrecord.toport",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_LinkRecord_ToLID, {
+ "ToLID", "infiniband.linkrecord.tolid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* ServiceRecord */
+ { &hf_infiniband_ServiceRecord_ServiceID, {
+ "ServiceID", "infiniband.linkrecord.serviceid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceGID, {
+ "ServiceGID", "infiniband.linkrecord.servicegid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceP_Key, {
+ "ServiceP_Key", "infiniband.linkrecord.servicep_key",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceLease, {
+ "ServiceLease", "infiniband.linkrecord.servicelease",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceKey, {
+ "ServiceKey", "infiniband.linkrecord.servicekey",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceName, {
+ "ServiceName", "infiniband.linkrecord.servicename",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceRecord_ServiceData, {
+ "ServiceData", "infiniband.linkrecord.servicedata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* ServiceAssociationRecord */
+ { &hf_infiniband_ServiceAssociationRecord_ServiceKey, {
+ "ServiceKey", "infiniband.serviceassociationrecord.servicekey",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_ServiceAssociationRecord_ServiceName, {
+ "ServiceName", "infiniband.serviceassociationrecord.servicename",
+ FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* PathRecord */
+ { &hf_infiniband_PathRecord_DGID, {
+ "DGID", "infiniband.pathrecord.dgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_SGID, {
+ "SGID", "infiniband.pathrecord.sgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_DLID, {
+ "DLID", "infiniband.pathrecord.dlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_SLID, {
+ "SLID", "infiniband.pathrecord.slid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_RawTraffic, {
+ "RawTraffic", "infiniband.pathrecord.rawtraffic",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_FlowLabel, {
+ "FlowLabel", "infiniband.pathrecord.flowlabel",
+ FT_UINT24, BASE_HEX, NULL, 0x0FFFFF, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_HopLimit, {
+ "HopLimit", "infiniband.pathrecord.hoplimit",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_TClass, {
+ "TClass", "infiniband.pathrecord.tclass",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_Reversible, {
+ "Reversible", "infiniband.pathrecord.reversible",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_NumbPath, {
+ "NumbPath", "infiniband.pathrecord.numbpath",
+ FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_P_Key, {
+ "P_Key", "infiniband.pathrecord.p_key",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_SL, {
+ "SL", "infiniband.pathrecord.sl",
+ FT_UINT16, BASE_HEX, NULL, 0x000F, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_MTUSelector, {
+ "MTUSelector", "infiniband.pathrecord.mtuselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_MTU, {
+ "MTU", "infiniband.pathrecord.mtu",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_RateSelector, {
+ "RateSelector", "infiniband.pathrecord.rateselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_Rate, {
+ "Rate", "infiniband.pathrecord.rate",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_PacketLifeTimeSelector, {
+ "PacketLifeTimeSelector", "infiniband.pathrecord.packetlifetimeselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_PacketLifeTime, {
+ "PacketLifeTime", "infiniband.pathrecord.packetlifetime",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_PathRecord_Preference, {
+ "Preference", "infiniband.pathrecord.preference",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* MCMemberRecord */
+ { &hf_infiniband_MCMemberRecord_MGID, {
+ "MGID", "infiniband.mcmemberrecord.mgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_PortGID, {
+ "PortGID", "infiniband.mcmemberrecord.portgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_Q_Key, {
+ "Q_Key", "infiniband.mcmemberrecord.q_key",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_MLID, {
+ "MLID", "infiniband.mcmemberrecord.mlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_MTUSelector, {
+ "MTUSelector", "infiniband.mcmemberrecord.mtuselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_MTU, {
+ "MTU", "infiniband.mcmemberrecord.mtu",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_TClass, {
+ "TClass", "infiniband.mcmemberrecord.tclass",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_P_Key, {
+ "P_Key", "infiniband.mcmemberrecord.p_key",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_RateSelector, {
+ "RateSelector", "infiniband.mcmemberrecord.rateselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_Rate, {
+ "Rate", "infiniband.mcmemberrecord.rate",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_PacketLifeTimeSelector, {
+ "PacketLifeTimeSelector", "infiniband.mcmemberrecord.packetlifetimeselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_PacketLifeTime, {
+ "PacketLifeTime", "infiniband.mcmemberrecord.packetlifetime",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_SL, {
+ "SL", "infiniband.mcmemberrecord.sl",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_FlowLabel, {
+ "FlowLabel", "infiniband.mcmemberrecord.flowlabel",
+ FT_UINT24, BASE_HEX, NULL, 0x0FFFFF, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_HopLimit, {
+ "HopLimit", "infiniband.mcmemberrecord.hoplimit",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_Scope, {
+ "Scope", "infiniband.mcmemberrecord.scope",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_JoinState, {
+ "JoinState", "infiniband.mcmemberrecord.joinstate",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_MCMemberRecord_ProxyJoin, {
+ "ProxyJoin", "infiniband.mcmemberrecord.proxyjoin",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+
+ /* MultiPathRecord */
+ { &hf_infiniband_MultiPathRecord_RawTraffic, {
+ "RawTraffic", "infiniband.multipathrecord.rawtraffic",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_FlowLabel, {
+ "FlowLabel", "infiniband.multipathrecord.flowlabel",
+ FT_UINT24, BASE_HEX, NULL, 0x0FFFFF, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_HopLimit, {
+ "HopLimit", "infiniband.multipathrecord.hoplimit",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_TClass, {
+ "TClass", "infiniband.multipathrecord.tclass",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_Reversible, {
+ "Reversible", "infiniband.multipathrecord.reversible",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_NumbPath, {
+ "NumbPath", "infiniband.multipathrecord.numbpath",
+ FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_P_Key, {
+ "P_Key", "infiniband.multipathrecord.p_key",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_SL, {
+ "SL", "infiniband.multipathrecord.sl",
+ FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_MTUSelector, {
+ "MTUSelector", "infiniband.multipathrecord.mtuselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_MTU, {
+ "MTU", "infiniband.multipathrecord.mtu",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_RateSelector, {
+ "RateSelector", "infiniband.multipathrecord.rateselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_Rate, {
+ "Rate", "infiniband.multipathrecord.rate",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_PacketLifeTimeSelector, {
+ "PacketLifeTimeSelector", "infiniband.multipathrecord.packetlifetimeselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_PacketLifeTime, {
+ "PacketLifeTime", "infiniband.multipathrecord.packetlifetime",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_IndependenceSelector, {
+ "IndependenceSelector", "infiniband.multipathrecord.independenceselector",
+ FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_GIDScope, {
+ "GIDScope", "infiniband.multipathrecord.gidscope",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_SGIDCount, {
+ "SGIDCount", "infiniband.multipathrecord.sgidcount",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_DGIDCount, {
+ "DGIDCount", "infiniband.multipathrecord.dgidcount",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_MultiPathRecord_SDGID, {
+ "SDGID", "infiniband.multipathrecord.sdgid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Notice */
+ { &hf_infiniband_Notice_IsGeneric, {
+ "IsGeneric", "infiniband.notice.isgeneric",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_Type, {
+ "Type", "infiniband.notice.type",
+ FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_ProducerTypeVendorID, {
+ "ProducerTypeVendorID", "infiniband.notice.producertypevendorid",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_TrapNumberDeviceID, {
+ "TrapNumberDeviceID", "infiniband.notice.trapnumberdeviceid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_IssuerLID, {
+ "IssuerLID", "infiniband.notice.issuerlid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_NoticeToggle, {
+ "NoticeToggle", "infiniband.notice.noticetoggle",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_NoticeCount, {
+ "NoticeCount", "infiniband.notice.noticecount",
+ FT_UINT16, BASE_HEX, NULL, 0x7FFF, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_DataDetails, {
+ "DataDetails", "infiniband.notice.datadetails",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#if 0
+ { &hf_infiniband_Notice_IssuerGID, {
+ "IssuerGID", "infiniband.notice.issuergid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Notice_ClassTrapSpecificData, {
+ "ClassTrapSpecificData", "infiniband.notice.classtrapspecificdata",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+
+ /* Traps 64,65,66,67 */
+ { &hf_infiniband_Trap_GIDADDR, {
+ "GIDADDR", "infiniband.trap.gidaddr",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ /* Traps 68,69 */
+ { &hf_infiniband_Trap_COMP_MASK, {
+ "COMP_MASK", "infiniband.trap.comp_mask",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_WAIT_FOR_REPATH, {
+ "WAIT_FOR_REPATH", "infiniband.trap.wait_for_repath",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+#if 0
+ { &hf_infiniband_Trap_PATH_REC, {
+ "PATH_REC", "infiniband.trap.path_rec",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+#endif
+
+ /* Trap 128 */
+ { &hf_infiniband_Trap_LIDADDR, {
+ "LIDADDR", "infiniband.trap.lidaddr",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Trap 129, 130, 131 */
+ { &hf_infiniband_Trap_PORTNO, {
+ "PORTNO", "infiniband.trap.portno",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Trap 144 */
+ { &hf_infiniband_Trap_OtherLocalChanges, {
+ "OtherLocalChanges", "infiniband.trap.otherlocalchanges",
+ FT_UINT8, BASE_HEX, NULL, 0x01, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_CAPABILITYMASK, {
+ "CAPABILITYMASK", "infiniband.trap.capabilitymask",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_LinkSpeecEnabledChange, {
+ "LinkSpeecEnabledChange", "infiniband.trap.linkspeecenabledchange",
+ FT_UINT8, BASE_HEX, NULL, 0x04, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_LinkWidthEnabledChange, {
+ "LinkWidthEnabledChange", "infiniband.trap.linkwidthenabledchange",
+ FT_UINT8, BASE_HEX, NULL, 0x02, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_NodeDescriptionChange, {
+ "NodeDescriptionChange", "infiniband.trap.nodedescriptionchange",
+ FT_UINT8, BASE_HEX, NULL, 0x01, NULL, HFILL}
+ },
+
+ /* Trap 145 */
+ { &hf_infiniband_Trap_SYSTEMIMAGEGUID, {
+ "SYSTEMIMAGEGUID", "infiniband.trap.systemimageguid",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Trap 256 */
+ { &hf_infiniband_Trap_DRSLID, {
+ "DRSLID", "infiniband.trap.drslid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_METHOD, {
+ "METHOD", "infiniband.trap.method",
+ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_ATTRIBUTEID, {
+ "ATTRIBUTEID", "infiniband.trap.attributeid",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_ATTRIBUTEMODIFIER, {
+ "ATTRIBUTEMODIFIER", "infiniband.trap.attributemodifier",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_MKEY, {
+ "MKEY", "infiniband.trap.mkey",
+ FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_DRNotice, {
+ "DRNotice", "infiniband.trap.drnotice",
+ FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_DRPathTruncated, {
+ "DRPathTruncated", "infiniband.trap.drpathtruncated",
+ FT_UINT8, BASE_HEX, NULL, 0x40, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_DRHopCount, {
+ "DRHopCount", "infiniband.trap.drhopcount",
+ FT_UINT8, BASE_HEX, NULL, 0x3F, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_DRNoticeReturnPath, {
+ "DRNoticeReturnPath", "infiniband.trap.drnoticereturnpath",
+ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Trap 257, 258 */
+ { &hf_infiniband_Trap_LIDADDR1, {
+ "LIDADDR1", "infiniband.trap.lidaddr1",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_LIDADDR2, {
+ "LIDADDR2", "infiniband.trap.lidaddr2",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_KEY, {
+ "KEY", "infiniband.trap.key",
+ FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_SL, {
+ "SL", "infiniband.trap.sl",
+ FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_QP1, {
+ "QP1", "infiniband.trap.qp1",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_QP2, {
+ "QP2", "infiniband.trap.qp2",
+ FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_GIDADDR1, {
+ "GIDADDR1", "infiniband.trap.gidaddr1",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_GIDADDR2, {
+ "GIDADDR2", "infiniband.trap.gidaddr2",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+
+ /* Trap 259 */
+ { &hf_infiniband_Trap_DataValid, {
+ "DataValid", "infiniband.trap.datavalid",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_PKEY, {
+ "PKEY", "infiniband.trap.pkey",
+ FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL}
+ },
+ { &hf_infiniband_Trap_SWLIDADDR, {
+ "SWLIDADDR", "infiniband.trap.swlidaddr",
+ FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL}
+ }
+ };
+
+ /* Array to hold expansion options between dissections */
+ static gint *ett[] = {
+ /* &ett_infiniband, */
+ &ett_all_headers,
+ &ett_lrh,
+ &ett_grh,
+ &ett_bth,
+ &ett_rwh,
+ &ett_rawdata,
+ &ett_rdeth,
+ &ett_deth,
+ &ett_reth,
+ &ett_atomiceth,
+ &ett_aeth,
+ &ett_atomicacketh,
+ &ett_immdt,
+ &ett_ieth,
+ &ett_payload,
+ &ett_vendor,
+ &ett_subn_lid_routed,
+ &ett_subn_directed_route,
+ &ett_subnadmin,
+ &ett_mad,
+ &ett_rmpp,
+ &ett_subm_attribute,
+ &ett_suba_attribute,
+ &ett_datadetails,
+ &ett_noticestraps,
+ /* &ett_nodedesc, */
+ /* &ett_nodeinfo, */
+ /* &ett_switchinfo, */
+ /* &ett_guidinfo, */
+ /* &ett_portinfo, */
+ &ett_portinfo_capmask,
+ &ett_pkeytable,
+ &ett_sltovlmapping,
+ &ett_vlarbitrationtable,
+ &ett_linearforwardingtable,
+ &ett_randomforwardingtable,
+ &ett_multicastforwardingtable,
+ &ett_sminfo,
+ &ett_vendordiag,
+ &ett_ledinfo,
+ &ett_linkspeedwidthpairs,
+ &ett_informinfo,
+ &ett_linkrecord,
+ &ett_servicerecord,
+ &ett_pathrecord,
+ &ett_mcmemberrecord,
+ &ett_tracerecord,
+ &ett_multipathrecord,
+ &ett_serviceassocrecord
+ };
+
proto_infiniband = proto_register_protocol("InfiniBand", "InfiniBand", "infiniband");
register_dissector("infiniband", dissect_infiniband, proto_infiniband);