Used reference:
Book "InfiniBand Network Architecture" by Tom Shanley; page 369 ff
Bug: 14359
Change-Id: I77e64ca16ccc5f193eac34b304165f722ffb0748
Reviewed-on: https://code.wireshark.org/review/25489
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
If parse_CM_Req parses a IP_CM_Req_Msg, export just the payload,
instead of the ip_cm_sid and the payload.
Change-Id: I67258d2f6d240885e48ea537906d2769eafe3bae
Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-on: https://code.wireshark.org/review/24796
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
ClassPortInfo is a common attribute for general service (GS)
management classes.
SA ClassPortInfo is currently parsed as PortInfo although
these are different attributes.
Also, added support for PerfMgt ClassPortInfo.
Bug: 14164
Change-Id: I652ba8ed2e0222db41ce2eb2e01a9c4b446e5bd4
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24235
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
The following GS classes are now displayed there:
BM
DEV_MGT
SNMP
VENDOR
APP
RESERVED
Change-Id: I94822784a7027afa1d5e99ca20467721a98cfe0a
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24234
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Rather than use PERF_header_item for all classes,
use acronym for class appended with _header_item
Change-Id: I52ac46000c20b7f51c87c8dc4a8dfc85c20f31f3
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24233
Reviewed-by: Anders Broman <a.broman58@gmail.com>
as it is in other places where there is Q_Key
Was:
DETH - Datagram Extended Transport Header
Queue Key: 2147549184
Now:
DETH - Datagram Extended Transport Header
Queue Key: 0x0000000080010000
Change-Id: I64d4b485e2a511c30b0e4a2849f529438591a122
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24232
Reviewed-by: Anders Broman <a.broman58@gmail.com>
so they are not indicated as Method: Unknown under
MAD Header - Common Management Datagram
Change-Id: I8e8fe918eea86e7095967d0b82772a813eafe2a5
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24228
Reviewed-by: Anders Broman <a.broman58@gmail.com>
to be consistent with IBA volume 1 spec
IsOptionalIPDSupported
IsCommunicationManagementSupported
Change-Id: I55b29b7f291f49a9d0c3e104bda4d7d7aa78b42b
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24227
Reviewed-by: Anders Broman <a.broman58@gmail.com>
RMPP flags 7 indicates that packet is both first and last
packet in transfer
Change-Id: Idf0e8783372296a7c276c8c0c80e4905afbe6c9a
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24226
Reviewed-by: Anders Broman <a.broman58@gmail.com>
LinkSpeedWidthPairsTable is 0x001C
SMInfo is 0x0020
VendorDiag is 0x0030
LedInfo is 0x0031
Change-Id: I93197590930a97c8538ef69d08213b1076a9f66a
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24225
Reviewed-by: Anders Broman <a.broman58@gmail.com>
rather than MCMembersRecord
Change-Id: I96bf3ac45255295cf85b9faf0547df4df26f11c3
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24222
Reviewed-by: Anders Broman <a.broman58@gmail.com>
SMA is acronym for Subnet Management Agent not Subnet Administration
so change this from SMA to SA
Change-Id: I1a293fff5de4796fe337daa133943bfa059cc9ff
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24224
Reviewed-by: Anders Broman <a.broman58@gmail.com>
as it is not parameter in these APIs
Also, fixed commentary typo
Change-Id: I1ce53b9aae9837688e756b2e665f3b1df74b572c
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24223
Reviewed-by: Anders Broman <a.broman58@gmail.com>
For the moment this mirrors the port_type enumeration (PT_XXX), but the
intent is to move away from using "port types", eliminating most (if not
all)
Added conversation_pt_to_endpoint_type() so that conversations deal with the
correct enumeration. This is for dissector that use pinfo->ptype as input
to conversation APIs. Explicit use of port types are converted to using
ENDPOINT_XXX type.
Change-Id: Ia0bf553a3943b702c921f185407e03ce93ebf0ef
Reviewed-on: https://code.wireshark.org/review/24166
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
That allows a parallel typedef of ws_in4_addr for guint32.
Change-Id: I03b230247065e0e3840eb87635315a8e523ef562
Reviewed-on: https://code.wireshark.org/review/24073
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Expose the PSN (packet sequence number) and the RETH DMA length
to protocol's dissectors.
Change-Id: Ied53a8964d7cd5c3d148ec7c7642017951e56118
Reviewed-on: https://code.wireshark.org/review/23886
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Make string mapping for UC_RDMA_WRITE_MIDDLE consistent with
all other mappings in the OpCodeMap table.
Remove extra blank lines in the OpCodeMap table.
Change-Id: Ifb3e242a89458103f3db3b5718d5d939dffb6dae
Reviewed-on: https://code.wireshark.org/review/23867
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
For protocols that have don't have a unique identifier for their
payload, have register_decode_as_next_proto be a one stop shop to
create Decode As functionality and a dissector table of type FT_NONE.
Change-Id: Ic1f2e9ed0aee0554a4eb8f232630b99c0604dfc0
Reviewed-on: https://code.wireshark.org/review/22575
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: I34d631ac913620dbc661b9d56d4e34502c9b7d35
Reviewed-on: https://code.wireshark.org/review/23459
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Change-Id: I8bd9e76e44254c45be26c616bf22f712bcf50881
Reviewed-on: https://code.wireshark.org/review/23456
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Bug: 13998
Change-Id: Idd369e364bd2464b278fb4abcc1e77a0f8892641
Reviewed-on: https://code.wireshark.org/review/23452
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Issue reported by Yao Lin
Ping-Bug: 13997
Change-Id: Ia90e58826c228500da0177fa2b8b90ec9ec2ff74
Reviewed-on: https://code.wireshark.org/review/23237
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Follow the order of spec
This reverts commit 4b8fee9da8.
Change-Id: Ifeaf2c68813f8c452b6ab0247cd7a4313c95f619
Reviewed-on: https://code.wireshark.org/review/23236
Reviewed-by: Michael Mann <mmann78@netscape.net>
Issue reported by Yao Lin
Bug: 14002
Change-Id: Ib49f74edbaac4830340fb9d7dba5105f0bdeb2f1
Reviewed-on: https://code.wireshark.org/review/23200
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Issue reported by Yao Lin
Ping-Bug: 13997
Change-Id: I84fbf70b1871ce740f52b1b9dd9c1b8ed2af41e3
Reviewed-on: https://code.wireshark.org/review/23183
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Many dissectors don't have an identifier to pass to a dissector table.
When using Decode As they all have a "value" function that returns 0
just so something is returned.
A first step to a cleaner refactor of the functionality is to allow
dissectors to provide a "prompt" function when registering Decode As
with register_decode_as_next_proto() so that the text exposed in
the GUI can vary, but the function that returns 0 (nothing) can be
consolidated under decode as registration functionality. This casts
a wider net for register_decode_as_next_proto() use.
Change-Id: I2995b3c251dae70f5f529b672473d25c6288ed5c
Reviewed-on: https://code.wireshark.org/review/22562
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
RETH remote key might be needed in protocol's dissectors.
Remote access key is shared out of band usually via RDMA
send operation. This key sharing is upper layer protocol specific
and protocol dissector knows about the key.
infiniband layer do not know about which rkey is shared.
For protocol dissectors to associate data packets with past
command packets, infiniband needs to provide the rkey.
Change-Id: I927116d649ed2b01c388afbcdb924cb7e5128e12
Signed-off-by: Nitzan Carmi <nitzanc@mellanox.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Tested-by: Nitzan Carmi <nitzanc@mellanox.com>
Reviewed-on: https://code.wireshark.org/review/22123
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Change-Id: Iba6238988ded675cba328ab512232d1919d93b4a
Reviewed-on: https://code.wireshark.org/review/20415
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This patch passes RDMA read request packets to ULP dissectors similar to
other RDMA packets so that ULP dissector can have opportunity to show as
upper layer protocol instead of IB or RRoCE.
Change-Id: I594d8eada858b7f77fc94be44e3639526789779e
Tested-by: paravpandit@yahoo.com
Reviewed-on: https://code.wireshark.org/review/19619
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
I97b82fb53fd63d9107ee5d4c64b94840e743fc72 changed the default but not the
help text.
Change-Id: I05375c44c01703e36686d0a16a094cb8d6b3dcd2
Reviewed-on: https://code.wireshark.org/review/19557
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Maybe there was an issue on Windows back in the old days, when 1) we
didn't have a shared libwireshark library from which to import functions
and data variables and thus you couldn't get variables such as
etype_vals in a plugin and 2) the Infiniband dissector was a plugin, but
neither of those are the case any more.
Change-Id: Id8b82886317bd36a32ad1e1591673623696d4808
Reviewed-on: https://code.wireshark.org/review/19530
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Given by gcc-4.9.2 on arm:
epan/dissectors/packet-infiniband.c:2708:9: error: variable ‘offset’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
int offset = 0;
^
cc1: all warnings being treated as errors
Change-Id: I12066031093c1fa638792ff8be8f3f5457e3feda
Reviewed-on: https://code.wireshark.org/review/19515
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
The "infiniband.payload" heuristic dissector was converted to use the base
of the packet tree so that subdissectors could show their protocol as the
base layer. Since many of the subdissectors use the same dissection function
for both "infiniband.payload" and "infiniband.mad.cm.private", ensure that
both use the same "tree level", but still pass in the "payload tree" as part
of the dissector data in case a subdissector wants to use it (currently used
by InfinibandSDP)
Ping-Bug: 13259
Change-Id: I899e8348f6b23d8eee9e74764d8ca32d7bf6e625
Tested-by: paravpandit@yahoo.com
Reviewed-on: https://code.wireshark.org/review/19441
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Parav Pandit <paravpandit@yahoo.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add preference in Infiniband dissector to distinguish between
heuristic and non-heuristic dissection (that uses Decode As).
Remove all of the preferences in the Infiniband subdissectors that
tried to put in "manual" heuristics and direct users to just use
Decode As. Most subdissectors still kept some basic heuristics in
their heuristic functions, but now also register with the Infiniband
dissector table for "manually" forcing dissection with Decode As.
Ping-Bug: 13259
Change-Id: I20d56eee38887664b439e52ec5f5b8f962c45ef1
Reviewed-on: https://code.wireshark.org/review/19362
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
1. Convert the Mellanox encapsulation header into a heuristic dissector.
2. Convert EtherType header dissection into a heuristic dissector.
3. Convert "heuristic preferences" to use deprecated_heur_dissector_pref.
Ping-Bug: 5061
Ping-Bug: 2672
Change-Id: Iabcac1af8e07f3f6f25f825ed56b2036c3285783
Reviewed-on: https://code.wireshark.org/review/19317
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Dissectors above infiniband (such as RPC dissector)
performs exact lookup on saddr, daddr, sport, dport. They are unaware
that underlying transport is infiniband which doesn't have src_qp in
packets. Due to which srcport remains uninitialized and exact lookup
fails.
In order to get them work seemlessly, this fix updates the sport
to src_qp (similar to destport to dest_qp). With this upper level
dissectors can perform direct lookup similar to TCP. Those which need to
access private data of unidirectional CM messages, can still continue to
perform unidirectional lookup as before.
It also fixes the issue where req_qp and resp_qp were swapped during
bidirectional conversation creation. This was caught during testing with
packet-rpc.c by Chuck Lever.
Tested protocols:
1. nfs-rdma over Infiniband with trace of Bug 13213
2. ICMP packets over Infiniband
3. NVMe fabrics over RDMA
Tested with trace of Bug 13201 for Nvme.
Bug: 13202
Bug: 13213
Change-Id: Ica1b6aae3ccaa6642dc3b3edfa9a5a4c335cc5da
Tested-by: paravpandit@yahoo.com
Reviewed-on: https://code.wireshark.org/review/19190
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This reverts commit 92a2c184b0.
Actually, that address *is* attached to a pinfo structure.
Change-Id: I183135f9cf10a6714045091d2ae02d2799093bae
Reviewed-on: https://code.wireshark.org/review/19143
Reviewed-by: Guy Harris <guy@alum.mit.edu>