From 201b5c8b7c6a3d20d47b2a61d0f0fc6184fda501 Mon Sep 17 00:00:00 2001 From: Bruno Verstuyft Date: Wed, 28 Nov 2018 14:27:23 +0100 Subject: DOCSIS: Added Downstream Resequencing TLV (25.17) Change-Id: I496130e8abf6fe9996d886cd8ad7231005edf91a Reviewed-on: https://code.wireshark.org/review/30822 Petri-Dish: Anders Broman Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-docsis-tlv.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'epan/dissectors/packet-docsis-tlv.c') diff --git a/epan/dissectors/packet-docsis-tlv.c b/epan/dissectors/packet-docsis-tlv.c index 34bc43f1e8..a20b257058 100644 --- a/epan/dissectors/packet-docsis-tlv.c +++ b/epan/dissectors/packet-docsis-tlv.c @@ -251,6 +251,7 @@ static int hf_docsis_tlv_sflow_grants_per_intvl = -1; static int hf_docsis_tlv_sflow_ip_tos_overwrite = -1; static int hf_docsis_tlv_sflow_ugs_timeref = -1; static int hf_docsis_tlv_sflow_max_down_latency = -1; +static int hf_docsis_tlv_sflow_down_reseq = -1; static int hf_docsis_tlv_sflow_err_param = -1; static int hf_docsis_tlv_sflow_err_code = -1; @@ -798,6 +799,12 @@ static const value_string em_mode_ind_vals[] = { {0, NULL}, }; +static const value_string down_reseq_vals[] = { + {0, "The CMTS is required to associate this service flow with a resequencing DSID if the service flow is assigned to a downstream bonding group."}, + {1, "The CMTS is required to not associate this service flow with a resequencing DSID."}, + {0, NULL}, +}; + static void fourth_db(char *buf, guint32 value) { @@ -1115,6 +1122,18 @@ dissect_downstream_sflow (tvbuff_t * tvb, packet_info* pinfo, proto_tree * sflow expert_add_info_format(pinfo, sflow_item, &ei_docsis_tlv_tlvlen_bad, "Wrong TLV length: %u", length); } break; + case SFW_DOWN_RESEQ: + if (length == 1) + { + proto_tree_add_item (sflow_tree, + hf_docsis_tlv_sflow_down_reseq, tvb, + pos, length, ENC_BIG_ENDIAN); + } + else + { + expert_add_info_format(pinfo, sflow_item, &ei_docsis_tlv_tlvlen_bad, "Wrong TLV length: %u", length); + } + break; default: proto_tree_add_item (sflow_tree, hf_docsis_tlv_unknown, tvb, pos, length, ENC_NA); break; @@ -5841,6 +5860,11 @@ proto_register_docsis_tlv (void) FT_UINT32, BASE_HEX, VALS (sched_type_vals), 0x0, "Scheduling Type", HFILL} }, + {&hf_docsis_tlv_sflow_down_reseq, + {".17 Downstream Resequencing", "docsis_tlv.sflow.down_reseq", + FT_UINT8, BASE_DEC, VALS(down_reseq_vals), 0x0, + "Downstream Resequencing", HFILL} + }, {&hf_docsis_tlv_sflow_reqxmit_pol, {".16 Request/Transmission Policy", "docsis_tlv.sflow.reqxmitpol", FT_UINT32, BASE_HEX, NULL, 0x0, -- cgit v1.2.3