Commit 1c025c2d authored by Wang Tsu-Han's avatar Wang Tsu-Han

Merge branch 'develop' into L1_renaming

Conflicts:
	common/utils/LOG/log.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
parents e7f0701a fb5739dc
...@@ -436,7 +436,7 @@ class SSHConnection(): ...@@ -436,7 +436,7 @@ class SSHConnection():
self.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, pcap_log_file, self.eNBSourceCodePath + '/cmake_targets/.') self.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, pcap_log_file, self.eNBSourceCodePath + '/cmake_targets/.')
sys.exit(1) sys.exit(1)
else: else:
self.command('stdbuf -o0 cat enb_' + SSH.testCase_id + '.log | egrep --color=never -i "wait|sync"', '\$', 4) self.command('stdbuf -o0 cat enb_' + SSH.testCase_id + '.log | egrep --text --color=never -i "wait|sync"', '\$', 4)
if rruCheck: if rruCheck:
result = re.search('wait RUs', str(self.ssh.before)) result = re.search('wait RUs', str(self.ssh.before))
else: else:
...@@ -1573,6 +1573,8 @@ class SSHConnection(): ...@@ -1573,6 +1573,8 @@ class SSHConnection():
rrcReestablishRequest = 0 rrcReestablishRequest = 0
rrcReestablishComplete = 0 rrcReestablishComplete = 0
rrcReestablishReject = 0 rrcReestablishReject = 0
rlcDiscardBuffer = 0
rachCanceledProcedure = 0
uciStatMsgCount = 0 uciStatMsgCount = 0
pdcpFailure = 0 pdcpFailure = 0
ulschFailure = 0 ulschFailure = 0
...@@ -1625,6 +1627,12 @@ class SSHConnection(): ...@@ -1625,6 +1627,12 @@ class SSHConnection():
result = re.search('ULSCH in error in round', str(line)) result = re.search('ULSCH in error in round', str(line))
if result is not None: if result is not None:
ulschFailure += 1 ulschFailure += 1
result = re.search('BAD all_segments_received', str(line))
if result is not None:
rlcDiscardBuffer += 1
result = re.search('Canceled RA procedure for UE rnti', str(line))
if result is not None:
rachCanceledProcedure += 1
enb_log_file.close() enb_log_file.close()
self.htmleNBFailureMsg = '' self.htmleNBFailureMsg = ''
if uciStatMsgCount > 0: if uciStatMsgCount > 0:
...@@ -1667,6 +1675,10 @@ class SSHConnection(): ...@@ -1667,6 +1675,10 @@ class SSHConnection():
rrcMsg = ' -- ' + str(rrcReestablishReject) + ' were rejected' rrcMsg = ' -- ' + str(rrcReestablishReject) + ' were rejected'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m') logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
self.htmleNBFailureMsg += rrcMsg + '\n' self.htmleNBFailureMsg += rrcMsg + '\n'
if rachCanceledProcedure > 0:
rachMsg = 'eNB cancelled ' + str(rachCanceledProcedure) + ' RA procedure(s)'
logging.debug('\u001B[1;30;43m ' + rachMsg + ' \u001B[0m')
self.htmleNBFailureMsg += rachMsg + '\n'
if foundSegFault: if foundSegFault:
logging.debug('\u001B[1;37;41m eNB ended with a Segmentation Fault! \u001B[0m') logging.debug('\u001B[1;37;41m eNB ended with a Segmentation Fault! \u001B[0m')
return ENB_PROCESS_SEG_FAULT return ENB_PROCESS_SEG_FAULT
...@@ -1677,6 +1689,11 @@ class SSHConnection(): ...@@ -1677,6 +1689,11 @@ class SSHConnection():
if foundRealTimeIssue: if foundRealTimeIssue:
logging.debug('\u001B[1;37;41m eNB faced real time issues! \u001B[0m') logging.debug('\u001B[1;37;41m eNB faced real time issues! \u001B[0m')
return ENB_PROCESS_REALTIME_ISSUE return ENB_PROCESS_REALTIME_ISSUE
if rlcDiscardBuffer > 0:
rlcMsg = 'eNB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)'
logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m')
self.htmleNBFailureMsg += rlcMsg + '\n'
return ENB_PROCESS_REALTIME_ISSUE
return 0 return 0
def TerminateeNB(self): def TerminateeNB(self):
......
...@@ -21,17 +21,15 @@ ...@@ -21,17 +21,15 @@
--> -->
<testCaseList> <testCaseList>
<!-- Only 5MHz is tested since neither 10MHz nor 20MHz work in this configuration --> <!-- Only 5MHz/10MHz is tested since 20MHz does not work as in monolithic -->
<!-- Also no UL iperf in 5MHz (040642) -->
<TestCaseRequestedList> <TestCaseRequestedList>
010101 010101
050101 060101 070101 040101 050101 060101 070101 040101
030104 030105 040301 040501 040602 040401 040201 030201 030202 030104 030105 040301 040501 040602 040642 040401 040201 030201 030202
030114 030115 040301 040511 040612 040652 040401 040201 030201 030202
050201 060201 070201 050201 060201 070201
</TestCaseRequestedList> </TestCaseRequestedList>
<!-- <!--
030104 030105 040301 040501 040602 040642 040401 040201 030201 030202
030114 030115 040301 040511 040612 040652 040401 040201 030201 030202
030124 030125 040301 040521 040622 040662 040401 040201 030201 030202 030124 030125 040301 040521 040622 040662 040401 040201 030201 030202
--> -->
<TestCaseExclusionList> <TestCaseExclusionList>
......
...@@ -21,17 +21,14 @@ ...@@ -21,17 +21,14 @@
--> -->
<testCaseList> <testCaseList>
<!-- Only 5MHz is tested since neither 10MHz nor 20MHz work in this configuration -->
<TestCaseRequestedList> <TestCaseRequestedList>
010101 010101
050101 060101 070101 040101 050101 060101 070101 040101
030101 030102 040301 040501 040604 040642 040401 040201 030201 030202 030101 030102 040301 040501 040604 040642 040401 040201 030201 030202
050201 060201 070201
</TestCaseRequestedList>
<!--
030111 030112 040301 040511 040614 040652 040401 040201 030201 030202 030111 030112 040301 040511 040614 040652 040401 040201 030201 030202
030121 030122 040301 040521 040624 040662 040401 040201 030201 030202 030121 030122 040301 040521 040624 040662 040401 040201 030201 030202
--> 050201 060201 070201
</TestCaseRequestedList>
<TestCaseExclusionList> <TestCaseExclusionList>
</TestCaseExclusionList> </TestCaseExclusionList>
......
...@@ -232,7 +232,7 @@ add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"") ...@@ -232,7 +232,7 @@ add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"")
# Debug related options # Debug related options
######################################### #########################################
add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug") add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug")
add_boolean_option(EMIT_ASN_DEBUG False "ASN1 coder/decoder Debug") add_boolean_option(ASN_EMIT_DEBUG False "ASN1 coder/decoder Debug")
add_boolean_option(MSG_PRINT False "print debug messages") add_boolean_option(MSG_PRINT False "print debug messages")
add_boolean_option(DISABLE_XER_PRINT False "print XER Format") add_boolean_option(DISABLE_XER_PRINT False "print XER Format")
add_boolean_option(XER_PRINT False "print XER Format") add_boolean_option(XER_PRINT False "print XER Format")
......
...@@ -39,9 +39,8 @@ ...@@ -39,9 +39,8 @@
#include "vcd_signal_dumper.h" #include "vcd_signal_dumper.h"
#include "assertions.h" #include "assertions.h"
#include <pthread.h>
# include <pthread.h> #include <string.h>
# include <string.h>
#include <linux/prctl.h> #include <linux/prctl.h>
#include "common/config/config_userapi.h" #include "common/config/config_userapi.h"
// main log variables // main log variables
......
This diff is collapsed.
...@@ -59,14 +59,11 @@ void generate_qpsk_table(void) { ...@@ -59,14 +59,11 @@ void generate_qpsk_table(void) {
} }
} }
void init_7_5KHz(void);
void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) { void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) {
ccodelte_init(); ccodelte_init();
ccodelte_init_inv(); ccodelte_init_inv();
init_dfts();
phy_generate_viterbi_tables_lte(); phy_generate_viterbi_tables_lte();
load_codinglib(); load_codinglib();
lte_sync_time_init(frame_parms);
generate_ul_ref_sigs(); generate_ul_ref_sigs();
generate_ul_ref_sigs_rx(); generate_ul_ref_sigs_rx();
generate_64qam_table(); generate_64qam_table();
...@@ -76,13 +73,11 @@ void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) { ...@@ -76,13 +73,11 @@ void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) {
init_unscrambling_lut(); init_unscrambling_lut();
init_scrambling_lut(); init_scrambling_lut();
//set_taus_seed(1328); //set_taus_seed(1328);
// init_7_5KHz();
init_sss(); init_sss();
} }
void free_lte_top(void) { void free_lte_top(void) {
free_codinglib(); free_codinglib();
lte_sync_time_free();
/* free_ul_ref_sigs() is called in phy_free_lte_eNB() */ /* free_ul_ref_sigs() is called in phy_free_lte_eNB() */
} }
......
...@@ -67,6 +67,7 @@ int phy_init_RU(RU_t *ru) { ...@@ -67,6 +67,7 @@ int phy_init_RU(RU_t *ru) {
} }
if (ru->function != NGFI_RRU_IF5) { // we need to do RX/TX RU processing if (ru->function != NGFI_RRU_IF5) { // we need to do RX/TX RU processing
init_dfts();
init_7_5KHz(); init_7_5KHz();
LOG_I(PHY,"nb_tx %d\n",ru->nb_tx); LOG_I(PHY,"nb_tx %d\n",ru->nb_tx);
ru->common.rxdata_7_5kHz = (int32_t**)malloc16(ru->nb_rx*sizeof(int32_t*) ); ru->common.rxdata_7_5kHz = (int32_t**)malloc16(ru->nb_rx*sizeof(int32_t*) );
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "common/utils/LOG/vcd_signal_dumper.h" #include "common/utils/LOG/vcd_signal_dumper.h"
#include "assertions.h" #include "assertions.h"
#include <math.h> #include <math.h>
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h" #include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_REFSIG/lte_refsig.h" #include "PHY/LTE_REFSIG/lte_refsig.h"
...@@ -661,8 +662,9 @@ int init_lte_ue_signal(PHY_VARS_UE *ue, ...@@ -661,8 +662,9 @@ int init_lte_ue_signal(PHY_VARS_UE *ue,
init_dfts();
init_frame_parms(&ue->frame_parms,1); init_frame_parms(&ue->frame_parms,1);
lte_sync_time_init(&ue->frame_parms);
init_lte_top(&ue->frame_parms); init_lte_top(&ue->frame_parms);
init_7_5KHz(); init_7_5KHz();
init_ul_hopping(&ue->frame_parms); init_ul_hopping(&ue->frame_parms);
......
...@@ -28,9 +28,9 @@ ...@@ -28,9 +28,9 @@
#include "common/ran_context.h" #include "common/ran_context.h"
char* namepointer_chMag ; char *namepointer_chMag ;
char fmageren_name2[512]; char fmageren_name2[512];
char* namepointer_log2; char *namepointer_log2;
#include "PHY/LTE_REFSIG/primary_synch.h" #include "PHY/LTE_REFSIG/primary_synch.h"
...@@ -45,7 +45,7 @@ int16_t *primary_synch2_time; ...@@ -45,7 +45,7 @@ int16_t *primary_synch2_time;
PHY_VARS_UE ***PHY_vars_UE_g; PHY_VARS_UE ***PHY_vars_UE_g;
LTE_DL_FRAME_PARMS *lte_frame_parms_g; LTE_DL_FRAME_PARMS *lte_frame_parms_g;
#else #else
PHY_VARS_UE * PHY_vars_UE_g[MAX_UE][MAX_NUM_CCs]={NULL}; PHY_VARS_UE *PHY_vars_UE_g[MAX_UE][MAX_NUM_CCs]= {NULL};
#endif #endif
...@@ -62,10 +62,10 @@ char mode_string[4][20] = {"NOT SYNCHED","PRACH","RAR","PUSCH"}; ...@@ -62,10 +62,10 @@ char mode_string[4][20] = {"NOT SYNCHED","PRACH","RAR","PUSCH"};
#ifndef OPENAIR2 #ifndef OPENAIR2
unsigned char NB_eNB_INST=0; unsigned char NB_eNB_INST=0;
unsigned char NB_UE_INST=0; unsigned char NB_UE_INST=0;
unsigned char NB_RN_INST=0; unsigned char NB_RN_INST=0;
unsigned char NB_INST=0; unsigned char NB_INST=0;
#endif #endif
unsigned int ULSCH_max_consecutive_errors = 20; unsigned int ULSCH_max_consecutive_errors = 20;
...@@ -134,9 +134,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682 ...@@ -134,9 +134,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
#ifdef OCP_FRAMEWORK #ifdef OCP_FRAMEWORK
#include <enums.h> #include <enums.h>
#else #else
char eNB_functions[6][20]={"eNodeB_3GPP","eNodeB_3GPP_BBU","NGFI_RAU_IF4p5","NGFI_RRU_IF5","NGFI_RRU_IF4p5",}; char eNB_functions[6][20]= {"eNodeB_3GPP","eNodeB_3GPP_BBU","NGFI_RAU_IF4p5","NGFI_RRU_IF5","NGFI_RRU_IF4p5",};
char eNB_timing[2][20]={"synch_to_ext_device","synch_to_other"}; char eNB_timing[2][20]= {"synch_to_ext_device","synch_to_other"};
char ru_if_types[MAX_RU_IF_TYPES][20]={"local RF","IF5 RRU","IF5 Mobipass","IF4p5 RRU","IF1pp RRU"}; char ru_if_types[MAX_RU_IF_TYPES][20]= {"local RF","IF5 RRU","IF5 Mobipass","IF4p5 RRU","IF1pp RRU"};
#endif #endif
/// lookup table for unscrambling in RX /// lookup table for unscrambling in RX
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
# define __PLATFORM_TYPES_H__ # define __PLATFORM_TYPES_H__
#if !defined(NAS_NETLINK) #if !defined(NAS_NETLINK)
#include <stdint.h> #include <stdint.h>
#endif #endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
...@@ -42,19 +42,19 @@ ...@@ -42,19 +42,19 @@
* let's protect potential redefinition * let's protect potential redefinition
*/ */
#ifndef _BOOLEAN_T_DEFINED_ #ifndef _BOOLEAN_T_DEFINED_
#define _BOOLEAN_T_DEFINED_ #define _BOOLEAN_T_DEFINED_
typedef signed char boolean_t; typedef signed char boolean_t;
#if !defined(TRUE) #if !defined(TRUE)
#define TRUE (boolean_t)0x01 #define TRUE (boolean_t)0x01
#endif #endif
#if !defined(FALSE) #if !defined(FALSE)
#define FALSE (boolean_t)0x00 #define FALSE (boolean_t)0x00
#endif #endif
#define BOOL_NOT(b) (b^TRUE) #define BOOL_NOT(b) (b^TRUE)
#endif /* _BOOLEAN_T_DEFINED_ */ #endif /* _BOOLEAN_T_DEFINED_ */
...@@ -188,19 +188,19 @@ typedef uint32_t m_tmsi_t; ...@@ -188,19 +188,19 @@ typedef uint32_t m_tmsi_t;
//Random UE identity length = 40 bits //Random UE identity length = 40 bits
#if ! defined(NOT_A_RANDOM_UE_IDENTITY) #if ! defined(NOT_A_RANDOM_UE_IDENTITY)
#define NOT_A_RANDOM_UE_IDENTITY (uint64_t)0xFFFFFFFF #define NOT_A_RANDOM_UE_IDENTITY (uint64_t)0xFFFFFFFF
#endif #endif
#if ! defined(NOT_A_RNTI) #if ! defined(NOT_A_RNTI)
#define NOT_A_RNTI (rnti_t)0 #define NOT_A_RNTI (rnti_t)0
#endif #endif
#if ! defined(M_RNTI) #if ! defined(M_RNTI)
#define M_RNTI (rnti_t)0xFFFD #define M_RNTI (rnti_t)0xFFFD
#endif #endif
#if ! defined(P_RNTI) #if ! defined(P_RNTI)
#define P_RNTI (rnti_t)0xFFFE #define P_RNTI (rnti_t)0xFFFE
#endif #endif
#if ! defined(SI_RNTI) #if ! defined(SI_RNTI)
#define SI_RNTI (rnti_t)0xFFFF #define SI_RNTI (rnti_t)0xFFFF
#endif #endif
typedef enum config_action_e { typedef enum config_action_e {
CONFIG_ACTION_NULL = 0, CONFIG_ACTION_NULL = 0,
...@@ -225,7 +225,7 @@ typedef uint8_t ebi_t; // eps bearer id ...@@ -225,7 +225,7 @@ typedef uint8_t ebi_t; // eps bearer id
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// may be ITTI not enabled, but type instance is useful also for OTG, // may be ITTI not enabled, but type instance is useful also for OTG,
#if !defined(instance_t) #if !defined(instance_t)
typedef uint16_t instance_t; typedef uint16_t instance_t;
#endif #endif
typedef struct protocol_ctxt_s { typedef struct protocol_ctxt_s {
module_id_t module_id; /*!< \brief Virtualized module identifier */ module_id_t module_id; /*!< \brief Virtualized module identifier */
...@@ -293,5 +293,5 @@ typedef struct protocol_ctxt_s { ...@@ -293,5 +293,5 @@ typedef struct protocol_ctxt_s {
#define CHECK_CTXT_ARGS(CTXT_Pp) #define CHECK_CTXT_ARGS(CTXT_Pp)
#define exit_fun(msg) exit_function(__FILE__,__FUNCTION__,__LINE__,msg) #define exit_fun(msg) exit_function(__FILE__,__FUNCTION__,__LINE__,msg)
void exit_function(const char* file, const char* function, const int line, const char* s); void exit_function(const char *file, const char *function, const int line, const char *s);
#endif #endif
...@@ -33,9 +33,9 @@ ...@@ -33,9 +33,9 @@
#include "rrc_types.h" #include "rrc_types.h"
#include "s1ap_messages_types.h" #include "s1ap_messages_types.h"
#ifdef CMAKER #ifdef CMAKER
#include "LTE_SystemInformationBlockType2.h" #include "LTE_SystemInformationBlockType2.h"
#else #else
#include "RRC/LTE/MESSAGES/LTE_SystemInformationBlockType2.h" #include "RRC/LTE/MESSAGES/LTE_SystemInformationBlockType2.h"
#endif #endif
#include "LTE_SL-OffsetIndicator-r12.h" #include "LTE_SL-OffsetIndicator-r12.h"
#include "LTE_SubframeBitmapSL-r12.h" #include "LTE_SubframeBitmapSL-r12.h"
...@@ -47,19 +47,19 @@ ...@@ -47,19 +47,19 @@
//-------------------------------------------------------------------------------------------// //-------------------------------------------------------------------------------------------//
// Messages for RRC logging // Messages for RRC logging
#if defined(DISABLE_ITTI_XER_PRINT) #if defined(DISABLE_ITTI_XER_PRINT)
#include "LTE_BCCH-DL-SCH-Message.h" #include "LTE_BCCH-DL-SCH-Message.h"
#include "LTE_DL-CCCH-Message.h" #include "LTE_DL-CCCH-Message.h"
#include "LTE_DL-DCCH-Message.h" #include "LTE_DL-DCCH-Message.h"
#include "LTE_UE-EUTRA-Capability.h" #include "LTE_UE-EUTRA-Capability.h"
#include "LTE_UL-CCCH-Message.h" #include "LTE_UL-CCCH-Message.h"
#include "LTE_UL-DCCH-Message.h" #include "LTE_UL-DCCH-Message.h"
typedef BCCH_DL_SCH_Message_t RrcDlBcchMessage; typedef BCCH_DL_SCH_Message_t RrcDlBcchMessage;
typedef DL_CCCH_Message_t RrcDlCcchMessage; typedef DL_CCCH_Message_t RrcDlCcchMessage;
typedef DL_DCCH_Message_t RrcDlDcchMessage; typedef DL_DCCH_Message_t RrcDlDcchMessage;
typedef UE_EUTRA_Capability_t RrcUeEutraCapability; typedef UE_EUTRA_Capability_t RrcUeEutraCapability;
typedef UL_CCCH_Message_t RrcUlCcchMessage; typedef UL_CCCH_Message_t RrcUlCcchMessage;
typedef UL_DCCH_Message_t RrcUlDcchMessage; typedef UL_DCCH_Message_t RrcUlDcchMessage;
#endif #endif
//-------------------------------------------------------------------------------------------// //-------------------------------------------------------------------------------------------//
...@@ -102,6 +102,7 @@ typedef struct RrcConfigurationReq_s { ...@@ -102,6 +102,7 @@ typedef struct RrcConfigurationReq_s {
uint8_t mnc_digit_length[PLMN_LIST_MAX_SIZE]; uint8_t mnc_digit_length[PLMN_LIST_MAX_SIZE];
uint8_t num_plmn; uint8_t num_plmn;
uint32_t rrc_inactivity_timer_thres; // for testing, maybe change later
paging_drx_t default_drx; paging_drx_t default_drx;
int16_t nb_cc; int16_t nb_cc;
...@@ -124,9 +125,9 @@ typedef struct RrcConfigurationReq_s { ...@@ -124,9 +125,9 @@ typedef struct RrcConfigurationReq_s {
long pucch_delta_shift[MAX_NUM_CCs]; long pucch_delta_shift[MAX_NUM_CCs];
long pucch_nRB_CQI[MAX_NUM_CCs]; long pucch_nRB_CQI[MAX_NUM_CCs];
long pucch_nCS_AN[MAX_NUM_CCs]; long pucch_nCS_AN[MAX_NUM_CCs];
//#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0)) //#if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
long pucch_n1_AN[MAX_NUM_CCs]; long pucch_n1_AN[MAX_NUM_CCs];
//#endif //#endif
long pdsch_referenceSignalPower[MAX_NUM_CCs]; long pdsch_referenceSignalPower[MAX_NUM_CCs];
long pdsch_p_b[MAX_NUM_CCs]; long pdsch_p_b[MAX_NUM_CCs];
long pusch_n_SB[MAX_NUM_CCs]; long pusch_n_SB[MAX_NUM_CCs];
...@@ -188,7 +189,7 @@ typedef struct RrcConfigurationReq_s { ...@@ -188,7 +189,7 @@ typedef struct RrcConfigurationReq_s {
LTE_SL_OffsetIndicator_r12_PR rxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs]; LTE_SL_OffsetIndicator_r12_PR rxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
long rxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs]; long rxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
LTE_SubframeBitmapSL_r12_PR rxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs]; LTE_SubframeBitmapSL_r12_PR rxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
char* rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs]; char *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
long rxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs]; long rxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
long rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs]; long rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
...@@ -204,7 +205,7 @@ typedef struct RrcConfigurationReq_s { ...@@ -204,7 +205,7 @@ typedef struct RrcConfigurationReq_s {
LTE_SL_OffsetIndicator_r12_PR discRxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs]; LTE_SL_OffsetIndicator_r12_PR discRxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
long discRxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs]; long discRxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
LTE_SubframeBitmapSL_r12_PR discRxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs]; LTE_SubframeBitmapSL_r12_PR discRxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
char* discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs]; char *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
long discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs]; long discRxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
long discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs]; long discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
//for discRxPoolPS //for discRxPoolPS
...@@ -218,7 +219,7 @@ typedef struct RrcConfigurationReq_s { ...@@ -218,7 +219,7 @@ typedef struct RrcConfigurationReq_s {
LTE_SL_OffsetIndicator_r12_PR discRxPoolPS_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs]; LTE_SL_OffsetIndicator_r12_PR discRxPoolPS_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
long discRxPoolPS_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs]; long discRxPoolPS_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
LTE_SubframeBitmapSL_r12_PR discRxPoolPS_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs]; LTE_SubframeBitmapSL_r12_PR discRxPoolPS_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
char* discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs]; char *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
long discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs]; long discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
long discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs]; long discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];
} RrcConfigurationReq; } RrcConfigurationReq;
......
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -2272,8 +2272,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP) ...@@ -2272,8 +2272,7 @@ uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP)
eNB_MAC_INST *eNB = RC.mac[module_idP]; eNB_MAC_INST *eNB = RC.mac[module_idP];
COMMON_channels_t *cc = &eNB->common_channels[CC_idP]; COMMON_channels_t *cc = &eNB->common_channels[CC_idP];
struct LTE_PhysicalConfigDedicated *physicalConfigDedicated = LTE_PhysicalConfigDedicated_t *physicalConfigDedicated = eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP];
eNB->UE_list.physicalConfigDedicated[CC_idP][UE_idP];
if (physicalConfigDedicated == NULL) { // RRCConnectionSetup not received by UE yet if (physicalConfigDedicated == NULL) { // RRCConnectionSetup not received by UE yet
AssertFatal(cc->p_eNB <= 2, "p_eNB is %d, should be <2\n", AssertFatal(cc->p_eNB <= 2, "p_eNB is %d, should be <2\n",
......
This diff is collapsed.
/* /*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with * contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. * this work for additional information regarding copyright ownership.
...@@ -1070,8 +1070,7 @@ typedef struct { ...@@ -1070,8 +1070,7 @@ typedef struct {
/*! \brief UE list used by eNB to order UEs/CC for scheduling*/ /*! \brief UE list used by eNB to order UEs/CC for scheduling*/
typedef struct { typedef struct {
/// Dedicated information for UEs /// Dedicated information for UEs
struct PhysicalConfigDedicated LTE_PhysicalConfigDedicated_t *physicalConfigDedicated[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB];
*physicalConfigDedicated[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB];
/// DLSCH pdu /// DLSCH pdu
DLSCH_PDU DLSCH_pdu[NFAPI_CC_MAX][2][MAX_MOBILES_PER_ENB]; DLSCH_PDU DLSCH_pdu[NFAPI_CC_MAX][2][MAX_MOBILES_PER_ENB];
/// DCI template and MAC connection parameters for UEs /// DCI template and MAC connection parameters for UEs
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#include "common/ran_context.h" #include "common/ran_context.h"
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
# include "intertask_interface.h" #include "intertask_interface.h"
#endif #endif
#include "flexran_agent_extern.h" #include "flexran_agent_extern.h"
...@@ -54,7 +54,7 @@ mac_rrc_data_req( ...@@ -54,7 +54,7 @@ mac_rrc_data_req(
const frame_t frameP, const frame_t frameP,
const rb_id_t Srb_id, const rb_id_t Srb_id,
const uint8_t Nb_tb, const uint8_t Nb_tb,
uint8_t* const buffer_pP, uint8_t *const buffer_pP,
const uint8_t mbsfn_sync_area const uint8_t mbsfn_sync_area
) )
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------
...@@ -64,7 +64,6 @@ mac_rrc_data_req( ...@@ -64,7 +64,6 @@ mac_rrc_data_req(
uint8_t Sdu_size = 0; uint8_t Sdu_size = 0;
uint8_t sfn = (uint8_t)((frameP>>2)&0xff); uint8_t sfn = (uint8_t)((frameP>>2)&0xff);
if (LOG_DEBUGFLAG(DEBUG_RRC)) { if (LOG_DEBUGFLAG(DEBUG_RRC)) {
LOG_D(RRC,"[eNB %d] mac_rrc_data_req to SRB ID=%d\n",Mod_idP,Srb_id); LOG_D(RRC,"[eNB %d] mac_rrc_data_req to SRB ID=%d\n",Mod_idP,Srb_id);
} }
...@@ -72,8 +71,6 @@ mac_rrc_data_req( ...@@ -72,8 +71,6 @@ mac_rrc_data_req(
eNB_RRC_INST *rrc; eNB_RRC_INST *rrc;
rrc_eNB_carrier_data_t *carrier; rrc_eNB_carrier_data_t *carrier;
LTE_BCCH_BCH_Message_t *mib; LTE_BCCH_BCH_Message_t *mib;
rrc = RC.rrc[Mod_idP]; rrc = RC.rrc[Mod_idP];
carrier = &rrc->carrier[0]; carrier = &rrc->carrier[0];
mib = &carrier->mib; mib = &carrier->mib;
...@@ -118,17 +115,18 @@ mac_rrc_data_req( ...@@ -118,17 +115,18 @@ mac_rrc_data_req(
LOG_T(RRC,"\n"); LOG_T(RRC,"\n");
} /* LOG_DEBUGFLAG(DEBUG_RRC) */ } /* LOG_DEBUGFLAG(DEBUG_RRC) */
return(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23); return(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23);
} else { } else {
return(0); return(0);
} }
} }
if( (Srb_id & RAB_OFFSET ) == MIBCH) {
if( (Srb_id & RAB_OFFSET ) == MIBCH) {
mib->message.systemFrameNumber.buf = &sfn; mib->message.systemFrameNumber.buf = &sfn;
enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message,
NULL, NULL,
(void*)mib, (void *)mib,
carrier->MIB, carrier->MIB,
24); 24);
LOG_D(RRC,"Encoded MIB for frame %d (%p), bits %lu\n",sfn,carrier->MIB,enc_rval.encoded); LOG_D(RRC,"Encoded MIB for frame %d (%p), bits %lu\n",sfn,carrier->MIB,enc_rval.encoded);
...@@ -153,7 +151,6 @@ mac_rrc_data_req( ...@@ -153,7 +151,6 @@ mac_rrc_data_req(
// check if data is there for MAC // check if data is there for MAC
if(Srb_info->Tx_buffer.payload_size>0) { //Fill buffer if(Srb_info->Tx_buffer.payload_size>0) { //Fill buffer
LOG_D(RRC,"[eNB %d] CCCH (%p) has %d bytes (dest: %p, src %p)\n",Mod_idP,Srb_info,Srb_info->Tx_buffer.payload_size,buffer_pP,Srb_info->Tx_buffer.Payload); LOG_D(RRC,"[eNB %d] CCCH (%p) has %d bytes (dest: %p, src %p)\n",Mod_idP,Srb_info,Srb_info->Tx_buffer.payload_size,buffer_pP,Srb_info->Tx_buffer.Payload);
memcpy(buffer_pP,Srb_info->Tx_buffer.Payload,Srb_info->Tx_buffer.payload_size); memcpy(buffer_pP,Srb_info->Tx_buffer.Payload,Srb_info->Tx_buffer.payload_size);
Sdu_size = Srb_info->Tx_buffer.payload_size; Sdu_size = Srb_info->Tx_buffer.payload_size;
Srb_info->Tx_buffer.payload_size=0; Srb_info->Tx_buffer.payload_size=0;
...@@ -169,7 +166,6 @@ mac_rrc_data_req( ...@@ -169,7 +166,6 @@ mac_rrc_data_req(
if(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area] > 0) { //Fill buffer if(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area] > 0) { //Fill buffer
LOG_D(RRC,"[eNB %d] PCCH (%p) has %d bytes\n",Mod_idP,&RC.rrc[Mod_idP]->carrier[CC_id].paging[mbsfn_sync_area], LOG_D(RRC,"[eNB %d] PCCH (%p) has %d bytes\n",Mod_idP,&RC.rrc[Mod_idP]->carrier[CC_id].paging[mbsfn_sync_area],
RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area]); RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area]);
memcpy(buffer_pP, RC.rrc[Mod_idP]->carrier[CC_id].paging[mbsfn_sync_area], RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area]); memcpy(buffer_pP, RC.rrc[Mod_idP]->carrier[CC_id].paging[mbsfn_sync_area], RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area]);
Sdu_size = RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area]; Sdu_size = RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area];
RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area] = 0; RC.rrc[Mod_idP]->carrier[CC_id].sizeof_paging[mbsfn_sync_area] = 0;
...@@ -203,16 +199,16 @@ mac_rrc_data_req( ...@@ -203,16 +199,16 @@ mac_rrc_data_req(
} }
#endif // #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) #endif // #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR){
if ((Srb_id & RAB_OFFSET) == BCCH_SIB1_BR) {
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR, RC.rrc[Mod_idP]->carrier[CC_id].SIB1_BR,
RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR); RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR);
return (RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR); return (RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB1_BR);
} }
if ((Srb_id & RAB_OFFSET) == BCCH_SI_BR){ // First SI message with SIB2/3 if ((Srb_id & RAB_OFFSET) == BCCH_SI_BR) { // First SI message with SIB2/3
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
RC.rrc[Mod_idP]->carrier[CC_id].SIB23_BR, RC.rrc[Mod_idP]->carrier[CC_id].SIB23_BR,
RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23_BR); RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23_BR);
...@@ -220,8 +216,6 @@ mac_rrc_data_req( ...@@ -220,8 +216,6 @@ mac_rrc_data_req(
} }
#endif #endif
return(0); return(0);
} }
...@@ -234,7 +228,7 @@ mac_rrc_data_ind( ...@@ -234,7 +228,7 @@ mac_rrc_data_ind(
const sub_frame_t sub_frameP, const sub_frame_t sub_frameP,
const rnti_t rntiP, const rnti_t rntiP,
const rb_id_t srb_idP, const rb_id_t srb_idP,
const uint8_t* sduP, const uint8_t *sduP,
const sdu_size_t sdu_lenP, const sdu_size_t sdu_lenP,
const uint8_t mbsfn_sync_areaP const uint8_t mbsfn_sync_areaP
) )
...@@ -243,10 +237,8 @@ mac_rrc_data_ind( ...@@ -243,10 +237,8 @@ mac_rrc_data_ind(
SRB_INFO *Srb_info; SRB_INFO *Srb_info;
protocol_ctxt_t ctxt; protocol_ctxt_t ctxt;
sdu_size_t sdu_size = 0; sdu_size_t sdu_size = 0;
/* for no gcc warnings */ /* for no gcc warnings */
(void)sdu_size; (void)sdu_size;
/* /*
int si_window; int si_window;
*/ */
...@@ -263,10 +255,12 @@ mac_rrc_data_ind( ...@@ -263,10 +255,12 @@ mac_rrc_data_ind(
rrc_eNB_decode_ccch(&ctxt, Srb_info, CC_id); rrc_eNB_decode_ccch(&ctxt, Srb_info, CC_id);
} }
} }
if((srb_idP & RAB_OFFSET) == DCCH) { if((srb_idP & RAB_OFFSET) == DCCH) {
struct rrc_eNB_ue_context_s* ue_context_p = NULL; struct rrc_eNB_ue_context_s *ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id],rntiP); ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id],rntiP);
if(ue_context_p){
if(ue_context_p) {
rrc_eNB_generate_defaultRRCConnectionReconfiguration(&ctxt, rrc_eNB_generate_defaultRRCConnectionReconfiguration(&ctxt,
ue_context_p, ue_context_p,
0); 0);
...@@ -275,10 +269,12 @@ mac_rrc_data_ind( ...@@ -275,10 +269,12 @@ mac_rrc_data_ind(
} }
return(0); return(0);
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
/*
* Get RRC status (Connected, Idle...) of UE from RNTI
*/
int int
mac_eNB_get_rrc_status( mac_eNB_get_rrc_status(
const module_id_t Mod_idP, const module_id_t Mod_idP,
...@@ -286,10 +282,8 @@ mac_eNB_get_rrc_status( ...@@ -286,10 +282,8 @@ mac_eNB_get_rrc_status(
) )
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
struct rrc_eNB_ue_context_s* ue_context_p = NULL; struct rrc_eNB_ue_context_s *ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context( ue_context_p = rrc_eNB_get_ue_context(RC.rrc[Mod_idP], rntiP);
RC.rrc[Mod_idP],
rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
return(ue_context_p->ue_context.Status); return(ue_context_p->ue_context.Status);
...@@ -302,26 +296,27 @@ void mac_eNB_rrc_ul_failure(const module_id_t Mod_instP, ...@@ -302,26 +296,27 @@ void mac_eNB_rrc_ul_failure(const module_id_t Mod_instP,
const int CC_idP, const int CC_idP,
const frame_t frameP, const frame_t frameP,
const sub_frame_t subframeP, const sub_frame_t subframeP,
const rnti_t rntiP) const rnti_t rntiP) {
{ struct rrc_eNB_ue_context_s *ue_context_p = NULL;
struct rrc_eNB_ue_context_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context( ue_context_p = rrc_eNB_get_ue_context(
RC.rrc[Mod_instP], RC.rrc[Mod_instP],
rntiP); rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
LOG_I(RRC,"Frame %d, Subframe %d: UE %x UL failure, activating timer\n",frameP,subframeP,rntiP); LOG_I(RRC,"Frame %d, Subframe %d: UE %x UL failure, activating timer\n",frameP,subframeP,rntiP);
if(ue_context_p->ue_context.ul_failure_timer == 0) if(ue_context_p->ue_context.ul_failure_timer == 0)
ue_context_p->ue_context.ul_failure_timer=1; ue_context_p->ue_context.ul_failure_timer=1;
} } else {
else {
LOG_W(RRC,"Frame %d, Subframe %d: UL failure: UE %x unknown \n",frameP,subframeP,rntiP); LOG_W(RRC,"Frame %d, Subframe %d: UL failure: UE %x unknown \n",frameP,subframeP,rntiP);
} }
if (rrc_agent_registered[Mod_instP]) { if (rrc_agent_registered[Mod_instP]) {
agent_rrc_xface[Mod_instP]->flexran_agent_notify_ue_state_change(Mod_instP, agent_rrc_xface[Mod_instP]->flexran_agent_notify_ue_state_change(Mod_instP,
rntiP, rntiP,
PROTOCOL__FLEX_UE_STATE_CHANGE_TYPE__FLUESC_DEACTIVATED); PROTOCOL__FLEX_UE_STATE_CHANGE_TYPE__FLUESC_DEACTIVATED);
} }
rrc_mac_remove_ue(Mod_instP,rntiP); rrc_mac_remove_ue(Mod_instP,rntiP);
} }
...@@ -329,19 +324,18 @@ void mac_eNB_rrc_uplane_failure(const module_id_t Mod_instP, ...@@ -329,19 +324,18 @@ void mac_eNB_rrc_uplane_failure(const module_id_t Mod_instP,
const int CC_idP, const int CC_idP,
const frame_t frameP, const frame_t frameP,
const sub_frame_t subframeP, const sub_frame_t subframeP,
const rnti_t rntiP) const rnti_t rntiP) {
{ struct rrc_eNB_ue_context_s *ue_context_p = NULL;
struct rrc_eNB_ue_context_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context( ue_context_p = rrc_eNB_get_ue_context(
RC.rrc[Mod_instP], RC.rrc[Mod_instP],
rntiP); rntiP);
if (ue_context_p != NULL) { if (ue_context_p != NULL) {
LOG_I(RRC,"Frame %d, Subframe %d: UE %x U-Plane failure, activating timer\n",frameP,subframeP,rntiP); LOG_I(RRC,"Frame %d, Subframe %d: UE %x U-Plane failure, activating timer\n",frameP,subframeP,rntiP);
if(ue_context_p->ue_context.ul_failure_timer == 0) if(ue_context_p->ue_context.ul_failure_timer == 0)
ue_context_p->ue_context.ul_failure_timer=19999; ue_context_p->ue_context.ul_failure_timer=19999;
} } else {
else {
LOG_W(RRC,"Frame %d, Subframe %d: U-Plane failure: UE %x unknown \n",frameP,subframeP,rntiP); LOG_W(RRC,"Frame %d, Subframe %d: U-Plane failure: UE %x unknown \n",frameP,subframeP,rntiP);
} }
} }
...@@ -350,9 +344,8 @@ void mac_eNB_rrc_ul_in_sync(const module_id_t Mod_instP, ...@@ -350,9 +344,8 @@ void mac_eNB_rrc_ul_in_sync(const module_id_t Mod_instP,
const int CC_idP, const int CC_idP,
const frame_t frameP, const frame_t frameP,
const sub_frame_t subframeP, const sub_frame_t subframeP,
const rnti_t rntiP) const rnti_t rntiP) {
{ struct rrc_eNB_ue_context_s *ue_context_p = NULL;
struct rrc_eNB_ue_context_s* ue_context_p = NULL;
ue_context_p = rrc_eNB_get_ue_context( ue_context_p = rrc_eNB_get_ue_context(
RC.rrc[Mod_instP], RC.rrc[Mod_instP],
rntiP); rntiP);
......
This diff is collapsed.
...@@ -57,7 +57,7 @@ uint16_t get_adjacent_cell_id(uint8_t Mod_id,uint8_t index); ...@@ -57,7 +57,7 @@ uint16_t get_adjacent_cell_id(uint8_t Mod_id,uint8_t index);
uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId); uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId);
/** /**
\brief Generate configuration for SIB1 (eNB). \brief Generate configuration for MIB (eNB).
@param carrier pointer to Carrier information @param carrier pointer to Carrier information
@param N_RB_DL Number of downlink PRBs @param N_RB_DL Number of downlink PRBs
@param phich_Resource PHICH resoure parameter @param phich_Resource PHICH resoure parameter
...@@ -115,16 +115,16 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, LTE_SL_Destina ...@@ -115,16 +115,16 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, LTE_SL_Destina
/** \brief Generate an RRCConnectionSetupComplete UL-DCCH-Message (UE) /** \brief Generate an RRCConnectionSetupComplete UL-DCCH-Message (UE)
@param buffer Pointer to PER-encoded ASN.1 description of UL-DCCH-Message PDU @param buffer Pointer to PER-encoded ASN.1 description of UL-DCCH-Message PDU
@returns Size of encoded bit stream in bytes*/ @returns Size of encoded bit stream in bytes*/
uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t* buffer, const uint8_t Transaction_id, const int dedicatedInfoNASLength, uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uint8_t Transaction_id, const int dedicatedInfoNASLength,
const char* dedicatedInfoNAS); const char *dedicatedInfoNAS);
/** \brief Generate an RRCConnectionReconfigurationComplete UL-DCCH-Message (UE) /** \brief Generate an RRCConnectionReconfigurationComplete UL-DCCH-Message (UE)
@param buffer Pointer to PER-encoded ASN.1 description of UL-DCCH-Message PDU @param buffer Pointer to PER-encoded ASN.1 description of UL-DCCH-Message PDU
@returns Size of encoded bit stream in bytes*/ @returns Size of encoded bit stream in bytes*/
uint8_t uint8_t
do_RRCConnectionReconfigurationComplete( do_RRCConnectionReconfigurationComplete(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
uint8_t* buffer, uint8_t *buffer,
const uint8_t Transaction_id const uint8_t Transaction_id
); );
...@@ -143,14 +143,14 @@ PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting ...@@ -143,14 +143,14 @@ PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting
@returns Size of encoded bit stream in bytes*/ @returns Size of encoded bit stream in bytes*/
uint8_t uint8_t
do_RRCConnectionSetup( do_RRCConnectionSetup(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
rrc_eNB_ue_context_t* const ue_context_pP, rrc_eNB_ue_context_t *const ue_context_pP,
int CC_id, int CC_id,
uint8_t* const buffer, uint8_t *const buffer,
const uint8_t transmission_mode, const uint8_t transmission_mode,
const uint8_t Transaction_id, const uint8_t Transaction_id,
LTE_SRB_ToAddModList_t** SRB_configList, LTE_SRB_ToAddModList_t **SRB_configList,
struct LTE_PhysicalConfigDedicated** physicalConfigDedicated struct LTE_PhysicalConfigDedicated **physicalConfigDedicated
); );
/** /**
...@@ -177,7 +177,7 @@ do_RRCConnectionSetup( ...@@ -177,7 +177,7 @@ do_RRCConnectionSetup(
uint16_t uint16_t
do_RRCConnectionReconfiguration( do_RRCConnectionReconfiguration(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
uint8_t *buffer, uint8_t *buffer,
uint8_t Transaction_id, uint8_t Transaction_id,
LTE_SRB_ToAddModList_t *SRB_list, LTE_SRB_ToAddModList_t *SRB_list,
...@@ -195,13 +195,13 @@ do_RRCConnectionReconfiguration( ...@@ -195,13 +195,13 @@ do_RRCConnectionReconfiguration(
struct LTE_MeasConfig__speedStatePars *speedStatePars, struct LTE_MeasConfig__speedStatePars *speedStatePars,
LTE_RSRP_Range_t *rsrp, LTE_RSRP_Range_t *rsrp,
LTE_C_RNTI_t *cba_rnti, LTE_C_RNTI_t *cba_rnti,
struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList, struct LTE_RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList,
LTE_SL_CommConfig_r12_t *sl_CommConfig, LTE_SL_CommConfig_r12_t *sl_CommConfig,
LTE_SL_DiscConfig_r12_t *sl_DiscConfig LTE_SL_DiscConfig_r12_t *sl_DiscConfig
#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
, LTE_SCellToAddMod_r10_t *SCell_config , LTE_SCellToAddMod_r10_t *SCell_config
#endif #endif
); );
/** /**
\brief Generate an RRCConnectionReestablishment DL-CCCH-Message (eNB). This routine configures SRB_ToAddMod (SRB1/SRB2) and \brief Generate an RRCConnectionReestablishment DL-CCCH-Message (eNB). This routine configures SRB_ToAddMod (SRB1/SRB2) and
PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting (PUCCH format 2/2a/2b) or SRS. PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting (PUCCH format 2/2a/2b) or SRS.
...@@ -216,10 +216,10 @@ PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting ...@@ -216,10 +216,10 @@ PhysicalConfigDedicated IEs. The latter does not enable periodic CQI reporting
@returns Size of encoded bit stream in bytes*/ @returns Size of encoded bit stream in bytes*/
uint8_t uint8_t
do_RRCConnectionReestablishment( do_RRCConnectionReestablishment(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
rrc_eNB_ue_context_t* const ue_context_pP, rrc_eNB_ue_context_t *const ue_context_pP,
int CC_id, int CC_id,
uint8_t* const buffer, uint8_t *const buffer,
const uint8_t transmission_mode, const uint8_t transmission_mode,
const uint8_t Transaction_id, const uint8_t Transaction_id,
LTE_SRB_ToAddModList_t **SRB_configList, LTE_SRB_ToAddModList_t **SRB_configList,
...@@ -233,7 +233,7 @@ do_RRCConnectionReestablishment( ...@@ -233,7 +233,7 @@ do_RRCConnectionReestablishment(
uint8_t uint8_t
do_RRCConnectionReestablishmentReject( do_RRCConnectionReestablishmentReject(
uint8_t Mod_id, uint8_t Mod_id,
uint8_t* const buffer); uint8_t *const buffer);
/** /**
\brief Generate an RRCConnectionReject DL-CCCH-Message (eNB). \brief Generate an RRCConnectionReject DL-CCCH-Message (eNB).
...@@ -243,7 +243,7 @@ do_RRCConnectionReestablishmentReject( ...@@ -243,7 +243,7 @@ do_RRCConnectionReestablishmentReject(
uint8_t uint8_t
do_RRCConnectionReject( do_RRCConnectionReject(
uint8_t Mod_id, uint8_t Mod_id,
uint8_t* const buffer); uint8_t *const buffer);
/** /**
\brief Generate an RRCConnectionRequest UL-CCCH-Message (UE) based on random string or S-TMSI. This \brief Generate an RRCConnectionRequest UL-CCCH-Message (UE) based on random string or S-TMSI. This
...@@ -286,14 +286,14 @@ OAI_UECapability_t *fill_ue_capability(char *LTE_UE_EUTRA_Capability_xer); ...@@ -286,14 +286,14 @@ OAI_UECapability_t *fill_ue_capability(char *LTE_UE_EUTRA_Capability_xer);
uint8_t uint8_t
do_UECapabilityEnquiry( do_UECapabilityEnquiry(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
uint8_t* const buffer, uint8_t *const buffer,
const uint8_t Transaction_id const uint8_t Transaction_id
); );
uint8_t do_SecurityModeCommand( uint8_t do_SecurityModeCommand(
const protocol_ctxt_t* const ctxt_pP, const protocol_ctxt_t *const ctxt_pP,
uint8_t* const buffer, uint8_t *const buffer,
const uint8_t Transaction_id, const uint8_t Transaction_id,
const uint8_t cipheringAlgorithm, const uint8_t cipheringAlgorithm,
const uint8_t integrityProtAlgorithm); const uint8_t integrityProtAlgorithm);
...@@ -735,7 +735,7 @@ Paging-v1130-IEs ::= SEQUENCE { ...@@ -735,7 +735,7 @@ Paging-v1130-IEs ::= SEQUENCE {
} }
Paging-v1310-IEs ::= SEQUENCE { Paging-v1310-IEs ::= SEQUENCE {
redistributionIndication-r13 ENUMERATED {true} OPTIONAL, --Need ON redistributionIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON
systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON
nonCriticalExtension SEQUENCE {} OPTIONAL nonCriticalExtension SEQUENCE {} OPTIONAL
} }
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -31,9 +31,9 @@ log_config = { ...@@ -31,9 +31,9 @@ log_config = {
global_log_verbosity ="medium"; global_log_verbosity ="medium";
hw_log_level ="info"; hw_log_level ="info";
hw_log_verbosity ="medium"; hw_log_verbosity ="medium";
phy_log_level ="debug"; phy_log_level ="info";
phy_log_verbosity ="medium"; phy_log_verbosity ="medium";
mac_log_level ="debug"; mac_log_level ="info";
mac_log_verbosity ="high"; mac_log_verbosity ="high";
rlc_log_level ="info"; rlc_log_level ="info";
rlc_log_verbosity ="medium"; rlc_log_verbosity ="medium";
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment