diff options
author | Jorge Mora <jmora1300@gmail.com> | 2022-03-10 11:19:12 -0700 |
---|---|---|
committer | A Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2022-03-16 05:33:46 +0000 |
commit | 596c4151d8404088efa0be0b2512efe446ea5526 (patch) | |
tree | d6a3d6c4705cebb7deb683dcf8af0bacf2372aa0 /epan/dissectors/packet-rpcrdma.c | |
parent | 8749bbca31ca0c3a5135944bbfbc91cca84d7604 (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.
Diffstat (limited to 'epan/dissectors/packet-rpcrdma.c')
-rw-r--r-- | epan/dissectors/packet-rpcrdma.c | 26 |
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; |