diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-10-21 10:45:08 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 12:21:32 -0800 |
commit | c9126ae31d315127e66966b5c63a12cf8c66d44d (patch) | |
tree | a3b1d8e562f3981b17e9ca70b7dc8be8cb85ec0c /tools/dissectors/epan | |
parent | 32f0e96d8cb3ae8b893579b0ab26a2b4942a2091 (diff) | |
download | uhd-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.cpp | 17 |
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(); |