aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-docsis-tlv.c
diff options
context:
space:
mode:
authorBruno Verstuyft <bruno.verstuyft@excentis.com>2018-11-28 14:27:23 +0100
committerAnders Broman <a.broman58@gmail.com>2018-11-29 05:17:24 +0000
commit201b5c8b7c6a3d20d47b2a61d0f0fc6184fda501 (patch)
tree7dad0efe455fbace141da662f95f826825e4a15f /epan/dissectors/packet-docsis-tlv.c
parentf4194b128fbf204759602295a1e09d181f91c39f (diff)
DOCSIS: Added Downstream Resequencing TLV (25.17)
Change-Id: I496130e8abf6fe9996d886cd8ad7231005edf91a Reviewed-on: https://code.wireshark.org/review/30822 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-docsis-tlv.c')
-rw-r--r--epan/dissectors/packet-docsis-tlv.c24
1 files changed, 24 insertions, 0 deletions
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,