Commit Graph

165 Commits

Author SHA1 Message Date
Uli Heilmeier 21ee658f91 Infiniband: Decode AETH syndrome byte
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>
2018-01-28 02:21:10 +00:00
Nathaniel Clark bbc44b7763 Infiniband: Fix number of bytes exported if ip_cm_sid
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>
2017-12-20 14:12:35 +00:00
Hal Rosenstock dc18da434b packet-infiniband: Proper parsing of ClassPortInfo attribute
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>
2017-11-05 13:34:37 +00:00
Hal Rosenstock 802517e917 packet-infiniband: SM class does not support ClassPortInfo or InformInfo attributes
Change-Id: I1fbe7a93e8a208a1a4abaf0b64e674536b642733
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24229
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-11-04 07:45:07 +00:00
Hal Rosenstock 834c65a1f8 packet-infiniband: Make unknown GS class attributes show up in wireshark Info column
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>
2017-11-04 07:44:53 +00:00
Hal Rosenstock 0cd40887d4 packet-infiniband: Better variable naming
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>
2017-11-04 07:21:32 +00:00
Hal Rosenstock b4856927eb packet-infiniband: DETH Queue Key should be hex rather than decimal
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>
2017-11-04 07:20:45 +00:00
Hal Rosenstock 002133c606 packet-infiniband: Make unknown PerfMgt attributes show up as PERF in wireshark Info column
Change-Id: I9f6a60adaa0744d13d6c000d1a4e20f3b526355b
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24231
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-04 07:20:24 +00:00
Hal Rosenstock b70429427f packet-infiniband: Fix commentary typo (for consistency)
Change GuidInforecord -> GuidInfoRecord
Also, change VLArbitrationTableRecord comment to be consistent

Change-Id: Ia7cc844779a8751bd7675354b71239922327d0e8
Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com>
Reviewed-on: https://code.wireshark.org/review/24230
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-04 07:19:33 +00:00
Hal Rosenstock 3c2f217940 packet-infiniband: Add missing SA methods into mad_method_str
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>
2017-11-04 07:18:27 +00:00
Hal Rosenstock 9b82c6b21e packet-infiniband: Fixed some PortInfo:CapabilityMask bit names
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>
2017-11-04 07:18:05 +00:00
Hal Rosenstock c04c92fbf9 packet-infiniband: Add first and last to RMPP_Flags
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>
2017-11-04 07:17:36 +00:00
Hal Rosenstock b3f4ca6077 packet-infiniband: Fix some SM class attribute IDs
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>
2017-11-04 07:17:17 +00:00
Hal Rosenstock 92dc84cff9 packet-infiniband: Fix SA MCMemberRecord attribute name
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>
2017-11-04 06:48:11 +00:00
Hal Rosenstock 8894195a47 packet-infiniband: Use SA rather than SMA as Subnet Administration header
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>
2017-11-04 06:47:46 +00:00
Hal Rosenstock b9c5601dd8 packet-infiniband: Removed erroneous MadHeader comments
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>
2017-11-04 06:46:25 +00:00
Michael Mann abfb644117 Add conversation endpoint type
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>
2017-10-29 16:53:57 +00:00
Guy Harris 458c3c026e Add a ws_in6_addr typedef for struct e_in6_addr.
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>
2017-10-26 08:50:34 +00:00
Jorge Mora da8dbd2471 infiniband: add PSN and RETH DMA length to infinibandinfo struct
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>
2017-10-12 01:45:12 +00:00
Jorge Mora 95ce7daf65 infiniband: fix OpCodeMap string for UC_RDMA_WRITE_MIDDLE
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>
2017-10-09 19:32:09 +00:00
Alexis La Goutte 27c7aa38aa infiniband: fix ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
Change-Id: I892e7a92c231293f1977cba4513b49afda8c676c
Reviewed-on: https://code.wireshark.org/review/23823
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-10-03 10:53:27 +00:00
Guy Harris 12684c7e4e Don't use proto_tree_add_uint() with FT_BYTES.
Change-Id: Ic647f39824e3d18a1a8d1aaef997ccd41db445c0
Reviewed-on: https://code.wireshark.org/review/23667
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-09-24 06:01:49 +00:00
Michael Mann 7d65b573f2 Have register_decode_as_next_proto create dissector table.
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>
2017-09-16 11:12:29 +00:00
Alexis La Goutte 1f759e3b63 infinibnand: remove multi space before tvb (on proto_tree_add_item)
Change-Id: Ie94127b42cb6fbd08fa17c8dcfaffff65a21aee6
Reviewed-on: https://code.wireshark.org/review/23460
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-12 05:50:36 +00:00
Alexis La Goutte 55dcb64558 infiniband: always return line for offset
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>
2017-09-10 20:00:15 +00:00
Alexis La Goutte 5f5a898541 infiniband: always display reserved field...
Change-Id: If6976b2e1990ae562579134dbab3550faae8cfe3
Reviewed-on: https://code.wireshark.org/review/23458
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-10 19:59:00 +00:00
Alexis La Goutte 27865070e0 infiniband: merge all reserved field
Change-Id: I31a0d84e9f9e811cc0568d171c6bd6f1fa3397c6
Reviewed-on: https://code.wireshark.org/review/23457
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-10 19:58:27 +00:00
Alexis La Goutte e7ec9c5538 infiniband: always return line for local_offset
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>
2017-09-10 19:57:33 +00:00
Alexis La Goutte 53c9d25694 Revert "infiniband: fix bitmap for Local CM Response Timeout / Retry Count"
This reverts commit e624445adf.

