aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Mora <jmora1300@gmail.com>2022-03-10 11:19:12 -0700
committerA Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2022-03-16 05:33:46 +0000
commit596c4151d8404088efa0be0b2512efe446ea5526 (patch)
treed6a3d6c4705cebb7deb683dcf8af0bacf2372aa0
parent8749bbca31ca0c3a5135944bbfbc91cca84d7604 (diff)
RPCoRDMA: add iWarp reply chunk reassembly
Make sure to process RDMA_NOMSG not only for Infiniband but for iWarp as well. Related to #17963.
-rw-r--r--epan/dissectors/packet-rpcrdma.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/epan/dissectors/packet-rpcrdma.c b/epan/dissectors/packet-rpcrdma.c
index 49b71bc9b2..0532cb6517 100644
--- a/epan/dissectors/packet-rpcrdma.c
+++ b/epan/dissectors/packet-rpcrdma.c
@@ -1591,20 +1591,18 @@ dissect_rpcrdma(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
case RDMA_NOMSG:
/* Parse rpc_rdma_header_nomsg */
offset = parse_rdma_header(tvb, offset, rpcordma_tree, &rdma_lists);
- if (gp_infiniband_info) {
- if (pinfo->fd->visited) {
- /* Reassembly was done on the first pass, so just get the reassembled data */
- next_tvb = get_reassembled_data(tvb, offset, pinfo, tree);
- } else {
- next_tvb = process_rdma_lists(tvb, offset, &rdma_lists, pinfo, tree);
- }
- if (next_tvb) {
- /*
- * Even though there is no data in this frame, reassembly for
- * the reply chunk is done in this frame so dissect upper layer
- */
- call_dissector(rpc_handler, next_tvb, pinfo, tree);
- }
+ if (pinfo->fd->visited) {
+ /* Reassembly was done on the first pass, so just get the reassembled data */
+ next_tvb = get_reassembled_data(tvb, offset, pinfo, tree);
+ } else {
+ next_tvb = process_rdma_lists(tvb, offset, &rdma_lists, pinfo, tree);
+ }
+ if (next_tvb) {
+ /*
+ * Even though there is no data in this frame, reassembly for
+ * the reply chunk is done in this frame so dissect upper layer
+ */
+ call_dissector(rpc_handler, next_tvb, pinfo, tree);
}
break;