summaryrefslogtreecommitdiff
path: root/plugins/docsis
diff options
context:
space:
mode:
authorAdrian Simionov <daniel.simionov@gmail.com>2016-03-28 00:19:17 +1100
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2016-03-28 10:17:11 +0000
commit878a277b083cde266305db310c4e49bf8b6e74ce (patch)
tree2be5cc45de95a02433f57193e74c79d7e793b412 /plugins/docsis
parentea062976b8d6421a09afde16fb8ec6174f61cb60 (diff)
downloadwireshark-878a277b083cde266305db310c4e49bf8b6e74ce.tar.gz
[docsis->mdd] Add support for TLV 1.7
Change-Id: I9e67ccee06c93c25c766fae8bdd8a9890416655f Reviewed-on: https://code.wireshark.org/review/14648 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'plugins/docsis')
-rw-r--r--plugins/docsis/packet-mdd.c68
1 files changed, 67 insertions, 1 deletions
diff --git a/plugins/docsis/packet-mdd.c b/plugins/docsis/packet-mdd.c
index 2783df2390..afa1e91764 100644
--- a/plugins/docsis/packet-mdd.c
+++ b/plugins/docsis/packet-mdd.c
@@ -50,6 +50,7 @@
#define DOWNSTREAM_ACTIVE_CHANNEL_LIST_PRIMARY_CAPABLE 4
#define DOWNSTREAM_ACTIVE_CHANNEL_LIST_CM_STATUS_EVENT_ENABLE_BITMASK 5
#define DOWNSTREAM_ACTIVE_CHANNEL_LIST_MAP_UCD_TRANSPORT_INDICATOR 6
+#define DOWNSTREAM_ACTIVE_CHANNEL_LIST_OFDM_PLC_PARAMETERS 7
/*Mac Domain Downstream Service Group*/
#define MAC_DOMAIN_DOWNSTREAM_SERVICE_GROUP_MD_DS_SG_IDENTIFIER 1
@@ -135,6 +136,24 @@
#define DSG_DA_TO_DSID_ASSOCIATION_DA 1
#define DSG_DA_TO_DSID_ASSOCIATION_DSID 2
+/* Define Tukey raised cosine window */
+#define TUKEY_0TS 0
+#define TUKEY_64TS 1
+#define TUKEY_128TS 2
+#define TUKEY_192TS 3
+#define TUKEY_256TS 4
+
+/* Define Cyclic prefix */
+#define CYCLIC_PREFIX_192_TS 0
+#define CYCLIC_PREFIX_256_TS 1
+#define CYCLIC_PREFIX_512_TS 2
+#define CYCLIC_PREFIX_768_TS 3
+#define CYCLIC_PREFIX_1024_TS 4
+
+/* Define Sub carrier spacing */
+#define SPACING_25KHZ 0
+#define SPACING_50KHZ 1
+
void proto_register_docsis_mdd(void);
void proto_reg_handoff_docsis_mdd(void);
@@ -163,6 +182,30 @@ static const value_string map_ucd_transport_indicator_vals[] = {
{0, NULL}
};
+static const value_string tukey_raised_cosine_vals[] = {
+ {TUKEY_0TS, "0 microseconds (0 * Ts)"},
+ {TUKEY_64TS, "0.3125 microseconds (64 * Ts)"},
+ {TUKEY_128TS, "0.625 microseconds (128 * Ts)"},
+ {TUKEY_192TS, "0.9375 microseconds (192 * Ts)"},
+ {TUKEY_256TS, "1.25 microseconds (256 * Ts)"},
+ {0, NULL}
+};
+
+static const value_string cyclic_prefix_vals[] = {
+ {CYCLIC_PREFIX_192_TS, "0.9375 microseconds (192 * Ts)"},
+ {CYCLIC_PREFIX_256_TS, "1.25 microseconds (256 * Ts)"},
+ {CYCLIC_PREFIX_512_TS, "2.5 microseconds (512 * Ts) 3"},
+ {CYCLIC_PREFIX_768_TS, "3.75 microseconds (768 * Ts)"},
+ {CYCLIC_PREFIX_1024_TS, "5 microseconds (1024 * Ts)"},
+ {0, NULL}
+};
+
+static const value_string spacing_vals[] = {
+ {SPACING_25KHZ, "25Khz"},
+ {SPACING_50KHZ, "50Khz"},
+ {0, NULL}
+};
+
static const value_string mdd_tlv_vals[] = {
{DOWNSTREAM_ACTIVE_CHANNEL_LIST, "Downstream Active Channel List"},
{MAC_DOMAIN_DOWNSTREAM_SERVICE_GROUP, "Mac Domain Downstream Service Group"},
@@ -262,11 +305,13 @@ static int hf_docsis_mdd_cm_status_event_enable_bitmask_mdd_timeout = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_qam_fec_lock_failure = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_mdd_recovery = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_qam_fec_lock_recovery = -1;
+static int hf_docsis_mdd_ofdm_plc_parameters_tukey_raised_cosine_window = -1;
+static int hf_docsis_mdd_ofdm_plc_parameters_cyclic_prefix = -1;
+static int hf_docsis_mdd_ofdm_plc_parameters_sub_carrier_spacing = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_t4_timeout = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_t3_retries_exceeded = -1;
static int hf_docsis_mdd_cm_status_event_enable_bitmask_successful_ranging_after_t3_retries_exceeded = -1;
-
static int hf_docsis_mdd_mac_domain_downstream_service_group_md_ds_sg_identifier = -1;
static int hf_docsis_mdd_mac_domain_downstream_service_group_channel_id = -1;
@@ -382,6 +427,12 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* data
case DOWNSTREAM_ACTIVE_CHANNEL_LIST_MAP_UCD_TRANSPORT_INDICATOR:
proto_tree_add_item (tlv_tree, hf_docsis_mdd_downstream_active_channel_list_map_ucd_transport_indicator, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
break;
+ case DOWNSTREAM_ACTIVE_CHANNEL_LIST_OFDM_PLC_PARAMETERS:
+ tlv_sub_tree = proto_tree_add_subtree(tlv_tree, tvb, subpos + 2, 1, ett_sub_tlv, NULL, "OFDM PLC Parameters");
+ proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_ofdm_plc_parameters_tukey_raised_cosine_window, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_ofdm_plc_parameters_cyclic_prefix, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_ofdm_plc_parameters_sub_carrier_spacing, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
+ break;
}
subpos += sublength + 2;
}
@@ -615,6 +666,21 @@ void proto_register_docsis_mdd (void)
FT_UINT8, BASE_DEC, VALS(map_ucd_transport_indicator_vals), 0x0,
"Mdd Downstream Active Channel List MAP and UCD Transport Indicator", HFILL}
},
+ {&hf_docsis_mdd_ofdm_plc_parameters_tukey_raised_cosine_window,
+ {"Tukey raised cosine window", "docsis_mdd.ofdm_plc_parameters_tukey_raised_cosine_window",
+ FT_UINT8, BASE_DEC, VALS(tukey_raised_cosine_vals), 0x07,
+ "OFDM PLC Parameters Tukey raised cosine window", HFILL}
+ },
+ {&hf_docsis_mdd_ofdm_plc_parameters_cyclic_prefix,
+ {"Cyclic prefix", "docsis_mdd.ofdm_plc_parameters_cyclic_prefix",
+ FT_UINT8, BASE_DEC, VALS(cyclic_prefix_vals), 0x38,
+ "OFDM PLC parameters Cyclic prefix", HFILL}
+ },
+ {&hf_docsis_mdd_ofdm_plc_parameters_sub_carrier_spacing,
+ {"Sub carrier spacing", "docsis_mdd.ofdm_plc_parameters_sub_carrier_spacing",
+ FT_UINT8, BASE_DEC, VALS(spacing_vals), 0x40,
+ "OFDM PLC parameters Sub carrier spacing", HFILL}
+ },
{&hf_docsis_mdd_cm_status_event_enable_bitmask_t4_timeout,
{"T4 timeout", "docsis_mdd.cm_status_event_enable_bitmask_t4_timeout",
FT_UINT16, BASE_DEC, NULL, 0x0040,