This commit is a very unclean fix to deal with
extension version groups present in the RRC release 10
ASN.1 file (extensions between [[ and ]]).
Basically we do a syntactic replacement at compile time.
[[ becomes '<name> SEQUENCE {'
]] becomes '} OPTIONAL'
<name> is 'ext<N>' where N is a number
increasing at each new extension group
in a given definition.
The UPER encoding for the two syntaxes is identical
(as far as y understanding of the specifications goes).
The XER encoding is different, due to the new 'ext<N>'
name.
Other encodings may be different.
The real solution is to fix the ASN.1 compiler.
This is not a simple task.
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7705 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -220,8 +220,8 @@ rrc_mac_config_req(
|
||||
|
||||
#ifdef Rel10
|
||||
|
||||
if (mac_MainConfig->sr_ProhibitTimer_r9) {
|
||||
UE_mac_inst[Mod_id].scheduling_info.sr_ProhibitTimer = (uint16_t) *mac_MainConfig->sr_ProhibitTimer_r9;
|
||||
if (mac_MainConfig->ext1 && mac_MainConfig->ext1->sr_ProhibitTimer_r9) {
|
||||
UE_mac_inst[Mod_id].scheduling_info.sr_ProhibitTimer = (uint16_t) *mac_MainConfig->ext1->sr_ProhibitTimer_r9;
|
||||
} else {
|
||||
UE_mac_inst[Mod_id].scheduling_info.sr_ProhibitTimer = (uint16_t) 0;
|
||||
}
|
||||
|
||||
@@ -688,10 +688,14 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
|
||||
(*sib2)->ac_BarringInfo = NULL;
|
||||
#ifdef Rel10
|
||||
#if 0
|
||||
(*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL;
|
||||
(*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL;
|
||||
(*sib2)->ac_BarringForCSFB_r10 = NULL;
|
||||
#endif
|
||||
(*sib2)->ext1 = NULL;
|
||||
(*sib2)->ext2 = NULL;
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
|
||||
@@ -989,10 +993,13 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
|
||||
/// (*SIB3)
|
||||
#ifdef Rel10
|
||||
(*sib3)->ext1 = NULL;
|
||||
#if 0
|
||||
(*sib3)->s_IntraSearch_v920=NULL;
|
||||
(*sib3)->s_NonIntraSearch_v920=NULL;
|
||||
(*sib3)->q_QualMin_r9=NULL;
|
||||
(*sib3)->threshServingLowQ_r9=NULL;
|
||||
#endif
|
||||
#endif
|
||||
(*sib3)->cellReselectionInfoCommon.q_Hyst=SystemInformationBlockType3__cellReselectionInfoCommon__q_Hyst_dB4;
|
||||
|
||||
|
||||
+17
-17
@@ -2883,33 +2883,33 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
|
||||
} else
|
||||
LOG_I( RRC, "lateNonCriticalExtension : not defined\n" );
|
||||
|
||||
if (sib2->ssac_BarringForMMTEL_Voice_r9) {
|
||||
if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Voice_r9) {
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor : %ld\n",
|
||||
sib2->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor );
|
||||
sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor );
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringTime : %ld\n",
|
||||
sib2->ssac_BarringForMMTEL_Voice_r9->ac_BarringTime );
|
||||
sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringTime );
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringForSpecialAC : %"PRIu32"\n",
|
||||
BIT_STRING_to_uint32(&sib2->ssac_BarringForMMTEL_Voice_r9->ac_BarringForSpecialAC) );
|
||||
BIT_STRING_to_uint32(&sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringForSpecialAC) );
|
||||
} else
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9 : not defined\n" );
|
||||
|
||||
if (sib2->ssac_BarringForMMTEL_Video_r9) {
|
||||
if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Video_r9) {
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9->ac_BarringFactor : %ld\n",
|
||||
sib2->ssac_BarringForMMTEL_Video_r9->ac_BarringFactor );
|
||||
sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringFactor );
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9->ac_BarringTime : %ld\n",
|
||||
sib2->ssac_BarringForMMTEL_Video_r9->ac_BarringTime );
|
||||
sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringTime );
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC : %"PRIu32"\n",
|
||||
BIT_STRING_to_uint32(&sib2->ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC) );
|
||||
BIT_STRING_to_uint32(&sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC) );
|
||||
} else
|
||||
LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9 : not defined\n" );
|
||||
|
||||
if (sib2->ac_BarringForCSFB_r10) {
|
||||
if (sib2->ext2 && sib2->ext2->ac_BarringForCSFB_r10) {
|
||||
LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringFactor : %ld\n",
|
||||
sib2->ac_BarringForCSFB_r10->ac_BarringFactor );
|
||||
sib2->ext2->ac_BarringForCSFB_r10->ac_BarringFactor );
|
||||
LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringTime : %ld\n",
|
||||
sib2->ac_BarringForCSFB_r10->ac_BarringTime );
|
||||
sib2->ext2->ac_BarringForCSFB_r10->ac_BarringTime );
|
||||
LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringForSpecialAC : %"PRIu32"\n",
|
||||
BIT_STRING_to_uint32(&sib2->ac_BarringForCSFB_r10->ac_BarringForSpecialAC) );
|
||||
BIT_STRING_to_uint32(&sib2->ext2->ac_BarringForCSFB_r10->ac_BarringForSpecialAC) );
|
||||
} else
|
||||
LOG_I( RRC, "ac_BarringForCSFB_r10 : not defined\n" );
|
||||
|
||||
@@ -3143,12 +3143,12 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
}
|
||||
}
|
||||
#ifdef Rel10
|
||||
if (ifcfInfo->q_QualMin_r9)
|
||||
LOG_I(RRC," Q_QualMin_r9 : %d\n",*ifcfInfo->q_QualMin_r9);
|
||||
if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
|
||||
LOG_I(RRC," Q_QualMin_r9 : %d\n",*ifcfInfo->ext1->q_QualMin_r9);
|
||||
|
||||
if (ifcfInfo->threshX_Q_r9) {
|
||||
LOG_I(RRC," threshX_HighQ_r9 : %d\n",ifcfInfo->threshX_Q_r9->threshX_HighQ_r9);
|
||||
LOG_I(RRC," threshX_LowQ_r9: %d\n",ifcfInfo->threshX_Q_r9->threshX_LowQ_r9);
|
||||
if (ifcfInfo->ext1 && ifcfInfo->ext1->threshX_Q_r9) {
|
||||
LOG_I(RRC," threshX_HighQ_r9 : %d\n",ifcfInfo->ext1->threshX_Q_r9->threshX_HighQ_r9);
|
||||
LOG_I(RRC," threshX_LowQ_r9: %d\n",ifcfInfo->ext1->threshX_Q_r9->threshX_LowQ_r9);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1268,7 +1268,8 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
#ifdef Rel10
|
||||
sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
|
||||
*sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
|
||||
mac_MainConfig->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
|
||||
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
|
||||
mac_MainConfig->ext1->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
|
||||
//sps_RA_ConfigList_rlola = NULL;
|
||||
#endif
|
||||
|
||||
@@ -2408,7 +2409,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
#ifdef Rel10
|
||||
sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
|
||||
*sr_ProhibitTimer_r9 = 0; // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
|
||||
mac_MainConfig->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
|
||||
mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
|
||||
mac_MainConfig->ext1->sr_ProhibitTimer_r9 = sr_ProhibitTimer_r9;
|
||||
//sps_RA_ConfigList_rlola = NULL;
|
||||
#endif
|
||||
// Measurement ID list
|
||||
|
||||
Reference in New Issue
Block a user