Skip to content

Commit 9fb7b7d

Browse files
committed
add ECB Header / IHT to Extended Header
1 parent 53cb8a6 commit 9fb7b7d

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

epan/dissectors/packet-appneta.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ static int hf_appneta_resp_cb_request_reserved1;
105105
static int hf_appneta_resp_cb_request_reserved2;
106106
static int hf_appneta_resp_cb_ready_reserved1;
107107
static int hf_appneta_resp_cb_ready_reserved2;
108+
static int hf_appneta_resp_ecb_iht;
108109
static int hf_appneta_resp_ecb_request_padding;
109110
static int hf_appneta_resp_ecb_request_flags;
110111
static int hf_appneta_resp_ecb_request_flags_first_seq;
@@ -638,7 +639,7 @@ add_subtree(tvbuff_t *tvb, int *offset, proto_tree *current_tree,
638639
static int
639640
dissect_responder_headers_parse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *appneta_resp_tree, int offset, int currentHeader, appneta_pkt_type_t appneta_pkt_type)
640641
{
641-
int remaining = tvb_captured_length_remaining(tvb, 0);
642+
int remaining = tvb_captured_length_remaining(tvb, offset);
642643
uint32_t pass = 0;
643644

644645
while (currentHeader != HDR_LAST && currentHeader < HDR_INVALID) {
@@ -1417,9 +1418,18 @@ dissect_appneta_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
14171418

14181419
++offset;
14191420
if (bytes >= ecb_payload_min_size && tvb_captured_length_remaining(tvb, offset) > 0) {
1420-
int currentHeader = tvb_get_uint8(tvb, offset);
1421-
/* Get a pointer to our subtree */
1422-
// appneta_resp_tree = proto_item_add_subtree(ti, ett_appneta_resp);
1421+
int currentHeader = tvb_get_uint8(tvb, offset);
1422+
int headerLength = tvb_get_uint8(tvb, offset + 1);
1423+
proto_tree *current_tree = data_tree;
1424+
current_tree = add_subtree(tvb, &offset, current_tree, currentHeader, headerLength,
1425+
"Enhanced Control Burst Header");
1426+
iht = tvb_get_ntohl(tvb, offset);
1427+
proto_tree_add_item(current_tree, hf_appneta_resp_ecb_iht, tvb, offset, 4, ENC_NA);
1428+
1429+
/* set some text in the info column */
1430+
col_append_fstr(pinfo->cinfo, COL_INFO, " IHT=%u", iht);
1431+
1432+
offset += headerLength - 2;
14231433
offset = dissect_responder_headers_parse(tvb, pinfo, data_tree, offset, currentHeader, appneta_pkt_type);
14241434
if (!offset)
14251435
return 0;
@@ -1584,6 +1594,8 @@ register_appneta_responder(void)
15841594
{ "Rate Limit CB Ready - reserved1", "appneta-resp.cb_resp_ratelimit_cb_ready_reserved1", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
15851595
{ &hf_appneta_resp_cb_ready_reserved2,
15861596
{ "Rate Limit CB Ready - reserved2", "appneta-resp.cb_resp_ratelimit_cb_ready_reserved2", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
1597+
{ &hf_appneta_resp_ecb_iht,
1598+
{ "Interrupt Hold Time", "appneta-resp.ecb.iht", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL } },
15871599
{ &hf_appneta_resp_ecb_request_padding,
15881600
{ "ECB Request padding", "appneta-resp.ecb_request_padding", FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL } },
15891601
{ &hf_appneta_resp_ecb_request_flags,

0 commit comments

Comments
 (0)