diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2017-01-06 10:10:27 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-01-07 06:57:55 +0000 |
commit | ae5dbe1b63b5660e46d0fbd5c1bb0b6e8fa8f45f (patch) | |
tree | 01390ff9ef5ff33cac2a763a39707b7d894b6645 | |
parent | ea7440481e2d6c28f54c83bc190a1aef206ab937 (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.c | 8 |
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); |