Bug: 13997
Change-Id: I80c6842f890c7c6e9674a6f51732bf0eadec1de8
Reviewed-on: https://code.wireshark.org/review/23454
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-10 19:56:04 +00:00
Alexis La Goutte c6e3fe5957 infiniband : Add value string for BTH opcode
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>
2017-09-10 12:39:50 +00:00
Alexis La Goutte 74a79b28b0 infiniband: fix bitmap for Remote CM Response Timeout / Transport Service Type
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>
2017-08-28 05:51:34 +00:00
Alexis La Goutte 7aeff4fb90 Revert "infiniband: swap Local CM Response Timeout / Retry Count field"
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>
2017-08-28 00:39:01 +00:00
Alexis La Goutte 50227b0f6e infiniband: fix infiniband: sIP and dIP inside IP CM Private Data are decoded in the wrong order
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>
2017-08-26 08:19:17 +00:00
Alexis La Goutte 4b8fee9da8 infiniband: swap Local CM Response Timeout / Retry Count field
Change-Id: Id693a83292ac7c3683a8e24a58dd452d828125d7
Ping-Bug: 13997
Reviewed-on: https://code.wireshark.org/review/23189
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>
2017-08-25 04:39:37 +00:00
Alexis La Goutte e624445adf infiniband: fix bitmap for Local CM Response Timeout / Retry Count
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>
2017-08-24 04:59:12 +00:00
Michael Mann 9b3c8d4515 Expand register_decode_as_next_proto to include prompt string.
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>
2017-07-11 08:41:49 +00:00
Nitzan Carmi 86fceac9ad infiniband: add RETH remote key to infinibandinfo struct
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>
2017-06-15 04:11:38 +00:00
Alexis La Goutte c1e6724cf6 dissectors: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7
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>
2017-03-05 22:39:13 +00:00
Dario Lombardo d6282d59a7 infiniband: add shutdown routine.
Change-Id: I3e7c1b8f589662a81c665b8b43056f20c17428ca
Reviewed-on: https://code.wireshark.org/review/19704
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-20 18:37:17 +00:00
Parav Pandit a4bbd3cc77 packet-infiniband: Pass read request packets to ULP dissectors
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>
2017-01-13 02:56:04 +00:00
Jeff Morriss ae5dbe1b63 Add support for RROCE(v2) over IPv4 (without UDP).
This isn't standard but has been seen in the wild, see:
https://ask.wireshark.org/questions/58521/cannot-decode-rocev2-traffic

With this change users can Decode-As an IP Protocol as RROCE (by selecting
Infiniband (IB) as the protocol).

Change-Id: Iec865478d056f687f2f66124d6e936f67707d2c4
Reviewed-on: https://code.wireshark.org/review/19572
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-01-07 06:57:55 +00:00
Jeff Morriss a8d4051e69 Update the preference help text to indicate the correct default RROCE port.
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>
2017-01-05 22:26:08 +00:00
Guy Harris a2d6fb94fc No reason not to use etype_vals for an Ethertype field.
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>
2017-01-04 02:10:24 +00:00
Dario Lombardo 564051df5e infiniband: remove offset variable.
Change-Id: Ie86c2aece05ebbc35eb15a54d8c3f2c455ff53cf
Reviewed-on: https://code.wireshark.org/review/19516
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
2017-01-03 15:02:41 +00:00
Dario Lombardo 8c86f3b0a3 infiniband: fix error for clobbered variable.
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>
2017-01-03 13:31:07 +00:00
Michael Mann 40c618eac5 Infiniband: Use base of packet tree (top_tree) for "infiniband.mad.cm.private" heuristic dissector.
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>
2016-12-28 08:58:44 +00:00
Michael Mann 4c50e4b5c4 Improve Infiniband heuristic subdissection.
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>
2016-12-20 22:15:56 +00:00
Michael Mann a942468e07 Make more infiniband subdissectors heuristic.
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>
2016-12-19 14:19:48 +00:00
Parav Pandit 9f9086c392 packet-infiniband: Update conversation src port for exact lookup
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>
2016-12-13 03:22:05 +00:00
Guy Harris 98ec464f0c Revert "Revert "Don't use a local variable's address in set_address().""
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>
2016-12-08 09:07:21 +00:00