Commit fd55fbc6 authored by winckel's avatar winckel

Completed RRC handling of S1AP messages.

Re-organized UE info in eNB.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4459 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent cd6ed905
...@@ -82,8 +82,12 @@ ...@@ -82,8 +82,12 @@
#include "PMCH-InfoList-r9.h" #include "PMCH-InfoList-r9.h"
#endif #endif
#ifndef FALSE
#define FALSE (0x00) #define FALSE (0x00)
#endif
#ifndef TRUE
#define TRUE !(FALSE) #define TRUE !(FALSE)
#endif
extern pthread_t pdcp_thread; extern pthread_t pdcp_thread;
extern pthread_attr_t pdcp_thread_attr; extern pthread_attr_t pdcp_thread_attr;
......
...@@ -597,7 +597,7 @@ void rrc_lite_out_of_sync_ind(u8 Mod_id, u32 frame, u16 eNB_index){ ...@@ -597,7 +597,7 @@ void rrc_lite_out_of_sync_ind(u8 Mod_id, u32 frame, u16 eNB_index){
int mac_get_rrc_lite_status(u8 Mod_id,u8 eNB_flag,u8 index){ int mac_get_rrc_lite_status(u8 Mod_id,u8 eNB_flag,u8 index){
//-------------------------------------------------------------------------------------------// //-------------------------------------------------------------------------------------------//
if(eNB_flag == 1) if(eNB_flag == 1)
return(eNB_rrc_inst[Mod_id].Info.Status[index]); return(eNB_rrc_inst[Mod_id].Info.UE[index].Status);
else else
return(UE_rrc_inst[Mod_id].Info[index].State); return(UE_rrc_inst[Mod_id].Info[index].State);
} }
......
...@@ -83,6 +83,10 @@ ...@@ -83,6 +83,10 @@
#include "rrc_rrm_interface.h" #include "rrc_rrm_interface.h"
#endif #endif
#if defined(ENABLE_ITTI)
# include "intertask_interface.h"
#endif
/** @defgroup _rrc_impl_ RRC Layer Reference Implementation /** @defgroup _rrc_impl_ RRC Layer Reference Implementation
* @ingroup _ref_implementation_ * @ingroup _ref_implementation_
* @{ * @{
...@@ -149,14 +153,38 @@ typedef struct{ ...@@ -149,14 +153,38 @@ typedef struct{
u32 N311_cnt; u32 N311_cnt;
}UE_RRC_INFO; }UE_RRC_INFO;
typedef struct UE_S_TMSI_s {
uint8_t presence;
uint8_t mme_code;
uint32_t m_tmsi;
}__attribute__ ((__packed__)) UE_S_TMSI;
typedef struct{ typedef struct{
u8 Status[NUMBER_OF_UE_MAX]; u8 Status;
u8 Nb_ue;
//unsigned short UE_index_list[NUMBER_OF_UE_MAX]; #if defined(ENABLE_ITTI)
//L2_ID UE_list[NUMBER_OF_UE_MAX]; /* Information from UE RRC ConnectionRequest */
u8 UE_list[NUMBER_OF_UE_MAX][5]; UE_S_TMSI Initialue_identity_s_TMSI;
InitialUE_Identity_t UE_Initialue_identity[NUMBER_OF_UE_MAX]; EstablishmentCause_t establishment_cause;
EstablishmentCause_t UE_establishment_cause[NUMBER_OF_UE_MAX];
/* Information from S1AP initial_context_setup_req */
unsigned eNB_ue_s1ap_id :24;
/* Number of e_rab to be setup in the list */
uint8_t nb_of_e_rabs;
/* list of e_rab to be setup by RRC layers */
e_rab_t e_rab_param[S1AP_MAX_E_RAB];
#endif
}__attribute__ ((__packed__)) eNB_RRC_UE_INFO;
typedef struct{
/* Number of UE handle by the eNB */
uint8_t Nb_ue;
/* UE list for UE index allocation */
uint8_t UE_list[NUMBER_OF_UE_MAX][5];
/* Information on UE */
eNB_RRC_UE_INFO UE[NUMBER_OF_UE_MAX];
}__attribute__ ((__packed__)) eNB_RRC_INFO; }__attribute__ ((__packed__)) eNB_RRC_INFO;
typedef struct{ typedef struct{
...@@ -274,8 +302,8 @@ typedef struct{ ...@@ -274,8 +302,8 @@ typedef struct{
SRB_INFO Srb0; SRB_INFO Srb0;
SRB_INFO_TABLE_ENTRY Srb1[NUMBER_OF_UE_MAX+1]; SRB_INFO_TABLE_ENTRY Srb1[NUMBER_OF_UE_MAX+1];
SRB_INFO_TABLE_ENTRY Srb2[NUMBER_OF_UE_MAX+1]; SRB_INFO_TABLE_ENTRY Srb2[NUMBER_OF_UE_MAX+1];
MeasConfig_t *measConfig[NUMBER_OF_UE_MAX]; MeasConfig_t *measConfig[NUMBER_OF_UE_MAX];
HANDOVER_INFO *handover_info[NUMBER_OF_UE_MAX]; HANDOVER_INFO *handover_info[NUMBER_OF_UE_MAX];
uint8_t HO_flag; uint8_t HO_flag;
#if defined(ENABLE_SECURITY) #if defined(ENABLE_SECURITY)
/* KeNB as derived from KASME received from EPC */ /* KeNB as derived from KASME received from EPC */
......
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