Merge remote-tracking branch 'origin/OAI_develop' into oai_develop_nfapi
This commit is contained in:
@@ -61,6 +61,8 @@
|
||||
|
||||
#define MAX_PAYLOAD 1024 /* maximum payload size*/
|
||||
|
||||
#define MAX_NUM_NEIGH_CELLs 6 /* maximum neighbouring cells number */
|
||||
|
||||
#define UE_STATE_NOTIFICATION_INTERVAL 50
|
||||
|
||||
#define IPV4_ADDR "%u.%u.%u.%u"
|
||||
@@ -477,6 +479,73 @@ typedef struct HANDOVER_INFO_s {
|
||||
int x2_id; /* X2AP UE ID in the target eNB */
|
||||
} HANDOVER_INFO;
|
||||
|
||||
typedef struct PER_EVENT_s {
|
||||
long maxReportCells;
|
||||
} PER_EVENT_t;
|
||||
|
||||
typedef struct A1_EVENT_s {
|
||||
long threshold_RSRP;
|
||||
long hysteresis;
|
||||
long timeToTrigger;
|
||||
long maxReportCells;
|
||||
} A1_EVENT_t;
|
||||
|
||||
typedef struct A2_EVENT_s {
|
||||
long threshold_RSRP;
|
||||
long hysteresis;
|
||||
long timeToTrigger;
|
||||
long maxReportCells;
|
||||
} A2_EVENT_t;
|
||||
|
||||
typedef struct A3_EVENT_s {
|
||||
long a3_offset;
|
||||
int reportOnLeave;
|
||||
long hysteresis;
|
||||
long timeToTrigger;
|
||||
long maxReportCells;
|
||||
} A3_EVENT_t;
|
||||
|
||||
|
||||
typedef struct A4_EVENT_s {
|
||||
long threshold_RSRP;
|
||||
long hysteresis;
|
||||
long timeToTrigger;
|
||||
long maxReportCells;
|
||||
} A4_EVENT_t;
|
||||
|
||||
typedef struct A5_EVENT_s {
|
||||
long threshold_RSRP_1;
|
||||
long threshold_RSRP_2;
|
||||
long hysteresis;
|
||||
long timeToTrigger;
|
||||
long maxReportCells;
|
||||
} A5_EVENT_t;
|
||||
|
||||
typedef struct EVENTS_s {
|
||||
PER_EVENT_t *per_event;
|
||||
|
||||
A1_EVENT_t *a1_event;
|
||||
|
||||
A2_EVENT_t *a2_event;
|
||||
|
||||
A3_EVENT_t *a3_event;
|
||||
|
||||
A4_EVENT_t *a4_event;
|
||||
|
||||
A5_EVENT_t *a5_event;
|
||||
} EVENTS_t;
|
||||
|
||||
typedef struct MEASUREMENT_INFO_s {
|
||||
//TODO: Extend to multiple meas objects for OFP/OFN offsets
|
||||
long offsetFreq;
|
||||
//TODO: extend to multiple carriers for OCP/OCN offsets
|
||||
long cellIndividualOffset[MAX_NUM_NEIGH_CELLs+1];
|
||||
long filterCoefficientRSRP;
|
||||
long filterCoefficientRSRQ;
|
||||
EVENTS_t *events;
|
||||
} MEASUREMENT_INFO;
|
||||
|
||||
|
||||
#define RRC_HEADER_SIZE_MAX 64
|
||||
#define RRC_BUFFER_SIZE_MAX 1024
|
||||
typedef struct {
|
||||
@@ -559,6 +628,7 @@ typedef struct eNB_RRC_UE_s {
|
||||
SRB_INFO_TABLE_ENTRY Srb2;
|
||||
LTE_MeasConfig_t *measConfig;
|
||||
HANDOVER_INFO *handover_info;
|
||||
MEASUREMENT_INFO *measurement_info;
|
||||
LTE_MeasResults_t *measResults;
|
||||
LTE_MobilityControlInfo_t *mobilityInfo;
|
||||
|
||||
@@ -756,6 +826,14 @@ typedef struct eNB_RRC_INST_s {
|
||||
/// NR cell id
|
||||
uint64_t nr_cellid;
|
||||
|
||||
// X2 handover controlled by network
|
||||
int x2_ho_net_control;
|
||||
|
||||
// Neighborouring cells id
|
||||
int num_neigh_cells;
|
||||
int num_neigh_cells_cc[MAX_NUM_CCs];
|
||||
uint32_t neigh_cells_id[MAX_NUM_NEIGH_CELLs][MAX_NUM_CCs];
|
||||
|
||||
// other RAN parameters
|
||||
int srb1_timer_poll_retransmit;
|
||||
int srb1_poll_pdu;
|
||||
|
||||
+657
-212
File diff suppressed because it is too large
Load Diff
@@ -306,8 +306,7 @@ void
|
||||
flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
rrc_eNB_ue_context_t *const ue_context_pP,
|
||||
const uint8_t ho_state,
|
||||
agent_reconf_rrc *trig_param
|
||||
const uint8_t ho_state
|
||||
);
|
||||
void
|
||||
rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ctxt_pP,
|
||||
@@ -357,6 +356,9 @@ void *rrc_enb_task(void *args_p);
|
||||
\param void *args_p Pointer on arguments to start the task. */
|
||||
void *rrc_ue_task(void *args_p);
|
||||
|
||||
void rrc_eNB_process_x2_setup_request(int mod_id, x2ap_setup_req_t *m);
|
||||
|
||||
void rrc_eNB_process_x2_setup_response(int mod_id, x2ap_setup_resp_t *m);
|
||||
|
||||
void rrc_eNB_process_handoverPreparationInformation(int mod_id, x2ap_handover_req_t *m);
|
||||
|
||||
@@ -610,6 +612,12 @@ rrc_eNB_generate_HandoverPreparationInformation(
|
||||
//LTE_PhysCellId_t targetPhyId
|
||||
);
|
||||
|
||||
int
|
||||
flexran_rrc_eNB_trigger_handover (int mod_id,
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
rrc_eNB_ue_context_t *ue_context_pP,
|
||||
int target_cell_id);
|
||||
|
||||
void
|
||||
check_handovers(
|
||||
protocol_ctxt_t *const ctxt_pP
|
||||
|
||||
Reference in New Issue
Block a user