aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rpcrdma.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2016-12-04 21:47:57 -0500
committerMichael Mann <mmann78@netscape.net>2016-12-06 21:13:44 +0000
commitebe948bf983c5ff5b0805f16647ffa974d7f1bd6 (patch)
tree53c2c5061844a86db079e74524bf1ad6c8374193 /epan/dissectors/packet-rpcrdma.c
parent8c748af03dbd3f0484a14cb3a7b9341b1adb68da (diff)
packet-rpcrdma: Add filter variable for Write chunk segment count
Allow the Write segment count field to be selected and filtered on. In many Write chunks there is just one segment. However in some special cases there can be multiple segments in a Write or Reply chunk. Change-Id: Ic4a4104e3a44bf4f2c96e4e5353a10e7547350c9 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-on: https://code.wireshark.org/review/19102 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-rpcrdma.c')
-rw-r--r--epan/dissectors/packet-rpcrdma.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rpcrdma.c b/epan/dissectors/packet-rpcrdma.c
index 724a27a37a..24fd83831a 100644
--- a/epan/dissectors/packet-rpcrdma.c
+++ b/epan/dissectors/packet-rpcrdma.c
@@ -70,6 +70,7 @@ static int hf_rpcordma_writes_count = -1;
static int hf_rpcordma_reply_count = -1;
static int hf_rpcordma_position = -1;
+static int hf_rpcordma_segment_count = -1;
/* rdma_segment */
static int hf_rpcordma_rdma_handle = -1;
@@ -338,6 +339,8 @@ static guint dissect_rpcrdma_write_chunk(proto_tree *write_list,
ett_rpcordma_write_chunk, NULL,
"Write chunk (%u segment%s)", segment_count,
segment_count == 1 ? "" : "s");
+ proto_tree_add_item(write_chunk, hf_rpcordma_segment_count,
+ tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
for (i = 0; i < segment_count; ++i)
@@ -715,6 +718,11 @@ proto_register_rpcordma(void)
FT_UINT32, BASE_DEC,
NULL, 0, NULL, HFILL }
},
+ { &hf_rpcordma_segment_count,
+ { "Write chunk segment count", "rpcordma.segment_count",
+ FT_UINT32, BASE_DEC,
+ NULL, 0, NULL, HFILL }
+ },
{ &hf_rpcordma_rdma_align,
{ "RDMA align", "rpcordma.rdma_align",
FT_UINT32, BASE_DEC,