summaryrefslogtreecommitdiff
path: root/asn1/lte-rrc
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2013-08-30 04:08:57 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2013-08-30 04:08:57 +0000
commita09ee6af031b399848a0322054519489f6d963f6 (patch)
treeb8700ebd6c5024a4504ff6c1aa30a6249b9af0c7 /asn1/lte-rrc
parentd9eb37b849a70a8bc8ad0c61b3fa8f2c3d689f7c (diff)
downloadwireshark-a09ee6af031b399848a0322054519489f6d963f6.tar.gz
The first step towards tracking and showing DRX info in MAC:
- send release from RRC - show current DRX config from each frame, including a link back to the RRC config frame - show simple DRX state for each frame (currently only offset into long cycle and whether within long cycle 'on' period) TODO: - simulate timers in response to new UL/DL transmissions or DL CRC errors - maintain whether in long or short cycle - show state of all timers svn path=/trunk/; revision=51585
Diffstat (limited to 'asn1/lte-rrc')
-rw-r--r--asn1/lte-rrc/lte-rrc.cnf23
-rw-r--r--asn1/lte-rrc/packet-lte-rrc-template.c16
2 files changed, 22 insertions, 17 deletions
diff --git a/asn1/lte-rrc/lte-rrc.cnf b/asn1/lte-rrc/lte-rrc.cnf
index 4363dc8366..7c0b0a7d40 100644
--- a/asn1/lte-rrc/lte-rrc.cnf
+++ b/asn1/lte-rrc/lte-rrc.cnf
@@ -747,9 +747,20 @@ CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPD
fields overwritten in the R11 extension */
drx_config_t *drx_config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
- /* Verify that config is valid */
if (drx_config->configured) {
+ mac_lte_info* p_mac_lte_info;
+
+ /* Verify that config is valid */
drx_check_config_sane(drx_config, actx);
+
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(actx->pinfo->fd, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* If found, configure MAC with DRX config */
+ set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo);
+ }
+
+ /* Clear out state */
drx_config->configured = FALSE;
}
@@ -1478,3 +1489,13 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
/* Presumably config->shortCycleConfigured will be set... */
config->shortCycle = 4;
+#.FN_BODY DRX-Config/release
+ mac_lte_info* p_mac_lte_info;
+%(DEFAULT_BODY)s
+ /* Look for UE identifier */
+ p_mac_lte_info = (mac_lte_info *)p_get_proto_data(actx->pinfo->fd, proto_mac_lte, 0);
+ if (p_mac_lte_info != NULL) {
+ /* If found, tell MAC to release DRX config */
+ set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo);
+ }
+
diff --git a/asn1/lte-rrc/packet-lte-rrc-template.c b/asn1/lte-rrc/packet-lte-rrc-template.c
index 10c6136002..38110e9ed7 100644
--- a/asn1/lte-rrc/packet-lte-rrc-template.c
+++ b/asn1/lte-rrc/packet-lte-rrc-template.c
@@ -1792,22 +1792,6 @@ static const value_string lte_rrc_warningType_vals[] = {
/* through this API, which ensures that they will not overwrite each other!! */
/*****************************************************************************/
-/* Dedicated DRX config. Currently used to verify that a sensible config is given.
- TODO: would be good to configure MAC with these settings and (optionally) show
- DRX config and state (cycles/timers) attached to each UL/DL PDU! */
-typedef struct drx_config_t {
- gboolean configured;
- guint32 onDurationTimer;
- guint32 inactivityTimer;
- guint32 retransmissionTimer;
- guint32 longCycle;
- guint32 cycleOffset;
- /* Optional Short cycle */
- gboolean shortCycleConfigured;
- guint32 shortCycle;
- guint32 shortCycleTimer;
-} drx_config_t;
-
/**********************************************************/
/* Struct to store all current uses of packet private data */