aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss.ws@gmail.com>2017-01-06 10:10:27 -0500
committerAnders Broman <a.broman58@gmail.com>2017-01-07 06:57:55 +0000
commitae5dbe1b63b5660e46d0fbd5c1bb0b6e8fa8f45f (patch)
tree01390ff9ef5ff33cac2a763a39707b7d894b6645
parentea7440481e2d6c28f54c83bc190a1aef206ab937 (diff)
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>
-rw-r--r--epan/dissectors/packet-infiniband.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/epan/dissectors/packet-infiniband.c b/epan/dissectors/packet-infiniband.c
index 420a3df990..d4025426a8 100644
--- a/epan/dissectors/packet-infiniband.c
+++ b/epan/dissectors/packet-infiniband.c
@@ -8047,12 +8047,16 @@ void proto_reg_handoff_infiniband(void)
{
dissector_delete_uint("udp.port", prev_rroce_udp_port, rroce_handle);
}
- /*we are saving the previous value of rroce udp port so we will be able to remove the dissector
+ /* We are saving the previous value of rroce udp port so we will be able to remove the dissector
* the next time user pref is updated and we get called back to proto_reg_handoff_infiniband.
- "Auto" preference not used because port isn't for infiniband protocol itself */
+ * "Auto" preference not used because port isn't for the Infiniband protocol itself.
+ */
prev_rroce_udp_port = pref_rroce_udp_port;
dissector_add_uint("udp.port", pref_rroce_udp_port, rroce_handle);
+ /* RROCE over IPv4 isn't standardized but it's been seen in the wild */
+ dissector_add_for_decode_as("ip.proto", rroce_handle);
+
dissector_add_uint("wtap_encap", WTAP_ENCAP_INFINIBAND, ib_handle);
heur_dissector_add("infiniband.payload", dissect_mellanox_eoib, "Mellanox EoIB", "mellanox_eoib", proto_mellanox_eoib, HEURISTIC_ENABLE);