diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-02-02 16:02:59 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-02-02 16:32:41 +0000 |
commit | 9f4bf6abf34f51d29ec563421998081a8305c78b (patch) | |
tree | a9f02b253d454b95ed34ec62a9a7cfee43759ca4 /asn1 | |
parent | e102c34cf04f5966aad884be39f01ab9416e66f4 (diff) |
LTE RRC: only display band mapping for the initial supportedBandListEUTRA IE
Handling bands > 64 would require to store the mapping in file scope and current code is broken for the Carrier Aggregation band combination list
Change-Id: I9f10022a50520ca9bc16a33f2c16361729f1b01b
Reviewed-on: https://code.wireshark.org/review/6917
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/lte-rrc/lte-rrc.cnf | 21 | ||||
-rw-r--r-- | asn1/lte-rrc/packet-lte-rrc-template.c | 7 |
2 files changed, 17 insertions, 11 deletions
diff --git a/asn1/lte-rrc/lte-rrc.cnf b/asn1/lte-rrc/lte-rrc.cnf index 97ec1bcc06..86a52f9f92 100644 --- a/asn1/lte-rrc/lte-rrc.cnf +++ b/asn1/lte-rrc/lte-rrc.cnf @@ -1815,23 +1815,15 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) %(DEFAULT_BODY)s set_freq_band_indicator(value, actx); -#.FN_BODY FreqBandIndicator-v9e0 VAL_PTR=&value - guint32 value; -%(DEFAULT_BODY)s - set_freq_band_indicator(value, actx); - -#.FN_BODY FreqBandIndicator-r11 VAL_PTR=&value - guint32 value; -%(DEFAULT_BODY)s - set_freq_band_indicator(value, actx); - +#.FN_FTR BandParameters-r10/bandEUTRA-r10 + remove_last_freq_band_indicator(actx); #.FN_BODY InterFreqBandInfo meas_capabilities_item_band_mappings_t *mappings; proto_item *it; %(DEFAULT_BODY)s mappings = private_data_meas_capabilities_item_band_mappings(actx); - if (mappings->number_of_interfreq_serving_read <= mappings->number_of_bands_set) { + if (mappings->number_of_interfreq_serving_read < mappings->number_of_bands_set) { guint16 serving_band = mappings->band_by_item[mappings->number_of_interfreq_serving_read]; guint16 target_band = mappings->band_by_item[mappings->number_of_interfreq_target_read++]; if (mappings->number_of_interfreq_target_read == mappings->number_of_bands_set) { @@ -1845,6 +1837,13 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) PROTO_ITEM_SET_GENERATED(it); } +#.FN_BODY UE-EUTRA-Capability/measParameters + meas_capabilities_item_band_mappings_t *mappings; +%(DEFAULT_BODY)s + /* Clear band mapping once measParameters IE has been decoded */ + mappings = private_data_meas_capabilities_item_band_mappings(actx); + mappings->number_of_bands_set = 0; + #.FN_BODY ReleaseCause VAL_PTR=&value guint32 value; %(DEFAULT_BODY)s diff --git a/asn1/lte-rrc/packet-lte-rrc-template.c b/asn1/lte-rrc/packet-lte-rrc-template.c index 150b03be38..1751200c6e 100644 --- a/asn1/lte-rrc/packet-lte-rrc-template.c +++ b/asn1/lte-rrc/packet-lte-rrc-template.c @@ -2159,6 +2159,13 @@ static void set_freq_band_indicator(guint32 value, asn1_ctx_t *actx) } } +static void remove_last_freq_band_indicator(asn1_ctx_t *actx) +{ + meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx); + if ((mappings->number_of_bands_set > 0) && (mappings->number_of_bands_set < 256)) { + mappings->number_of_bands_set--; + } +} /* Cell type for simultaneousPUCCH-PUSCH-r10 */ static simult_pucch_pusch_cell_type private_data_get_simult_pucch_pusch_cell_type(asn1_ctx_t *actx) |