aboutsummaryrefslogtreecommitdiffstats
path: root/tools/dissectors/epan
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-10-21 10:45:08 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 12:21:32 -0800
commitc9126ae31d315127e66966b5c63a12cf8c66d44d (patch)
treea3b1d8e562f3981b17e9ca70b7dc8be8cb85ec0c /tools/dissectors/epan
parent32f0e96d8cb3ae8b893579b0ab26a2b4942a2091 (diff)
downloaduhd-c9126ae31d315127e66966b5c63a12cf8c66d44d.tar.gz
uhd-c9126ae31d315127e66966b5c63a12cf8c66d44d.tar.bz2
uhd-c9126ae31d315127e66966b5c63a12cf8c66d44d.zip
tools: rfnoc dissector: Add EOB and EOV into tree
This will display EOB and EOV flags in the Wireshark dissector window.
Diffstat (limited to 'tools/dissectors/epan')
-rw-r--r--tools/dissectors/epan/rfnoc/packet-rfnoc.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/tools/dissectors/epan/rfnoc/packet-rfnoc.cpp b/tools/dissectors/epan/rfnoc/packet-rfnoc.cpp
index 2c53f80dd..ca3154e02 100644
--- a/tools/dissectors/epan/rfnoc/packet-rfnoc.cpp
+++ b/tools/dissectors/epan/rfnoc/packet-rfnoc.cpp
@@ -192,6 +192,8 @@ static int dissect_rfnoc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
gint flag_offset;
guint8 *bytes;
guint8 hdr_bits = 0;
+ gboolean is_eob = 0;
+ gboolean is_eov = 0;
uint64_t timestamp;
int chdr_len = 0;
gboolean is_network;
@@ -212,7 +214,7 @@ static int dissect_rfnoc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
len = tvb_reported_length(tvb);
- if (tree){
+ if (tree) {
guint64 hdr = tvb_get_letoh64(tvb, 0);
uhd::rfnoc::chdr::chdr_header chdr_hdr(hdr);
chdr_len = chdr_hdr.get_length();
@@ -281,14 +283,14 @@ static int dissect_rfnoc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
}
/* Add data0 */
proto_tree_add_uint(ctrl_tree, hf_rfnoc_ctrl_data0, tvb, offset+12, 4, payload.data_vtr[0]);
- /* Add op code */
+ /* Add op code */
proto_tree_add_string(
ctrl_tree, hf_rfnoc_ctrl_opcode, tvb, offset+11, 1,
val_to_str(payload.op_code, RFNOC_CTRL_OPCODES, "reserved")
);
/* Add address */
proto_tree_add_uint(ctrl_tree, hf_rfnoc_ctrl_address, tvb, offset+8, 3, payload.address);
- /* Add status */
+ /* Add status */
proto_tree_add_string(
ctrl_tree, hf_rfnoc_ctrl_status, tvb, offset+11, 1,
val_to_str(payload.status, RFNOC_CTRL_STATUS, "reserved")
@@ -395,7 +397,14 @@ static int dissect_rfnoc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
}
}
}
- if (pkttype == uhd::rfnoc::chdr::packet_type_t::PKT_TYPE_DATA_NO_TS) {
+ if (pkttype == uhd::rfnoc::chdr::packet_type_t::PKT_TYPE_DATA_NO_TS
+ || pkttype == uhd::rfnoc::chdr::packet_type_t::PKT_TYPE_DATA_WITH_TS) {
+ is_eob = chdr_hdr.get_eob();
+ is_eov = chdr_hdr.get_eov();
+ proto_tree_add_boolean(
+ rfnoc_tree, hf_rfnoc_hdr_eob, tvb, offset + 7, 1, is_eob);
+ proto_tree_add_boolean(
+ rfnoc_tree, hf_rfnoc_hdr_eov, tvb, offset + 7, 1, is_eov);
}
if (pkttype == uhd::rfnoc::chdr::packet_type_t::PKT_TYPE_DATA_WITH_TS) {
auto pkt = pkt_factory.make_generic();