Applied patch for aper asn1c - Compile with flag --pdcp-split
This commit is contained in:
@@ -487,19 +487,19 @@ include_directories ("${X2AP_DIR}")
|
||||
# Same limitation as described in RRC/S1AP: unknown generated file list
|
||||
# so we generate it at cmake time
|
||||
##############
|
||||
add_list1_option(F1AP_VERSION R15 "F1AP Asn.1 grammar version" R14 R15)
|
||||
add_list1_option(F1AP_VERSION R15 "F1AP Asn.1 grammar version" R15)
|
||||
set(F1AP_DIR ${OPENAIR2_DIR}/F1AP)
|
||||
#if (${F1AP_VERSION} STREQUAL "R14")
|
||||
#if (${F1AP_VERSION} STREQUAL "R15")
|
||||
set (ASN1RELDIR R15)
|
||||
#endif(${F1AP_VERSION} STREQUAL "R14")
|
||||
#endif(${F1AP_VERSION} STREQUAL "R15")
|
||||
set(F1AP_ASN_DIR ${F1AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
|
||||
set(F1AP_ASN_FILES
|
||||
${F1AP_ASN_DIR}/38.473.Common-Definitions.asn
|
||||
${F1AP_ASN_DIR}/38.473.Constant-Definitions.asn
|
||||
${F1AP_ASN_DIR}/38.473.Information-Element-Definitions.asn
|
||||
${F1AP_ASN_DIR}/38.473.PDU-Definitions.asn
|
||||
${F1AP_ASN_DIR}/38.473.Elementary-Procedures.asn
|
||||
${F1AP_ASN_DIR}/38.473.Container-Definitions.asn
|
||||
${F1AP_ASN_DIR}/F1AP-CommonDataTypes.asn
|
||||
${F1AP_ASN_DIR}/F1AP-Constants.asn
|
||||
${F1AP_ASN_DIR}/F1AP-PDU-Descriptions.asn
|
||||
${F1AP_ASN_DIR}/F1AP-PDU-Contents.asn
|
||||
${F1AP_ASN_DIR}/F1AP-IEs.asn
|
||||
${F1AP_ASN_DIR}/F1AP-Containers.asn
|
||||
)
|
||||
|
||||
set(F1AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR})
|
||||
@@ -508,7 +508,7 @@ execute_process(COMMAND ${asn1c_call} ${F1AP_C_DIR} ${F1AP_ASN_FILES}
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${asn1c_call}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
execute_process(COMMAND python ${F1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${F1AP_ASN_DIR}/38.473.PDU-Definitions.asn -o ${F1AP_C_DIR}
|
||||
execute_process(COMMAND python ${F1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${F1AP_ASN_DIR}/F1AP-PDU-Contents.asn -o ${F1AP_C_DIR}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "asn1tostruct.py: error")
|
||||
@@ -533,7 +533,7 @@ set(f1ap_h ${f1ap_h} )
|
||||
#add_custom_command (
|
||||
# OUTPUT ${F1AP_OAI_generated}
|
||||
# COMMAND ${asn1c_call} ${F1AP_C_DIR} ${F1AP_ASN_FILES}
|
||||
# COMMAND python ${F1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${F1AP_ASN_DIR}/38.473.PDU-Definitions.asn -o ${F1AP_C_DIR}
|
||||
# COMMAND python ${F1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${F1AP_ASN_DIR}/F1AP-PDU-Contents.asn -o ${F1AP_C_DIR}
|
||||
# COMMAND ${fix_asn1c_call} ${F1AP_C_DIR} F1AP ${F1AP_VERSION}
|
||||
# DEPENDS ${F1AP_ASN_FILES}
|
||||
# )
|
||||
|
||||
@@ -661,7 +661,7 @@ install_asn1c_from_source(){
|
||||
$SUDO rm -rf /tmp/asn1c
|
||||
GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c
|
||||
cd /tmp/asn1c
|
||||
git checkout master
|
||||
git checkout master.aper
|
||||
git pull
|
||||
test -f configure || autoreconf -iv
|
||||
./configure
|
||||
|
||||
@@ -23,7 +23,7 @@ reset_color="$(tput sgr0)"
|
||||
function error()
|
||||
{
|
||||
echo -e "$red_color"ERROR: "$@""$reset_color"
|
||||
#exit 1
|
||||
# exit 1
|
||||
}
|
||||
|
||||
function check_sha1()
|
||||
@@ -56,11 +56,11 @@ function patch_file()
|
||||
|
||||
echo -e "$green_color""patch file $file with $OPENAIR_DIR/cmake_targets/tools/$patch""$reset_color"
|
||||
|
||||
patch "$file" "$OPENAIR_DIR/cmake_targets/tools/$patch"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
error "patching of $file with $OPENAIR_DIR/cmake_targets/tools/$patch failed"
|
||||
fi
|
||||
# patch "$file" "$OPENAIR_DIR/cmake_targets/tools/$patch"
|
||||
# if [ $? -ne 0 ]
|
||||
# then
|
||||
# error "patching of $file with $OPENAIR_DIR/cmake_targets/tools/$patch failed"
|
||||
# fi
|
||||
}
|
||||
|
||||
function apply_patches()
|
||||
|
||||
@@ -99,7 +99,7 @@ echo done with asnfix
|
||||
|
||||
echo running asn1c
|
||||
|
||||
asn1c -gen-PER -fcompound-names fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
asn1c -gen-PER -fcompound-names -no-gen-example fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
|
||||
rm -f fixed_grammar.asn
|
||||
|
||||
@@ -107,7 +107,7 @@ echo asn1c done
|
||||
|
||||
else
|
||||
|
||||
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
asn1c -gen-PER -fcompound-names -no-gen-example $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@ mac_rrc_data_req(
|
||||
if( (Srb_id & RAB_OFFSET ) == MIBCH) {
|
||||
|
||||
mib->message.systemFrameNumber.buf = &sfn;
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, NULL,
|
||||
(void*)mib,
|
||||
carrier->MIB,
|
||||
24);
|
||||
|
||||
@@ -238,7 +238,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
|
||||
mib->message.schedulingInfoSIB1_BR_r13 = 0; // turn off eMTC
|
||||
#endif
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, NULL,
|
||||
(void*)mib,
|
||||
carrier->MIB,
|
||||
24);
|
||||
@@ -445,7 +445,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, NULL,
|
||||
(void*)bcch_message,
|
||||
buffer,
|
||||
100);
|
||||
@@ -971,7 +971,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, NULL,
|
||||
(void*)bcch_message,
|
||||
buffer,
|
||||
900);
|
||||
@@ -1059,7 +1059,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
|
||||
rrcConnectionRequest->criticalExtensions.choice.rrcConnectionRequest_r8.spare.bits_unused = 7;
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message, NULL,
|
||||
(void*)&ul_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1140,7 +1140,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
|
||||
rrcConnectionSetupComplete->criticalExtensions.choice.c1.choice.rrcConnectionSetupComplete_r8.registeredMME->mmec.bits_unused=0;
|
||||
*/
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1200,7 +1200,7 @@ do_RRCConnectionReconfigurationComplete(
|
||||
RRCConnectionReconfigurationComplete__criticalExtensions_PR_rrcConnectionReconfigurationComplete_r8;
|
||||
rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1587,7 +1587,7 @@ do_RRCConnectionSetup(
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1658,7 +1658,7 @@ do_SecurityModeCommand(
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1734,7 +1734,7 @@ do_UECapabilityEnquiry(
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1894,7 +1894,7 @@ do_RRCConnectionReconfiguration(
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.dedicatedInfoNASList = dedicatedInfoNASList;
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.securityConfigHO = NULL;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -2108,6 +2108,7 @@ do_RRCConnectionReestablishment(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2165,7 +2166,7 @@ do_RRCConnectionReestablishmentReject(
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2224,7 +2225,7 @@ do_RRCConnectionReject(
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2286,7 +2287,7 @@ uint8_t do_RRCConnectionRelease(
|
||||
rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension=CALLOC(1,
|
||||
sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension));
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -2413,7 +2414,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message, NULL,
|
||||
(void*)mcch_message,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2542,7 +2543,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
|
||||
|
||||
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2676,7 +2677,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
|
||||
LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n",
|
||||
Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, NULL, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
|
||||
|
||||
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
|
||||
enc_rval.failed_type->name, enc_rval.encoded);
|
||||
@@ -2848,7 +2849,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
|
||||
#ifdef XER_PRINT
|
||||
xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability, NULL,
|
||||
(void*)UE_EUTRA_Capability,
|
||||
&UECapability.sdu[0],
|
||||
MAX_UE_CAPABILITY_SIZE);
|
||||
|
||||
@@ -131,6 +131,7 @@ uint8_t do_MIB_NB_IoT(
|
||||
(uint32_t)hsfn_LSB);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message_NB,
|
||||
NULL,
|
||||
(void*)mib_NB_IoT,
|
||||
carrier->MIB_NB_IoT,
|
||||
100);
|
||||
@@ -387,6 +388,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
carrier->SIB1_NB_IoT,
|
||||
100);
|
||||
@@ -669,6 +671,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
carrier->SIB23_NB_IoT,
|
||||
900);
|
||||
@@ -888,6 +891,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -939,6 +943,7 @@ uint8_t do_SecurityModeCommand_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1000,6 +1005,7 @@ uint8_t do_UECapabilityEnquiry_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1094,6 +1100,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
|
||||
rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -1140,6 +1147,7 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1210,6 +1218,7 @@ uint8_t do_RRCConnectionReject_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1336,6 +1345,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
|
||||
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -1405,6 +1415,7 @@ uint8_t do_RRCConnectionRelease_NB_IoT(
|
||||
sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension));
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);//check
|
||||
|
||||
@@ -1739,7 +1739,7 @@ rrc_ue_process_securityModeCommand(
|
||||
LOG_I(RRC,"[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), encoding securityModeComplete (eNB %d)\n",
|
||||
ctxt_pP->module_id,ctxt_pP->frame,eNB_index);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1853,7 +1853,7 @@ rrc_ue_process_ueCapabilityEnquiry(
|
||||
&ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
|
||||
&ue_CapabilityRAT_Container);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, (void*) &ul_dcch_msg, buffer, 100);
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
|
||||
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
|
||||
enc_rval.failed_type->name, enc_rval.encoded);
|
||||
|
||||
|
||||
@@ -6886,8 +6886,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
|
||||
LOG_I(RRC, "got UE capabilities for UE %x\n", ctxt_pP->rnti);
|
||||
if (ue_context_p->ue_context.UE_Capability) {
|
||||
LOG_I(RRC, "freeing old UE capabilities for UE %x\n", ctxt_pP->rnti);
|
||||
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability, 0);
|
||||
ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability);
|
||||
ue_context_p->ue_context.UE_Capability = 0;
|
||||
}
|
||||
dec_rval = uper_decode(NULL,
|
||||
@@ -6907,8 +6907,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
|
||||
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
dec_rval.consumed);
|
||||
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability, 0);
|
||||
ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability);
|
||||
ue_context_p->ue_context.UE_Capability = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -680,7 +680,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
|
||||
return;
|
||||
}
|
||||
|
||||
asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, ueCapabilityInformation, buf, 4096);
|
||||
asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, NULL, ueCapabilityInformation, buf, 4096);
|
||||
if (ret.encoded == -1) abort();
|
||||
|
||||
memset(&rac, 0, sizeof(UERadioAccessCapabilityInformation_t));
|
||||
@@ -694,7 +694,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
|
||||
/* 8192 is arbitrary, should be big enough */
|
||||
buf2 = malloc16(8192);
|
||||
if (buf2 == NULL) abort();
|
||||
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, &rac, buf2, 8192);
|
||||
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, NULL, &rac, buf2, 8192);
|
||||
if (ret.encoded == -1) abort();
|
||||
|
||||
MessageDef *msg_p;
|
||||
|
||||
@@ -253,15 +253,6 @@ for key in iesDefs:
|
||||
f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
f.write(" ANY_t *any_p);\n\n")
|
||||
|
||||
f.write("/* %s in iesDefs not in ieofielist.values() */\n" % (key))
|
||||
f.write("/** \\brief Compare function for %s ies.\n" % (key))
|
||||
f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
|
||||
f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
|
||||
f.write(" **/\n")
|
||||
f.write("asn_comp_rval_t * %s_compare_%s(\n" % (fileprefix, keylowerunderscore))
|
||||
f.write(" %s_t *%s1,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
f.write(" %s_t *%s2);\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
|
||||
if len(iesDefs[key]["ies"]) == 0:
|
||||
continue
|
||||
|
||||
@@ -298,13 +289,6 @@ for key in iesDefs:
|
||||
f.write("int %s_decode_%s(\n" % (fileprefix, firstlower.lower()))
|
||||
f.write(" %sIEs_t *%sIEs,\n" % (asn1cStruct, firstlower))
|
||||
f.write(" %s_t *%s);\n\n" % (asn1cStruct, lowerFirstCamelWord(asn1cStruct)))
|
||||
f.write("/** \\brief Compare function for %s ies.\n" % (key))
|
||||
f.write(" * \\param %s Pointer to the IES structure.\n" % (firstlower))
|
||||
f.write(" * \\param %s Pointer to the IES structure.\n" % (firstlower))
|
||||
f.write(" **/\n")
|
||||
f.write("asn_comp_rval_t * %s_compare_%s(\n" % (fileprefix, firstlower.lower()))
|
||||
f.write(" %sIEs_t *%s1,\n" % (asn1cStruct, firstlower))
|
||||
f.write(" %sIEs_t *%s2);\n\n" % (asn1cStruct, firstlower))
|
||||
|
||||
|
||||
|
||||
@@ -634,19 +618,19 @@ xer_encode_local(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
mname = td->xml_tag;
|
||||
mlen = strlen(mname);
|
||||
|
||||
_i_ASN_TEXT_INDENT(0, indent);
|
||||
_ASN_CALLBACK3("<", 1, mname, mlen, ">", 1);
|
||||
ASN__TEXT_INDENT(0, indent);
|
||||
ASN__CALLBACK3("<", 1, mname, mlen, ">", 1);
|
||||
|
||||
tmper = td->xer_encoder(td, sptr, indent + 1, XER_F_BASIC, cb, app_key);
|
||||
tmper = td->op->xer_encoder(td, sptr, indent + 1, XER_F_BASIC, cb, app_key);
|
||||
if(tmper.encoded == -1) return tmper;
|
||||
|
||||
_ASN_CALLBACK3("</", 2, mname, mlen, ">\\n", xcan);
|
||||
ASN__CALLBACK3("</", 2, mname, mlen, ">\\n", xcan);
|
||||
|
||||
er.encoded = 4 + xcan + (2 * mlen) + tmper.encoded;
|
||||
|
||||
_ASN_ENCODED_OK(er);
|
||||
ASN__ENCODED_OK(er);
|
||||
cb_failed:
|
||||
_ASN_ENCODE_FAILED;
|
||||
ASN__ENCODE_FAILED;
|
||||
}
|
||||
""")
|
||||
|
||||
@@ -714,7 +698,7 @@ for (key, value) in iesDefs.items():
|
||||
f.write(" cb(\" </%s>\\n\", %d, app_key);\n" % (key, len(" </%s>\n" % (key))))
|
||||
f.write(" cb(\"</%s-PDU>\\n\", %d, app_key);\n" % (key, len("</%s-PDU>\n" % (key))))
|
||||
|
||||
f.write(" _ASN_ENCODED_OK(er);\n")
|
||||
f.write(" ASN__ENCODED_OK(er);\n")
|
||||
#if key not in ieofielist.values():
|
||||
#f.write("cb_failed:\n")
|
||||
#f.write(" return er;\n")
|
||||
@@ -731,119 +715,6 @@ f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n" % (fileprefix,
|
||||
f.write("#include \"%s-ProtocolIE-ID.h\"\n\n" % (fileprefix_first_upper))
|
||||
|
||||
|
||||
for key in iesDefs:
|
||||
if key in ieofielist.values():
|
||||
continue
|
||||
structName = re.sub('ies', '', key)
|
||||
asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
|
||||
asn1cStruct = re.sub('Item', 'List', asn1cStruct)
|
||||
if asn1cStruct.rfind('_') == len(asn1cStruct) - 1:
|
||||
asn1cStruct = asn1cStruct[:-1]
|
||||
asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
|
||||
firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
|
||||
|
||||
iesaccess = ""
|
||||
if key not in ieofielist.values():
|
||||
iesaccess = "%s_ies." % (firstwordlower)
|
||||
|
||||
keyName = re.sub('-', '_', key)
|
||||
keyupperunderscore = keyName.upper()
|
||||
# No IE to encode...
|
||||
if len(iesDefs[key]["ies"]) == 0:
|
||||
continue
|
||||
|
||||
f.write("asn_comp_rval_t * %s_compare_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
|
||||
f.write(" %s_t *%s1,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
f.write(" %s_t *%s2) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
|
||||
f.write(" asn_comp_rval_t *rv = NULL;\n\n")
|
||||
f.write(" asn_comp_rval_t *rv2 = NULL;\n\n")
|
||||
|
||||
f.write(" assert(%s1 != NULL);\n" % (lowerFirstCamelWord(re.sub('-', '_', key))));
|
||||
f.write(" assert(%s2 != NULL);\n" % (lowerFirstCamelWord(re.sub('-', '_', key))));
|
||||
|
||||
loop = 0
|
||||
for ie in iesDefs[key]["ies"]:
|
||||
iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
|
||||
ienameunderscore = re.sub('-', '_', iename)
|
||||
ienamefirstwordlower = lowerFirstCamelWord(iename)
|
||||
ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
|
||||
ietypeunderscore = re.sub('-', '_', ie[2])
|
||||
|
||||
if ie[3] != "mandatory":
|
||||
|
||||
loop = loop + 1
|
||||
if loop == 1:
|
||||
#f.write(" %s_IE_t *ie1 = NULL;\n" % (fileprefix_first_upper))
|
||||
#f.write(" %s_IE_t *ie2 = NULL;\n" % (fileprefix_first_upper))
|
||||
f.write(" if (%s1->presenceMask != %s2->presenceMask) {rv=calloc(1,sizeof(asn_comp_rval_t));rv->name = asn_DEF_%s.name;rv->structure1 = %s1;rv->structure2 = %s2;rv->err_code = COMPARE_ERR_CODE_VALUE_NULL; return rv;}\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), lowerFirstCamelWord(re.sub('-', '_', key)), ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), lowerFirstCamelWord(re.sub('-', '_', key))))
|
||||
|
||||
if ie[3] == "optional":
|
||||
f.write(" /* Optional field */\n")
|
||||
elif ie[3] == "conditional":
|
||||
f.write(" /* Conditional field */\n")
|
||||
f.write(" if (%s1->presenceMask & %s_%s_PRESENT) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
|
||||
|
||||
|
||||
if ie[2] in ieofielist.keys():
|
||||
f.write(" /* collection field */\n")
|
||||
f.write(" rv2 = %s_compare_%s(&%s1->%s, &%s2->%s);\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower ))
|
||||
f.write(" if(rv2) {")
|
||||
f.write(" if (NULL == rv) {")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" } else {")
|
||||
f.write(" rv2->next = rv;")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" }")
|
||||
f.write(" rv2 = NULL;")
|
||||
f.write(" }")
|
||||
else:
|
||||
f.write(" /* simple field */\n")
|
||||
f.write(" rv2 = asn_DEF_%s.compare(&asn_DEF_%s, &%s1->%s, &asn_DEF_%s, &%s2->%s); \n" % (ietypeunderscore, ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower, ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower ))
|
||||
f.write(" if (rv2) {")
|
||||
f.write(" if (NULL == rv) {")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" } else {")
|
||||
f.write(" rv2->next = rv;")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" }")
|
||||
f.write(" rv2 = NULL;")
|
||||
f.write(" if (!rv->name) rv->name = asn_DEF_%s.name;" % (ietypeunderscore))
|
||||
f.write(" }")
|
||||
|
||||
f.write(" assert(0);\n");
|
||||
f.write(" }\n\n")
|
||||
|
||||
else:
|
||||
if ie[2] in ieofielist.keys():
|
||||
f.write(" /* Mandatory collection field */\n")
|
||||
f.write(" rv2 = %s_compare_%s(&%s1->%s, &%s2->%s);\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower ))
|
||||
f.write(" if (rv2) {\n")
|
||||
f.write(" if (NULL == rv) {\n")
|
||||
f.write(" rv = rv2;\n")
|
||||
f.write(" } else {\n")
|
||||
f.write(" rv2->next = rv;\n")
|
||||
f.write(" rv = rv2;\n")
|
||||
f.write(" }\n")
|
||||
f.write(" rv2 = NULL;\n")
|
||||
f.write(" }\n")
|
||||
|
||||
else:
|
||||
f.write(" /* Mandatory simple field */\n")
|
||||
f.write(" rv2 = asn_DEF_%s.compare(&asn_DEF_%s, &%s1->%s, &asn_DEF_%s, &%s2->%s);\n" % (ietypeunderscore, ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower, ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower ))
|
||||
f.write(" if(rv2) {\n")
|
||||
f.write(" if (NULL == rv) {\n")
|
||||
f.write(" rv = rv2;\n")
|
||||
f.write(" } else {\n")
|
||||
f.write(" rv2->next = rv;\n")
|
||||
f.write(" rv = rv2;\n")
|
||||
f.write(" }\n")
|
||||
f.write(" rv2 = NULL;\n")
|
||||
f.write(" if (!rv->name) rv->name = asn_DEF_%s.name;\n" % (ietypeunderscore))
|
||||
f.write(" }\n")
|
||||
f.write(" return rv;\n")
|
||||
f.write("}\n\n")
|
||||
|
||||
for (key, value) in iesDefs.items():
|
||||
if key not in ieofielist.values():
|
||||
continue
|
||||
@@ -859,30 +730,3 @@ for (key, value) in iesDefs.items():
|
||||
break
|
||||
|
||||
f.write("extern asn_TYPE_descriptor_t asn_DEF_%s;\n" % (ietypeunderscore))
|
||||
|
||||
f.write("asn_comp_rval_t * %s_compare_%s(\n" % (fileprefix, re.sub('-', '_', i).lower()))
|
||||
f.write(" %sIEs_t *%sIEs1,\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
|
||||
f.write(" %sIEs_t *%sIEs2) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
|
||||
f.write(" int i;\n")
|
||||
f.write(" asn_comp_rval_t *rv = NULL;\n\n")
|
||||
f.write(" asn_comp_rval_t *rv2 = NULL;\n\n")
|
||||
|
||||
|
||||
f.write(" assert(%sIEs1 != NULL);\n" % (lowerFirstCamelWord(re.sub('-', '_', i))));
|
||||
f.write(" assert(%sIEs2 != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', i))));
|
||||
|
||||
f.write(" for (i = 0; i < %sIEs1->%s.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', i)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
|
||||
f.write(" rv2 = asn_DEF_%s.compare(&asn_DEF_%s, %sIEs1->%s.array[i], &asn_DEF_%s, %sIEs2->%s.array[i]);\n" % (ietypeunderscore, ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', i)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))), ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', i)), re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
|
||||
f.write(" if(rv2) {")
|
||||
f.write(" if (NULL == rv) {")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" } else {")
|
||||
f.write(" rv2->next = rv;")
|
||||
f.write(" rv = rv2;")
|
||||
f.write(" }")
|
||||
f.write(" rv2 = NULL;")
|
||||
f.write(" }")
|
||||
f.write(" }\n")
|
||||
f.write(" return rv;\n")
|
||||
f.write("}\n\n")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user