Merge remote-tracking branch 'origin/remove-dead-code' into integration_2026_w05 (!3831)
semi-manual remove of not used #define commands
As i was upset to see all these #define with no code under, i made a
global pass to remove the obvious cases semi-manual remove of not used
bodies
manual script, then a lot of manual review
grep -IRs "#define" ../openair* ../common/* ../executables/ ../nfapi/ ../radio/ | \
fgrep -v '(' | fgrep -v '//' |awk '{print $2}' | egrep -v "#define *$n"| \
while read n ; do
grep -IRs $n ../openair* ../common/* ../executables/ ../nfapi/ ../radio/ | grep -v "#define *$n" | grep -q $n || echo $n;
done
will give a decent list of #define never used. Then, I think we should
keep lists of # define when it comes from standards, even if the code
doesn't use it right now
This commit is contained in:
@@ -33,7 +33,6 @@
|
||||
/* Definitions according to 3GPP TS 38.463 */
|
||||
#define E1AP_MAX_NUM_TRANSAC_IDS 4
|
||||
#define E1AP_MAX_NUM_PLMNS 4
|
||||
#define E1AP_MAX_NUM_SLICES 1024
|
||||
#define E1AP_MAX_NUM_CELL_GROUPS 4
|
||||
#define E1AP_MAX_NUM_QOS_FLOWS 64
|
||||
#define E1AP_MAX_NUM_PDU_SESSIONS 4
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
*/
|
||||
#define F1AP_TRANSPORT_LAYER_ADDRESS_SIZE (160 / 8)
|
||||
|
||||
#define F1AP_MAX_NB_CU_IP_ADDRESS 10
|
||||
|
||||
// Note this should be 512 from maxval in 38.473
|
||||
#define F1AP_MAX_NB_CELLS 2
|
||||
@@ -82,7 +81,6 @@
|
||||
#define F1AP_MAX_NO_OF_TNL_ASSOCIATIONS 32
|
||||
#define F1AP_MAX_NO_UE_ID 1024
|
||||
|
||||
#define F1AP_MAX_NO_OF_INDIVIDUAL_CONNECTIONS_TO_RESET 65536
|
||||
/* 9.3.1.42 of 3GPP TS 38.473 - gNB-CU System Information */
|
||||
#define F1AP_MAX_NO_SIB_TYPES 32
|
||||
|
||||
|
||||
@@ -83,11 +83,6 @@ result could be based on an event-driven measurement report.
|
||||
|
||||
#define NUMBER_OF_MEASUREMENT_SUBBANDS 16
|
||||
|
||||
#define RRC_RACH_ASS_REQ 0
|
||||
#define MAC_RACH_BW_REQ 1
|
||||
|
||||
|
||||
|
||||
/*! MAC/PHY Measurement Structure*/
|
||||
/*! \brief Logical Channel ID structure */
|
||||
typedef struct {
|
||||
@@ -325,20 +320,11 @@ typedef struct { //RRC_INTERFACE_FUNCTIONS
|
||||
} RRC_XFACE;
|
||||
|
||||
//#define IDLE 0
|
||||
#define NEED_RADIO_CONFIG 3
|
||||
#define RADIO_CONFIG_TX 2
|
||||
#define RADIO_CONFIG_OK 1
|
||||
|
||||
#define MEAS_CONFIGURED 4
|
||||
#define MEAS_OK 5
|
||||
#define MEAS_TRIGGER 6
|
||||
#define RRC_MEAS_REPORT_REQ 7
|
||||
#define MEAS_REPORT 8
|
||||
|
||||
#define RAB_MEAS_IND 0
|
||||
#define DEF_MEAS_IND 1
|
||||
|
||||
#define ADD_LC 0
|
||||
#define REMOVE_LC 1
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,9 +30,6 @@
|
||||
#include "pdcp_messages_def.h"
|
||||
#include "rrc_messages_def.h"
|
||||
#include "nas_messages_def.h"
|
||||
#if ENABLE_RAL
|
||||
#include "ral_messages_def.h"
|
||||
#endif
|
||||
#include "s1ap_messages_def.h"
|
||||
#include "f1ap_messages_def.h"
|
||||
#include "x2ap_messages_def.h"
|
||||
|
||||
@@ -228,9 +228,6 @@ typedef struct {
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char id; /* Packet filter identifier */
|
||||
#define NET_PACKET_FILTER_DOWNLINK 0x01
|
||||
#define NET_PACKET_FILTER_UPLINK 0x02
|
||||
#define NET_PACKET_FILTER_BIDIR 0x03
|
||||
unsigned char dir; /* Packet filter direction */
|
||||
unsigned char precedence; /* Evaluation precedence */
|
||||
union {
|
||||
|
||||
@@ -88,7 +88,6 @@
|
||||
#define NGAP_TRANSPORT_LAYER_ADDRESS_SIZE (160 / 8)
|
||||
|
||||
#define NGAP_MAX_NB_AMF_IP_ADDRESS 10
|
||||
#define NGAP_IMSI_LENGTH 16
|
||||
|
||||
#define NGAP_MAX_NO_TAI_PAGING 16 // 9.2.4.1 3GPP TS 38.413
|
||||
|
||||
|
||||
@@ -88,9 +88,6 @@ typedef struct PhyDeactivateReq_s {
|
||||
} PhyDeactivateReq;
|
||||
|
||||
typedef struct PhyFindCellReq_s {
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
# endif
|
||||
Earfcn earfcn_start;
|
||||
Earfcn earfcn_end;
|
||||
} PhyFindCellReq;
|
||||
@@ -105,27 +102,16 @@ typedef struct PhyMeasThresholdReq_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_link_cfg_param_t cfg_param;
|
||||
#endif
|
||||
} PhyMeasThresholdReq;
|
||||
|
||||
typedef struct PhyMeasReportInd_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_threshold_t threshold;
|
||||
ral_link_param_t link_param;
|
||||
#endif
|
||||
} PhyMeasReportInd;
|
||||
|
||||
// UE: PHY -> RRC messages
|
||||
typedef struct PhyFindCellInd_s {
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
# endif
|
||||
uint8_t cell_nb;
|
||||
CellInfo cells[MAX_REPORTED_CELL];
|
||||
} PhyFindCellInd;
|
||||
@@ -134,11 +120,5 @@ typedef struct PhyMeasThresholdConf_s {
|
||||
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||
// To be removed if the structure is filled
|
||||
uint32_t dummy;
|
||||
# if ENABLE_RAL
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_status_t status;
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_status_t cfg_status[RAL_MAX_LINK_CFG_PARAMS];
|
||||
#endif
|
||||
} PhyMeasThresholdConf;
|
||||
#endif /* PHY_MESSAGES_TYPES_H_ */
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_SYSTEM_CONFIGURATION_IND, MESSAGE_PRIORITY_MED, rrc_ral_system_configuration_ind_t, rrc_ral_system_configuration_ind)
|
||||
MESSAGE_DEF(RRC_RAL_SYSTEM_INFORMATION_IND, MESSAGE_PRIORITY_MED, rrc_ral_system_information_ind_t, rrc_ral_system_information_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_SCAN_REQ, MESSAGE_PRIORITY_MED, rrc_ral_scan_req_t, rrc_ral_scan_req)
|
||||
MESSAGE_DEF(RRC_RAL_SCAN_CONF, MESSAGE_PRIORITY_MED, rrc_ral_scan_conf_t, rrc_ral_scan_conf)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONFIGURE_THRESHOLD_REQ, MESSAGE_PRIORITY_MED, rrc_ral_configure_threshold_req_t, rrc_ral_configure_threshold_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONFIGURE_THRESHOLD_CONF, MESSAGE_PRIORITY_MED, rrc_ral_configure_threshold_conf_t, rrc_ral_configure_threshold_conf)
|
||||
MESSAGE_DEF(RRC_RAL_MEASUREMENT_REPORT_IND, MESSAGE_PRIORITY_MED, rrc_ral_measurement_report_ind_t, rrc_ral_measurement_report_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_REQ, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_req_t, rrc_ral_connection_establishment_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_CONF, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_conf_t, rrc_ral_connection_establishment_conf)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_ESTABLISHMENT_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_establishment_ind_t, rrc_ral_connection_establishment_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_REESTABLISHMENT_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_reestablishment_ind_t, rrc_ral_connection_reestablishment_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_REQ, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_req_t, rrc_ral_connection_reconfiguration_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_IND, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_ind_t, rrc_ral_connection_reconfiguration_ind)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND, MESSAGE_PRIORITY_MAX, rrc_ral_connection_reconfiguration_ho_ind_t, rrc_ral_connection_reconfiguration_ho_ind)
|
||||
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_REQ, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_req_t, rrc_ral_connection_release_req)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_CONF, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_conf_t, rrc_ral_connection_release_conf)
|
||||
MESSAGE_DEF(RRC_RAL_CONNECTION_RELEASE_IND, MESSAGE_PRIORITY_MED, rrc_ral_connection_release_ind_t, rrc_ral_connection_release_ind)
|
||||
|
||||
@@ -1,370 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#ifndef RAL_MESSAGES_TYPES_H_
|
||||
#define RAL_MESSAGES_TYPES_H_
|
||||
#include "asn_constant.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "commonDef.h"
|
||||
/* 802.21 mappings with the RRC protocol :
|
||||
(Research Report RR-12-265 Mapping of IEEE 802.21 MIH primitives to EPS/LTE protocols March 13 th, 2012, Michelle WETTERWALD, Prof. Christian BONNET )
|
||||
LINK EVENTS:
|
||||
Link_Detected System Information
|
||||
|
||||
Link_Up RRC Connection establishment
|
||||
RRC Connection re-establishment
|
||||
RRC Connection reconfiguration
|
||||
|
||||
Link_Down RRC Connection reconfiguration
|
||||
RRC Connection Release
|
||||
|
||||
Link_Parameters_Report Measurement report
|
||||
Link_Going_Down N/A
|
||||
Link_Handover_Imminent N/A
|
||||
Link_Handover_Complete RRC Connection reconfiguration
|
||||
Link_PDU_Transmit_Status N/A
|
||||
|
||||
|
||||
LINK COMMANDS:
|
||||
Link_Capability_Discover N/A
|
||||
Link_Event_Subscribe Measurement configuration
|
||||
Link_Event_Unsubscribe Measurement configuration
|
||||
Link_Get_Parameters Measurement configuration
|
||||
Link_Configure_Thresholds Measurement configuration
|
||||
Link_Action / Disconnect RRC Connection Release
|
||||
Link_Action / Low Power N/A
|
||||
Link_Action / Power Down RRC Connection Release
|
||||
Link_Action / Power Up RRC Connection establishment
|
||||
*/
|
||||
|
||||
#define RRC_RAL_SYSTEM_CONFIGURATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_system_configuration_ind
|
||||
#define RRC_RAL_SYSTEM_INFORMATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_system_information_ind
|
||||
|
||||
#define RRC_RAL_SCAN_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_scan_req
|
||||
#define RRC_RAL_SCAN_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_scan_conf
|
||||
|
||||
#define RRC_RAL_CONFIGURE_THRESHOLD_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_configure_threshold_req
|
||||
#define RRC_RAL_CONFIGURE_THRESHOLD_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_configure_threshold_conf
|
||||
#define RRC_RAL_MEASUREMENT_REPORT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_measurement_report_ind
|
||||
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_req
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_conf
|
||||
#define RRC_RAL_CONNECTION_ESTABLISHMENT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_establishment_ind
|
||||
#define RRC_RAL_CONNECTION_REESTABLISHMENT_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reestablishment_ind
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_req
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_ind
|
||||
#define RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_reconfiguration_ho_ind
|
||||
|
||||
#define RRC_RAL_CONNECTION_RELEASE_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_req
|
||||
#define RRC_RAL_CONNECTION_RELEASE_CONF(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_conf
|
||||
#define RRC_RAL_CONNECTION_RELEASE_IND(mSGpTR) (mSGpTR)->ittiMsg.rrc_ral_connection_release_ind
|
||||
|
||||
#include "MIH_C_header_codec.h"
|
||||
|
||||
typedef MIH_C_TRANSACTION_ID_T ral_transaction_id_t;
|
||||
typedef MIH_C_STATUS_T ral_status_t;
|
||||
typedef MIH_C_CHOICE_T ral_choice_t;
|
||||
typedef MIH_C_CONFIG_STATUS_T ral_config_status_t;
|
||||
typedef MIH_C_TH_ACTION_T ral_th_action_t;
|
||||
typedef MIH_C_LINK_ACTION_T ral_link_action_t;
|
||||
|
||||
|
||||
#define RAL_STATUS_SUCCESS MIH_C_STATUS_SUCCESS
|
||||
#define RAL_STATUS_UNSPECIFIED_FAILURE MIH_C_STATUS_UNSPECIFIED_FAILURE
|
||||
#define RAL_STATUS_REJECTED MIH_C_STATUS_REJECTED
|
||||
#define RAL_STATUS_AUTHORIZATION_FAILURE MIH_C_STATUS_AUTHORIZATION_FAILURE
|
||||
#define RAL_STATUS_NETWORK_ERROR MIH_C_STATUS_NETWORK_ERROR
|
||||
|
||||
|
||||
#define RAL_3GPP_ADDR_LENGTH MIH_C_3GPP_ADDR_LENGTH
|
||||
#define RAL_3GPP2_ADDR_LENGTH MIH_C_3GPP2_ADDR_LENGTH
|
||||
#define RAL_OTHER_L2_ADDR_LENGTH MIH_C_OTHER_L2_ADDR_LENGTH
|
||||
#define RAL_LINK_SCAN_RSP_LENGTH MIH_C_LINK_SCAN_RSP_LENGTH
|
||||
#define RAL_THRESHOLD_LIST_LENGTH MIH_C_THRESHOLD_LIST_LENGTH
|
||||
#define RAL_LINK_ADDR_LIST_LENGTH MIH_C_LINK_ADDR_LIST_LENGTH
|
||||
#define RAL_QOS_LIST_LENGTH MIH_C_QOS_LIST_LENGTH
|
||||
#define RAL_LINK_STATUS_REQ_LIST_LENGTH MIH_C_LINK_STATUS_REQ_LIST_LENGTH
|
||||
#define RAL_LINK_CFG_PARAM_LIST_LENGTH MIH_C_LINK_CFG_PARAM_LIST_LENGTH
|
||||
|
||||
typedef struct ral_network_id_s {
|
||||
u_int16_t length;
|
||||
u_int8_t val[253];
|
||||
} ral_network_id_t;
|
||||
|
||||
typedef struct ral_link_addr_s {
|
||||
u_int16_t length;
|
||||
u_int8_t val[RAL_LINK_ADDR_LIST_LENGTH];
|
||||
} ral_link_addr_t;
|
||||
|
||||
typedef struct ral_sig_strength_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
uint8_t dbm;
|
||||
uint8_t percentage;
|
||||
} _union;
|
||||
} ral_sig_strength_t;
|
||||
#define RAL_SIG_STRENGTH_CHOICE_DBM (ral_choice_t)0
|
||||
#define RAL_SIG_STRENGTH_CHOICE_PERCENTAGE (ral_choice_t)1
|
||||
|
||||
|
||||
// FOR ENB ONLY
|
||||
typedef struct rrc_ral_system_configuration_ind_s {
|
||||
plmn_t plmn_id;
|
||||
unsigned int cell_id:28;
|
||||
} rrc_ral_system_configuration_ind_t;
|
||||
|
||||
// FOR UE ONLY
|
||||
typedef struct rrc_ral_system_information_ind_s {
|
||||
plmn_t plmn_id;
|
||||
unsigned int cell_id:28;
|
||||
uint8_t dbm; // sig strength
|
||||
uint16_t sinr;
|
||||
uint32_t link_data_rate; //the maximum data rate in kb/s
|
||||
|
||||
} rrc_ral_system_information_ind_t;
|
||||
|
||||
typedef struct ral_link_scan_resp_s {
|
||||
ral_link_addr_t link_addr;
|
||||
ral_network_id_t network_id;
|
||||
ral_sig_strength_t sig_strength;
|
||||
} ral_link_scan_resp_t;
|
||||
|
||||
typedef struct rrc_ral_scan_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_scan_req_t;
|
||||
|
||||
typedef struct rrc_ral_scan_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
#define RAL_MAX_LINK_SCAN_RESP 16
|
||||
uint8_t num_scan_resp;
|
||||
ral_link_scan_resp_t link_scan_resp[RAL_MAX_LINK_SCAN_RESP];
|
||||
} rrc_ral_scan_conf_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_connection_establishment_req_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
|
||||
} rrc_ral_connection_establishment_conf_t;
|
||||
|
||||
typedef struct rrc_ral_connection_establishment_ind_s {
|
||||
uint16_t ue_id; // may be c-rnti
|
||||
} rrc_ral_connection_establishment_ind_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_reestablishment_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
} rrc_ral_connection_reestablishment_ind_t;
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
ral_link_action_t link_action;
|
||||
// uint8_t num_drb;
|
||||
// rb_id_t drb_id[maxDRB];
|
||||
// uint8_t num_srb;
|
||||
} rrc_ral_connection_reconfiguration_req_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
} rrc_ral_connection_reconfiguration_ind_t;
|
||||
|
||||
typedef struct rrc_ral_connection_reconfiguration_ho_ind_s {
|
||||
uint16_t ue_id;
|
||||
uint8_t num_drb;
|
||||
rb_id_t drb_id[maxDRB];
|
||||
uint8_t num_srb;
|
||||
//unsigned int cell_id:28;
|
||||
} rrc_ral_connection_reconfiguration_ho_ind_t;
|
||||
|
||||
|
||||
|
||||
|
||||
#define RAL_ABOVE_THRESHOLD MIH_C_ABOVE_THRESHOLD
|
||||
#define RAL_BELOW_THRESHOLD MIH_C_BELOW_THRESHOLD
|
||||
#define RAL_NO_THRESHOLD 0xFF
|
||||
typedef struct ral_threshold_s {
|
||||
uint16_t threshold_val;
|
||||
uint8_t threshold_xdir;
|
||||
} ral_threshold_t;
|
||||
|
||||
|
||||
typedef MIH_C_LINK_PARAM_GEN_T ral_link_param_gen_t;
|
||||
#define RAL_LINK_PARAM_GEN_DATA_RATE MIH_C_LINK_PARAM_GEN_DATA_RATE
|
||||
#define RAL_LINK_PARAM_GEN_SIGNAL_STRENGTH MIH_C_LINK_PARAM_GEN_SIGNAL_STRENGTH
|
||||
#define RAL_LINK_PARAM_GEN_SINR MIH_C_LINK_PARAM_GEN_SINR
|
||||
#define RAL_LINK_PARAM_GEN_THROUGHPUT MIH_C_LINK_PARAM_GEN_THROUGHPUT
|
||||
#define RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE MIH_C_LINK_PARAM_GEN_PACKET_ERROR_RATE
|
||||
#define RAL_LINK_PARAM_GEN_MAX RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE
|
||||
|
||||
typedef MIH_C_LINK_PARAM_QOS_T ral_link_param_qos_t;
|
||||
#define RAL_LINK_PARAM_QOS_MAX_NUM_DIF_COS_SUPPORTED MIH_C_LINK_PARAM_QOS_MAX_NUM_DIF_COS_SUPPORTED
|
||||
#define RAL_LINK_PARAM_QOS_MIN_PACKET_TRANSFER_DELAY_ALL_COS MIH_C_LINK_PARAM_QOS_MIN_PACKET_TRANSFER_DELAY_ALL_COS
|
||||
#define RAL_LINK_PARAM_QOS_AVG_PACKET_TRANSFER_DELAY_ALL_COS MIH_C_LINK_PARAM_QOS_AVG_PACKET_TRANSFER_DELAY_ALL_COS
|
||||
#define RAL_LINK_PARAM_QOS_MAX_PACKET_TRANSFER_DELAY_ALL_COS MIH_C_LINK_PARAM_QOS_MAX_PACKET_TRANSFER_DELAY_ALL_COS
|
||||
#define RAL_LINK_PARAM_QOS_STD_DEVIATION_PACKET_TRANSFER_DELAY MIH_C_LINK_PARAM_QOS_STD_DEVIATION_PACKET_TRANSFER_DELAY
|
||||
#define RAL_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO MIH_C_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO
|
||||
#define RAL_LINK_PARAM_QOS_MAX RAL_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO
|
||||
|
||||
typedef MIH_C_LINK_PARAM_LTE_T ral_link_param_lte_t;
|
||||
#define RAL_LINK_PARAM_LTE_UE_RSRP MIH_C_LINK_PARAM_LTE_UE_RSRP
|
||||
#define RAL_LINK_PARAM_LTE_UE_RSRQ MIH_C_LINK_PARAM_LTE_UE_RSRQ
|
||||
#define RAL_LINK_PARAM_LTE_UE_CQI MIH_C_LINK_PARAM_LTE_UE_CQI
|
||||
#define RAL_LINK_PARAM_LTE_AVAILABLE_BW MIH_C_LINK_PARAM_LTE_AVAILABLE_BW
|
||||
#define RAL_LINK_PARAM_LTE_PACKET_DELAY MIH_C_LINK_PARAM_LTE_PACKET_DELAY
|
||||
#define RAL_LINK_PARAM_LTE_PACKET_LOSS_RATE MIH_C_LINK_PARAM_LTE_PACKET_LOSS_RATE
|
||||
#define RAL_LINK_PARAM_LTE_L2_BUFFER_STATUS MIH_C_LINK_PARAM_LTE_L2_BUFFER_STATUS
|
||||
#define RAL_LINK_PARAM_LTE_MOBILE_NODE_CAPABILITIES MIH_C_LINK_PARAM_LTE_MOBILE_NODE_CAPABILITIES
|
||||
#define RAL_LINK_PARAM_LTE_EMBMS_CAPABILITY MIH_C_LINK_PARAM_LTE_EMBMS_CAPABILITY
|
||||
#define RAL_LINK_PARAM_LTE_JUMBO_FEASIBILITY MIH_C_LINK_PARAM_LTE_JUMBO_FEASIBILITY
|
||||
#define RAL_LINK_PARAM_LTE_JUMBO_SETUP_STATUS MIH_C_LINK_PARAM_LTE_JUMBO_SETUP_STATUS
|
||||
#define RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW MIH_C_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW
|
||||
#define RAL_LINK_PARAM_LTE_MAX RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW
|
||||
|
||||
#define RAL_LINK_PARAM_TYPE_CHOICE_GEN MIH_C_LINK_PARAM_TYPE_CHOICE_GEN // 0
|
||||
#define RAL_LINK_PARAM_TYPE_CHOICE_QOS MIH_C_LINK_PARAM_TYPE_CHOICE_QOS
|
||||
#define RAL_LINK_PARAM_TYPE_CHOICE_LTE MIH_C_LINK_PARAM_TYPE_CHOICE_LTE // 12
|
||||
|
||||
typedef struct ral_link_param_type_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_link_param_gen_t link_param_gen;
|
||||
ral_link_param_qos_t link_param_qos;
|
||||
ral_link_param_lte_t link_param_lte;
|
||||
} _union;
|
||||
} ral_link_param_type_t;
|
||||
|
||||
typedef uint16_t ral_link_param_val_t;
|
||||
typedef MIH_C_NUM_COS_TYPES_T ral_num_cos_types_t ;
|
||||
|
||||
typedef struct ral_qos_param_val_s {
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_num_cos_types_t num_qos_types;
|
||||
LIST(MIH_C_MIN_PK_TX_DELAY, min_pk_tx_delay)
|
||||
LIST(MIH_C_AVG_PK_TX_DELAY, avg_pk_tx_delay)
|
||||
LIST(MIH_C_MAX_PK_TX_DELAY, max_pk_tx_delay)
|
||||
LIST(MIH_C_PK_DELAY_JITTER, pk_delay_jitter)
|
||||
LIST(MIH_C_PK_LOSS_RATE, pk_loss_rate)
|
||||
} _union;
|
||||
} ral_qos_param_val_t;
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_NUM_QOS_TYPES MIH_C_QOS_PARAM_VAL_CHOICE_NUM_QOS_TYPES
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_MIN_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_MIN_PK_TX_DELAY
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_AVG_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_AVG_PK_TX_DELAY
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_MAX_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_MAX_PK_TX_DELAY
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_PK_DELAY_JITTER MIH_C_QOS_PARAM_VAL_CHOICE_PK_DELAY_JITTER
|
||||
#define RAL_QOS_PARAM_VAL_CHOICE_PK_LOSS_RATE MIH_C_QOS_PARAM_VAL_CHOICE_PK_LOSS_RATE
|
||||
|
||||
typedef struct ral_link_param_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
ral_choice_t choice;
|
||||
union {
|
||||
ral_link_param_val_t link_param_val;
|
||||
ral_qos_param_val_t qos_param_val;
|
||||
} _union;
|
||||
} ral_link_param_t;
|
||||
#define RAL_LINK_PARAM_CHOICE_LINK_PARAM_VAL MIH_C_LINK_PARAM_CHOICE_LINK_PARAM_VAL
|
||||
#define RAL_LINK_PARAM_CHOICE_QOS_PARAM_VAL MIH_C_LINK_PARAM_CHOICE_QOS_PARAM_VAL
|
||||
|
||||
typedef struct ral_link_cfg_param_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
#define RAL_LINK_CFG_PARAM_CHOICE_TIMER_NULL 0
|
||||
#define RAL_LINK_CFG_PARAM_CHOICE_TIMER 1
|
||||
uint8_t union_choice;
|
||||
union {
|
||||
uint8_t null_attr;
|
||||
uint16_t timer_interval; // This timer value (ms) is used to set the interval between periodic reports.
|
||||
} _union;
|
||||
#define RAL_TH_ACTION_SET_NORMAL_THRESHOLD MIH_C_SET_NORMAL_THRESHOLD
|
||||
#define RAL_TH_ACTION_SET_ONE_SHOT_THRESHOLD MIH_C_SET_ONE_SHOT_THRESHOLD
|
||||
#define RAL_TH_ACTION_CANCEL_THRESHOLD MIH_C_CANCEL_THRESHOLD
|
||||
ral_th_action_t th_action; // indicates what action to apply to the listed thresholds.
|
||||
// When “Cancel threshold” is selected and no thresholds are specified, then
|
||||
// all currently configured thresholds for the given LINK_PARAM_TYPE are can-
|
||||
// celled.
|
||||
// When “Cancel threshold” is selected and thresholds are specified only those
|
||||
// configured thresholds for the given LINK_PARAM_TYPE and whose threshold
|
||||
// value match what was specified are cancelled.
|
||||
// With “Set one-shot threshold” the listed thresholds are first set and then
|
||||
// each of the threshold is cancelled as soon as it is crossed for the first
|
||||
// time.
|
||||
uint8_t num_thresholds;
|
||||
#define RAL_LINK_CFG_PARAM_MAX_THRESHOLDS 16
|
||||
ral_threshold_t thresholds[RAL_LINK_CFG_PARAM_MAX_THRESHOLDS];
|
||||
} ral_link_cfg_param_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_configure_threshold_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
#define RAL_MAX_LINK_CFG_PARAMS 16
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_param_t link_cfg_params[RAL_MAX_LINK_CFG_PARAMS];
|
||||
} rrc_ral_configure_threshold_req_t;
|
||||
|
||||
typedef struct ral_link_cfg_status_s {
|
||||
ral_link_param_type_t link_param_type;
|
||||
ral_threshold_t threshold;
|
||||
ral_config_status_t config_status;
|
||||
} ral_link_cfg_status_t;
|
||||
|
||||
typedef struct rrc_ral_configure_threshold_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
ral_status_t status;
|
||||
uint8_t num_link_cfg_params;
|
||||
ral_link_cfg_status_t cfg_status[RAL_MAX_LINK_CFG_PARAMS];
|
||||
} rrc_ral_configure_threshold_conf_t;
|
||||
|
||||
typedef struct rrc_ral_measurement_report_ind_s {
|
||||
ral_threshold_t threshold;
|
||||
ral_link_param_t link_param;
|
||||
} rrc_ral_measurement_report_ind_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_release_req_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_req_t;
|
||||
|
||||
typedef struct rrc_ral_connection_release_conf_s {
|
||||
ral_transaction_id_t transaction_id;
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_conf_t;
|
||||
|
||||
|
||||
typedef struct rrc_ral_connection_release_ind_s {
|
||||
uint16_t ue_id;
|
||||
} rrc_ral_connection_release_ind_t;
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* RAL_MESSAGES_TYPES_H_ */
|
||||
@@ -1,32 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#ifndef _RTOS_HEADER_H_
|
||||
#define _RTOS_HEADER_H_
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <pthread.h>
|
||||
#include <assert.h>
|
||||
#define rtf_get read
|
||||
#define rtf_put write
|
||||
#endif
|
||||
@@ -26,7 +26,6 @@
|
||||
#include <assert.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#define MAX_NUM_RIC_REQ_ID 64
|
||||
|
||||
static pthread_mutex_t rc_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
#define ENB_CONFIG_STRING_ENB_LIST "eNBs"
|
||||
/* component carriers configuration section name */
|
||||
#define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers"
|
||||
#define ENB_CONFIG_STRING_COMPONENT_BR_PARAMETERS "br_parameters"
|
||||
|
||||
|
||||
#define ENB_CONFIG_STRING_FRAME_TYPE "frame_type"
|
||||
@@ -43,7 +42,6 @@
|
||||
#define ENB_CONFIG_STRING_TDD_CONFIG "tdd_config"
|
||||
#define ENB_CONFIG_STRING_TDD_CONFIG_S "tdd_config_s"
|
||||
#define ENB_CONFIG_STRING_PREFIX_TYPE "prefix_type"
|
||||
#define ENB_CONFIG_STRING_PREFIX_TYPE_UL "prefix_type_UL"
|
||||
#define ENB_CONFIG_STRING_EUTRA_BAND "eutra_band"
|
||||
#define ENB_CONFIG_STRING_DOWNLINK_FREQUENCY "downlink_frequency"
|
||||
#define ENB_CONFIG_STRING_UPLINK_FREQUENCY_OFFSET "uplink_frequency_offset"
|
||||
@@ -51,24 +49,12 @@
|
||||
#define ENB_CONFIG_STRING_N_RB_DL "N_RB_DL"
|
||||
#define ENB_CONFIG_STRING_CELL_MBSFN "Nid_cell_mbsfn"
|
||||
|
||||
|
||||
#define FRAMETYPE_OKVALUES {"FDD","TDD"}
|
||||
#define FRAMETYPE_MODVALUES { FDD, TDD}
|
||||
|
||||
#define TDDCFG(A) TDD_Config__subframeAssignment_ ## A
|
||||
#define TDDCONFIG_OKRANGE { TDDCFG(sa0), TDDCFG(sa6)}
|
||||
|
||||
#define TDDCFGS(A) TDD_Config__specialSubframePatterns_ ## A
|
||||
#define TDDCONFIGS_OKRANGE { TDDCFGS(ssp0), TDDCFGS(ssp8)}
|
||||
|
||||
#define PREFIX_OKVALUES {"NORMAL","EXTENDED"}
|
||||
#define PREFIX_MODVALUES { NORMAL, EXTENDED}
|
||||
|
||||
#define PREFIXUL_OKVALUES {"NORMAL","EXTENDED"}
|
||||
#define PREFIXUL_MODVALUES { NORMAL, EXTENDED}
|
||||
|
||||
#define NRBDL_OKVALUES {6,15,25,50,75,100}
|
||||
|
||||
#define UETIMER_T300_OKVALUES {100,200,300,400,600,1000,1500,2000}
|
||||
#define UETT300(A) LTE_UE_TimersAndConstants__t300_ ## A
|
||||
#define UETIMER_T300_MODVALUES { UETT300(ms100), UETT300(ms200),UETT300(ms300),UETT300(ms400),UETT300(ms600),UETT300(ms1000),UETT300(ms1500),UETT300(ms2000)}
|
||||
|
||||
@@ -63,10 +63,6 @@
|
||||
// Hard to find a defined value for max enb...
|
||||
#define MAX_ENB 16
|
||||
|
||||
#define MAX_DU 4
|
||||
#define CU_BALANCING_ALL 127
|
||||
#define CU_BALANCING_ROUND_ROBIN 126
|
||||
|
||||
typedef struct mme_ip_address_s {
|
||||
unsigned ipv4:1;
|
||||
unsigned ipv6:1;
|
||||
|
||||
@@ -36,16 +36,6 @@
|
||||
#include "RRC_paramsvalues.h"
|
||||
#include "s1ap_eNB_default_values.h"
|
||||
|
||||
#define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
|
||||
#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
|
||||
#define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref"
|
||||
|
||||
// OTG config per ENB-UE DL
|
||||
#define ENB_CONF_STRING_OTG_CONFIG "otg_config"
|
||||
#define ENB_CONF_STRING_OTG_UE_ID "ue_id"
|
||||
#define ENB_CONF_STRING_OTG_APP_TYPE "app_type"
|
||||
#define ENB_CONF_STRING_OTG_BG_TRAFFIC "bg_traffic"
|
||||
|
||||
#ifdef LIBCONFIG_LONG
|
||||
#define libconfig_int long
|
||||
#else
|
||||
@@ -62,11 +52,9 @@ typedef enum {
|
||||
} RC_config_functions_t;
|
||||
|
||||
|
||||
#define CONFIG_STRING_ACTIVE_RUS "Active_RUs"
|
||||
/*------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* RUs configuration section name */
|
||||
#define CONFIG_STRING_RU_LIST "RUs"
|
||||
#define CONFIG_STRING_RU_CONFIG "ru_config"
|
||||
|
||||
/* RUs configuration parameters name */
|
||||
#define CONFIG_STRING_RU_LOCAL_IF_NAME "local_if_name"
|
||||
@@ -86,7 +74,6 @@ typedef enum {
|
||||
#define CONFIG_STRING_RU_ATT_RX "att_rx"
|
||||
#define CONFIG_STRING_RU_MAX_RS_EPRE "max_pdschReferenceSignalPower"
|
||||
#define CONFIG_STRING_RU_MAX_RXGAIN "max_rxgain"
|
||||
#define CONFIG_STRING_RU_IF_COMPRESSION "if_compression"
|
||||
#define CONFIG_STRING_RU_IS_SLAVE "is_slave"
|
||||
#define CONFIG_STRING_RU_NBIOTRRC_LIST "NbIoT_RRC_instances"
|
||||
#define CONFIG_STRING_RU_SDR_ADDRS "sdr_addrs"
|
||||
@@ -226,8 +213,6 @@ typedef enum {
|
||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* value definitions for ASN1 verbosity parameter */
|
||||
#define ENB_CONFIG_STRING_ASN1_VERBOSITY_NONE "none"
|
||||
#define ENB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING "annoying"
|
||||
#define ENB_CONFIG_STRING_ASN1_VERBOSITY_INFO "info"
|
||||
|
||||
|
||||
/* global parameters, not under a specific section */
|
||||
@@ -338,28 +323,6 @@ typedef enum {
|
||||
#define ENB_SCTP_REQ_COUNT_IDX 23
|
||||
|
||||
#define TRACKING_AREA_CODE_OKRANGE {0x0001,0xFFFD}
|
||||
// clang-format off
|
||||
#define ENBPARAMS_CHECK { \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s2 = { config_check_intrange, TRACKING_AREA_CODE_OKRANGE } },\
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
@@ -401,7 +364,6 @@ typedef enum {
|
||||
|
||||
#define ENB_CONFIG_STRING_MBMS_SYNC_AREA "mbms_sync_area"
|
||||
|
||||
#define ENB_MBMS_SYNC_AREA_IDX 0
|
||||
|
||||
// clang-format off
|
||||
#define MBMS_CONFIG_PARAMS_DESC { \
|
||||
@@ -427,10 +389,6 @@ typedef enum {
|
||||
/* component carries configuration parameters name */
|
||||
|
||||
#define ENB_CONFIG_STRING_NB_ANT_PORTS "nb_antenna_ports"
|
||||
#define ENB_CONFIG_STRING_NB_ANT_TX "nb_antennas_tx"
|
||||
#define ENB_CONFIG_STRING_NB_ANT_RX "nb_antennas_rx"
|
||||
#define ENB_CONFIG_STRING_TX_GAIN "tx_gain"
|
||||
#define ENB_CONFIG_STRING_RX_GAIN "rx_gain"
|
||||
#define ENB_CONFIG_STRING_PRACH_ROOT "prach_root"
|
||||
#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX "prach_config_index"
|
||||
#define ENB_CONFIG_STRING_PRACH_HIGH_SPEED "prach_high_speed"
|
||||
@@ -453,7 +411,6 @@ typedef enum {
|
||||
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2 "pucch_NumRepetitionCE_Msg4_Level2_r13"
|
||||
#define ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3 "pucch_NumRepetitionCE_Msg4_Level3_r13"
|
||||
|
||||
#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13 "sib2_freq_hoppingParameters_r13"
|
||||
|
||||
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
|
||||
#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b"
|
||||
@@ -521,12 +478,9 @@ typedef enum {
|
||||
|
||||
|
||||
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
|
||||
|
||||
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_REPETITION_LEVEL_CE_MODE_A_R13 "pusch_repetitionLevelCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310"
|
||||
|
||||
|
||||
//TTN - for D2D
|
||||
@@ -840,83 +794,6 @@ typedef struct ccparams_lte_s {
|
||||
// clang-format on
|
||||
|
||||
|
||||
#define ENB_CONFIG_FRAME_TYPE_IDX 0
|
||||
#define ENB_CONFIG_TDD_CONFIG_IDX 1
|
||||
#define ENB_CONFIG_TDD_CONFIG_S_IDX 2
|
||||
#define ENB_CONFIG_PREFIX_TYPE_IDX 3
|
||||
#define ENB_CONFIG_PBCH_REPETITION_IDX 4
|
||||
#define ENB_CONFIG_EUTRA_BAND_IDX 5
|
||||
#define ENB_CONFIG_DOWNLINK_FREQUENCY_IDX 6
|
||||
#define ENB_CONFIG_UPLINK_FREQUENCY_OFFSET_IDX 7
|
||||
#define ENB_CONFIG_NID_CELL_IDX 8
|
||||
#define ENB_CONFIG_N_RB_DL_IDX 9
|
||||
#define ENB_CONFIG_CELL_MBSFN_IDX 10
|
||||
#define ENB_CONFIG_NB_ANT_PORTS_IDX 11
|
||||
#define ENB_CONFIG_PRACH_ROOT_IDX 12
|
||||
#define ENB_CONFIG_PRACH_CONFIG_INDEX_IDX 13
|
||||
#define ENB_CONFIG_PRACH_HIGH_SPEED_IDX 14
|
||||
#define ENB_CONFIG_PRACH_ZERO_CORRELATION_IDX 15
|
||||
#define ENB_CONFIG_PRACH_FREQ_OFFSET_IDX 16
|
||||
#define ENB_CONFIG_PUCCH_DELTA_SHIFT_IDX 17
|
||||
#define ENB_CONFIG_PUCCH_NRB_CQI_IDX 18
|
||||
#define ENB_CONFIG_PUCCH_NCS_AN_IDX 19
|
||||
#define ENB_CONFIG_PUCCH_N1_AN_IDX 20
|
||||
#define ENB_CONFIG_PDSCH_RS_EPRE_IDX 21
|
||||
#define ENB_CONFIG_PDSCH_PB_IDX 22
|
||||
#define ENB_CONFIG_PUSCH_N_SB_IDX 23
|
||||
#define ENB_CONFIG_PUSCH_HOPPINGMODE_IDX 24
|
||||
#define ENB_CONFIG_PUSCH_HOPPINGOFFSET_IDX 25
|
||||
#define ENB_CONFIG_PUSCH_ENABLE64QAM_IDX 26
|
||||
#define ENB_CONFIG_PUSCH_GROUP_HOPPING_EN_IDX 27
|
||||
#define ENB_CONFIG_PUSCH_GROUP_ASSIGNMENT_IDX 28
|
||||
#define ENB_CONFIG_PUSCH_SEQUENCE_HOPPING_EN_IDX 29
|
||||
#define ENB_CONFIG_PUSCH_NDMRS1_IDX 30
|
||||
#define ENB_CONFIG_PHICH_DURATION_IDX 31
|
||||
#define ENB_CONFIG_PHICH_RESOURCE_IDX 32
|
||||
#define ENB_CONFIG_SRS_ENABLE_IDX 33
|
||||
#define ENB_CONFIG_SRS_BANDWIDTH_CONFIG_IDX 34
|
||||
#define ENB_CONFIG_SRS_SUBFRAME_CONFIG_IDX 35
|
||||
#define ENB_CONFIG_SRS_ACKNACKST_CONFIG_IDX 36
|
||||
#define ENB_CONFIG_SRS_MAXUPPTS_IDX 37
|
||||
#define ENB_CONFIG_PUSCH_PO_NOMINAL_IDX 38
|
||||
#define ENB_CONFIG_PUSCH_ALPHA_IDX 39
|
||||
#define ENB_CONFIG_PUCCH_PO_NOMINAL_IDX 40
|
||||
#define ENB_CONFIG_MSG3_DELTA_PREAMBLE_IDX 41
|
||||
#define ENB_CONFIG_PUCCH_DELTAF_FORMAT1_IDX 42
|
||||
#define ENB_CONFIG_PUCCH_DELTAF_FORMAT1b_IDX 43
|
||||
#define ENB_CONFIG_PUCCH_DELTAF_FORMAT2_IDX 44
|
||||
#define ENB_CONFIG_PUCCH_DELTAF_FORMAT2A_IDX 45
|
||||
#define ENB_CONFIG_PUCCH_DELTAF_FORMAT2B_IDX 46
|
||||
#define ENB_CONFIG_RACH_NUM_RA_PREAMBLES_IDX 47
|
||||
#define ENB_CONFIG_RACH_PREAMBLESGROUPACONFIG_IDX 48
|
||||
#define ENB_CONFIG_RACH_SIZEOFRA_PREAMBLESGROUPA_IDX 49
|
||||
#define ENB_CONFIG_RACH_MESSAGESIZEGROUPA_IDX 50
|
||||
#define ENB_CONFIG_RACH_MESSAGEPOWEROFFSETGROUPB_IDX 51
|
||||
#define ENB_CONFIG_RACH_POWERRAMPINGSTEP_IDX 52
|
||||
#define ENB_CONFIG_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER_IDX 53
|
||||
#define ENB_CONFIG_RACH_PREAMBLETRANSMAX_IDX 54
|
||||
#define ENB_CONFIG_RACH_RARESPONSEWINDOWSIZE_IDX 55
|
||||
#define ENB_CONFIG_RACH_MACCONTENTIONRESOLUTIONTIMER_IDX 56
|
||||
#define ENB_CONFIG_RACH_MAXHARQMSG3TX_IDX 57
|
||||
#define ENB_CONFIG_PCCH_DEFAULT_PAGING_CYCLE_IDX 58
|
||||
#define ENB_CONFIG_PCCH_NB_IDX 59
|
||||
#define ENB_CONFIG_STRING_DRX_CONFIG_PRESENT_IDX 60
|
||||
#define ENB_CONFIG_STRING_DRX_ONDURATIONTIMER_IDX 61
|
||||
#define ENB_CONFIG_STRING_DRX_INACTIVITYTIMER_IDX 62
|
||||
#define ENB_CONFIG_STRING_DRX_RETRANSMISSIONTIMER_IDX 63
|
||||
#define ENB_CONFIG_STRING_DRX_LONGDRX_CYCLESTARTOFFSET_PRESENT_IDX 64
|
||||
#define ENB_CONFIG_STRING_DRX_LONGDRX_CYCLESTARTOFFSET_IDX 65
|
||||
#define ENB_CONFIG_STRING_DRX_SHORTDRX_CYCLE_IDX 66
|
||||
#define ENB_CONFIG_STRING_DRX_SHORTDRX_SHORTCYCLETIMER_IDX 67
|
||||
#define ENB_CONFIG_BCCH_MODIFICATIONPERIODCOEFF_IDX 68
|
||||
#define ENB_CONFIG_UETIMERS_T300_IDX 69
|
||||
#define ENB_CONFIG_UETIMERS_T301_IDX 70
|
||||
#define ENB_CONFIG_UETIMERS_T310_IDX 71
|
||||
#define ENB_CONFIG_UETIMERS_T311_IDX 72
|
||||
#define ENB_CONFIG_UETIMERS_N310_IDX 73
|
||||
#define ENB_CONFIG_UETIMERS_N311_IDX 74
|
||||
#define ENB_CONFIG_UE_TRANSMISSION_MODE_IDX 75
|
||||
#define ENB_CONFIG_MBMS_DEDICATED_SERVING_CELL_IDX 76
|
||||
|
||||
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* SRB1 configuration parameters section name */
|
||||
@@ -1119,12 +996,10 @@ typedef struct srb1_params_s {
|
||||
|
||||
/* L1 configuration section names */
|
||||
#define CONFIG_STRING_L1_LIST "L1s"
|
||||
#define CONFIG_STRING_L1_CONFIG "l1_config"
|
||||
|
||||
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* MACRLC configuration section names */
|
||||
#define CONFIG_STRING_MACRLC_LIST "MACRLCs"
|
||||
#define CONFIG_STRING_MACRLC_CONFIG "macrlc_config"
|
||||
|
||||
|
||||
/* MACRLC configuration parameters names */
|
||||
|
||||
@@ -62,14 +62,9 @@
|
||||
#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "interval_DLHoppingConfigCommonModeB_r13_val"
|
||||
#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13"
|
||||
#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13 "preamble_TransMax_ce_r13"
|
||||
#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13_VAL "preamble_TransMax_ce_r13_val"
|
||||
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_REPETITION_LEVEL_CE_MODE_A_R13 "pusch_repetitionLevelCEmodeA_r13"
|
||||
#define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310"
|
||||
#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI"
|
||||
#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13"
|
||||
#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13"
|
||||
#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13"
|
||||
|
||||
@@ -54,16 +54,6 @@
|
||||
|
||||
#define MCE_MCE_ID_IDX 0
|
||||
#define MCE_MCE_NAME_IDX 1
|
||||
#define MCE_ENABLE_MCE_M2_IDX 2
|
||||
#define MCE_ENABLE_MCE_M3_IDX 3
|
||||
|
||||
#define MCE_PARAMS_CHECK { \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
}
|
||||
|
||||
|
||||
#define MCE_CONFIG_STRING_NETWORK_INTERFACES_CONFIG "NETWORK_INTERFACES"
|
||||
|
||||
|
||||
@@ -36,37 +36,8 @@
|
||||
#include "common/config/config_paramdesc.h"
|
||||
#include "RRC_paramsvalues.h"
|
||||
|
||||
|
||||
|
||||
/* mme configuration parameters names */
|
||||
|
||||
#define MME_CONFIG_STRING_MME_ID "MME_ID"
|
||||
#define MME_CONFIG_STRING_MME_NAME "MME_name"
|
||||
#define MME_CONFIG_STRING_MME_M3 "enable_mme_m3"
|
||||
|
||||
#define MMEPARAMS_DESC {\
|
||||
{MME_CONFIG_STRING_MME_ID, NULL, 0, .uptr=NULL, .defintval=0, TYPE_UINT, 0}, \
|
||||
{MME_CONFIG_STRING_MME_NAME, NULL, 0, .strptr=NULL, .defstrval="OAIMME", TYPE_STRING, 0}, \
|
||||
{MME_CONFIG_STRING_MME_M3, NULL, 0, .strptr=NULL, .defstrval="no", TYPE_STRING, 0}, \
|
||||
}
|
||||
|
||||
#define MME_MME_ID_IDX 0
|
||||
#define MME_MME_NAME_IDX 1
|
||||
#define MME_ENABLE_MME_M3_IDX 2
|
||||
|
||||
#define MMEPARAMS_CHECK { \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
{ .s5 = { NULL } }, \
|
||||
}
|
||||
|
||||
|
||||
#define MME_CONFIG_STRING_NETWORK_INTERFACES_CONFIG "NETWORK_INTERFACES"
|
||||
|
||||
#define MME_INTERFACE_NAME_FOR_M3_MME_IDX 0
|
||||
#define MME_IPV4_ADDRESS_FOR_M3C_IDX 1
|
||||
#define MME_PORT_FOR_M3C_IDX 2
|
||||
|
||||
/* interface configuration parameters names */
|
||||
/* M3 interface configuration parameters names */
|
||||
#define MME_CONFIG_STRING_MME_INTERFACE_NAME_FOR_M3_MCE "MME_INTERFACE_NAME_FOR_M3_MCE"
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include "oai_asn1.h"
|
||||
#include <openair2/RRC/NR/MESSAGES/asn1_msg.h>
|
||||
|
||||
#define F1AP_UE_IDENTIFIER_NUMBER 3
|
||||
#define F1AP_TRANSACTION_IDENTIFIER_NUMBER 3
|
||||
|
||||
#include "F1AP_RAT-FrequencyPriorityInformation.h"
|
||||
@@ -357,7 +356,6 @@
|
||||
# error "You are compiling f1ap with the wrong version of ASN1C"
|
||||
#endif
|
||||
|
||||
#define F1AP_UE_ID_FMT "0x%06"PRIX32
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
|
||||
#define GNB_CONFIG_STRING_INITIALDLBWPLOCATIONANDBANDWIDTH "initialDLBWPlocationAndBandwidth"
|
||||
#define GNB_CONFIG_STRING_INITIALDLBWPSUBCARRIERSPACING "initialDLBWPsubcarrierSpacing"
|
||||
#define GNB_CONFIG_STRING_INITIALDLBWPCYCLICPREFIX "initialDLBWPcyclicPrefix"
|
||||
|
||||
#define GNB_CONFIG_STRING_INITIALDLBWPCONTROLRESOURCESETZERO "initialDLBWPcontrolResourceSetZero"
|
||||
#define GNB_CONFIG_STRING_INITIALDLBWPSEARCHSPACEZERO "initialDLBWPsearchSpaceZero"
|
||||
@@ -116,7 +115,6 @@
|
||||
#define GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS "nrofDownlinkSymbols"
|
||||
#define GNB_CONFIG_STRING_NROFUPLINKSLOTS "nrofUplinkSlots"
|
||||
#define GNB_CONFIG_STRING_NROFUPLINKSYMBOLS "nrofUplinkSymbols"
|
||||
#define GNB_CONFIG_STRING_PATTERN2 "pattern2"
|
||||
#define GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY2 "dl_UL_TransmissionPeriodicity2"
|
||||
#define GNB_CONFIG_STRING_NROFDOWNLINKSLOTS2 "nrofDownlinkSlots2"
|
||||
#define GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS2 "nrofDownlinkSymbols2"
|
||||
@@ -135,7 +133,6 @@
|
||||
#define GNB_CONFIG_STRING_TA_COMMON "ta-Common-r17"
|
||||
#define GNB_CONFIG_STRING_TA_COMMONDRIFT "ta-CommonDrift-r17"
|
||||
|
||||
#define CARRIERBANDWIDTH_OKVALUES {11,18,24,25,31,32,38,51,52,65,66,78,79,93,106,107,121,132,133,135,160,162,189,216,217,245,264,270,273}
|
||||
/*--------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
@@ -143,11 +140,6 @@
|
||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
#define GNB_CONFIG_PHYSCELLID_IDX 0
|
||||
#define GNB_CONFIG_ABSOLUTEFREQUENCYSSB_IDX 5
|
||||
#define GNB_CONFIG_DLFREQUENCYBAND_IDX 6
|
||||
#define GNB_CONFIG_ABSOLUTEFREQUENCYPOINTA_IDX 7
|
||||
#define GNB_CONFIG_DLCARRIERBANDWIDTH_IDX 10
|
||||
|
||||
|
||||
#define SCCPARAMS_DESC(scc) { \
|
||||
|
||||
@@ -55,9 +55,6 @@
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
#define GNB_REGISTER_RETRY_DELAY 10
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
@@ -37,23 +37,11 @@
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
|
||||
#define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\
|
||||
struct in_addr inp;\
|
||||
if ( inet_aton(AdDr_StR, &inp ) < 0 ) {\
|
||||
AssertFatal (0, MeSsAgE);\
|
||||
} else {\
|
||||
NwBo = inp.s_addr;\
|
||||
}\
|
||||
} while (0);
|
||||
|
||||
// Hard to find a defined value for max enb...
|
||||
#define MAX_GNB 16
|
||||
|
||||
void RCconfig_verify(configmodule_interface_t *cfg, ngran_node_t node_type);
|
||||
extern void RCconfig_nr_prs(void);
|
||||
extern void RCconfig_NR_L1(void);
|
||||
extern void RCconfig_nr_macrlc(configmodule_interface_t *cfg);
|
||||
extern void NRRCConfig(void);
|
||||
void RCconfig_nr_prs(void);
|
||||
void RCconfig_NR_L1(void);
|
||||
void RCconfig_nr_macrlc(configmodule_interface_t *cfg);
|
||||
void NRRCConfig(void);
|
||||
|
||||
gNB_RRC_INST *RCconfig_NRRRC();
|
||||
int RCconfig_NR_NG(MessageDef *msg_p, uint32_t i);
|
||||
|
||||
@@ -37,18 +37,6 @@
|
||||
#include "common/ngran_types.h"
|
||||
#include "RRC_nr_paramsvalues.h"
|
||||
|
||||
|
||||
#define GNB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
|
||||
#define GNB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
|
||||
#define GNB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref"
|
||||
|
||||
|
||||
// OTG config per GNB-UE DL
|
||||
#define GNB_CONF_STRING_OTG_CONFIG "otg_config"
|
||||
#define GNB_CONF_STRING_OTG_UE_ID "ue_id"
|
||||
#define GNB_CONF_STRING_OTG_APP_TYPE "app_type"
|
||||
#define GNB_CONF_STRING_OTG_BG_TRAFFIC "bg_traffic"
|
||||
|
||||
#ifdef LIBCONFIG_LONG
|
||||
#define libconfig_int long
|
||||
#else
|
||||
@@ -64,7 +52,6 @@ typedef enum {
|
||||
NRlastel = 5
|
||||
} NRRC_config_functions_t;
|
||||
|
||||
#define CONFIG_STRING_ACTIVE_RUS "Active_RUs"
|
||||
/*------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* RUs configuration for gNB is the same for eNB */
|
||||
@@ -74,8 +61,6 @@ typedef enum {
|
||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* value definitions for ASN1 verbosity parameter */
|
||||
#define GNB_CONFIG_STRING_ASN1_VERBOSITY_NONE "none"
|
||||
#define GNB_CONFIG_STRING_ASN1_VERBOSITY_ANNOYING "annoying"
|
||||
#define GNB_CONFIG_STRING_ASN1_VERBOSITY_INFO "info"
|
||||
|
||||
/* global parameters, not under a specific section */
|
||||
#define GNB_CONFIG_STRING_ASN1_VERBOSITY "Asn1_verbosity"
|
||||
@@ -338,8 +323,6 @@ typedef enum {
|
||||
// clang-format on
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_LIST "neighbour_cell_configuration"
|
||||
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_GNB_ID "gNB_ID"
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_NR_CELLID "nr_cellid"
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_PHYSICAL_ID "physical_cellId"
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_ABS_FREQ_SSB "absoluteFrequencySSB"
|
||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_SCS "subcarrierSpacing"
|
||||
@@ -642,7 +625,6 @@ typedef enum {
|
||||
#define GNB_PORT_FOR_X2C_IDX 4
|
||||
|
||||
/* S1 interface configuration parameters names */
|
||||
#define GNB_CONFIG_STRING_GNB_IPV4_ADDRESS_FOR_S1_MME "GNB_IPV4_ADDRESS_FOR_S1_MME"
|
||||
#define GNB_CONFIG_STRING_GNB_IPV4_ADDRESS_FOR_S1U "GNB_IPV4_ADDRESS_FOR_S1U"
|
||||
#define GNB_CONFIG_STRING_GNB_PORT_FOR_S1U "GNB_PORT_FOR_S1U"
|
||||
|
||||
@@ -690,14 +672,12 @@ typedef enum {
|
||||
// clang-format on
|
||||
/* L1 configuration section names */
|
||||
#define CONFIG_STRING_L1_LIST "L1s"
|
||||
#define CONFIG_STRING_L1_CONFIG "l1_config"
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||
/* MACRLC configuration section names */
|
||||
#define CONFIG_STRING_MACRLC_LIST "MACRLCs"
|
||||
#define CONFIG_STRING_MACRLC_CONFIG "macrlc_config"
|
||||
|
||||
|
||||
/* MACRLC configuration parameters names */
|
||||
|
||||
@@ -22,15 +22,12 @@
|
||||
// MAC definition
|
||||
#define MAX_FRAME 0xfffff
|
||||
#define NUM_FRAME 0x100000
|
||||
#define MAX_SUBFRAME 10485760
|
||||
|
||||
#define MAX(a, b) (((a)>(b))?(a):(b))
|
||||
|
||||
// RA-RNTI: 1+SFN_id>>2
|
||||
#define RA_RNTI_LOW 0x0001 // SFN_id = 0
|
||||
#define RA_RNTI_HIGH 0x0100 // SFN_id = 1023
|
||||
#define C_RNTI_LOW 0x0101
|
||||
#define C_RNTI_HIGH
|
||||
|
||||
// ULSCH LCHAN IDs
|
||||
/*!\brief LCID of extended power headroom for ULSCH */
|
||||
@@ -46,7 +43,6 @@
|
||||
/*!\brief LCID of long BSR for ULSCH */
|
||||
#define LONG_BSR 30
|
||||
/*! \brief Values of CCCH LCID for DLSCH */
|
||||
#define CCCH_LCHANID 0
|
||||
/*!\brief Values of BCCH logical channel */
|
||||
#define BCCH 3 // SI
|
||||
/*!\brief Values of PCCH logical channel */
|
||||
@@ -107,7 +103,6 @@ typedef enum{
|
||||
#define BCCH1_NB_IoT 12 // SI-SIB-NB_IoTs
|
||||
/*!\brief Values of PCCH logical channel */
|
||||
#define PCCH_NB_IoT 13 // Paging XXX not used for the moment
|
||||
#define MCCH_NB_IoT 14
|
||||
/*!\brief Value of CCCH / SRB0 logical channel */
|
||||
#define CCCH_NB_IoT 0 // srb0 ---> XXX exactly the same as in LTE (commented for compilation purposes)
|
||||
/*!\brief DCCH0 / SRB1bis logical channel */
|
||||
@@ -119,7 +114,6 @@ typedef enum{
|
||||
/*!\brief DTCH1 DRB1 logical channel */
|
||||
#define DTCH1_NB_IoT 5 // DRB1
|
||||
/*Index of UE contention resoulution logical channel*/
|
||||
#define UE_CONTENTION_RESOLUTION 28
|
||||
/*Index of TIMING_ADVANCE logical channel*/
|
||||
#define TIMING_ADVANCE 29
|
||||
/*Index of DRX_COMMAND logical channel*/
|
||||
|
||||
@@ -110,9 +110,6 @@
|
||||
/*!\brief MAX MCCH payload size */
|
||||
#define MCCH_PAYLOAD_SIZE_MAX 128
|
||||
//#define MCH_PAYLOAD_SIZE_MAX 16384// this value is using in case mcs and TBS index are hi
|
||||
|
||||
#define printk printf
|
||||
|
||||
/*!\brief Maximum number of logical channl group IDs */
|
||||
#define MAX_NUM_LCGID 4
|
||||
/*!\brief logical channl group ID 0 */
|
||||
@@ -213,7 +210,6 @@ typedef struct {
|
||||
uint64_t t_crnti:16;
|
||||
} __attribute__((__packed__))RAR_PDU;
|
||||
|
||||
#define sizeof_RAR_PDU 6
|
||||
*/
|
||||
/*!\brief MAC subheader short with 7bit Length field */
|
||||
typedef struct {
|
||||
@@ -402,8 +398,6 @@ typedef struct {
|
||||
uint8_t lcid:5; // octet 2 MSB
|
||||
uint8_t stop_sf_LSB:8;
|
||||
} __attribute__ ((__packed__)) MSI_ELEMENT;
|
||||
/*! \brief Values of CCCH LCID for DLSCH */
|
||||
#define CCCH_LCHANID 0
|
||||
/*!\brief Values of BCCH logical channel (fake)*/
|
||||
#define BCCH 3 // SI
|
||||
/*!\brief Values of PCCH logical channel (fake)*/
|
||||
@@ -448,8 +442,6 @@ typedef struct {
|
||||
#define MCCH_LCHANID 0
|
||||
/*!\brief LCID of MCH scheduling info for DL */
|
||||
#define MCH_SCHDL_INFO 30
|
||||
/*!\brief LCID of Carrier component activation/deactivation */
|
||||
#define CC_ACT_DEACT 27
|
||||
//TTN (for D2D)
|
||||
#define SL_DISCOVERY 8 //LCID (fake)
|
||||
#define MAX_NUM_DEST 10
|
||||
|
||||
@@ -45,18 +45,6 @@
|
||||
#define NR_SHORT_BSR_TABLE_SIZE 32
|
||||
#define NR_LONG_BSR_TABLE_SIZE 256
|
||||
|
||||
#define TABLE_38213_13_1_NUM_INDEXES 15
|
||||
#define TABLE_38213_13_2_NUM_INDEXES 14
|
||||
#define TABLE_38213_13_3_NUM_INDEXES 9
|
||||
#define TABLE_38213_13_4_NUM_INDEXES 16
|
||||
#define TABLE_38213_13_5_NUM_INDEXES 9
|
||||
#define TABLE_38213_13_6_NUM_INDEXES 10
|
||||
#define TABLE_38213_13_7_NUM_INDEXES 12
|
||||
#define TABLE_38213_13_8_NUM_INDEXES 8
|
||||
#define TABLE_38213_13_9_NUM_INDEXES 4
|
||||
#define TABLE_38213_13_10_NUM_INDEXES 8
|
||||
#define TABLE_38213_13_11_NUM_INDEXES 16
|
||||
#define TABLE_38213_13_12_NUM_INDEXES 14
|
||||
|
||||
// Definitions for MAC control and data
|
||||
#define NR_BCCH_DL_SCH 3 // SI
|
||||
@@ -432,7 +420,6 @@ typedef struct {
|
||||
#define UL_SCH_LCID_PADDING 0x3F
|
||||
|
||||
#define NR_MAX_NUM_LCGID 8
|
||||
#define MAX_RLC_SDU_SUBHEADER_SIZE 3
|
||||
|
||||
//=========
|
||||
// DCI defs
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
|
||||
#define SL_NR_MAC_NUM_RX_RESOURCE_POOLS 1
|
||||
#define SL_NR_MAC_NUM_TX_RESOURCE_POOLS 1
|
||||
#define SL_NUM_BYTES_TIMERESOURCEBITMAP 20
|
||||
|
||||
// every 16 frames, SSB is repeated.
|
||||
#define SL_NR_SSB_REPETITION_IN_FRAMES 16
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
/////* DLSCH MAC PDU generation (6.1.2 TS 38.321) */////
|
||||
////////////////////////////////////////////////////////
|
||||
#define OCTET 8
|
||||
#define HALFWORD 16
|
||||
#define WORD 32
|
||||
//#define SIZE_OF_POINTER sizeof (void *)
|
||||
|
||||
|
||||
@@ -54,7 +54,6 @@
|
||||
#include "SIMULATION/TOOLS/sim.h" // for taus
|
||||
|
||||
#define ENABLE_MAC_PAYLOAD_DEBUG
|
||||
#define DEBUG_gNB_SCHEDULER 1
|
||||
|
||||
#include "common/ran_context.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
@@ -62,7 +61,6 @@
|
||||
#include "common/utils/alg/find.h"
|
||||
|
||||
// 3GPP TS 38.331 Section 12 Table 12.1-1: UE performance requirements for RRC procedures for UEs
|
||||
#define NR_RRC_SETUP_DELAY_MS 10
|
||||
#define NR_RRC_RECONFIGURATION_DELAY_MS 10
|
||||
#define NR_RRC_BWP_SWITCHING_DELAY_MS 6
|
||||
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
/* Defs */
|
||||
#define MAX_NUM_BWP 5
|
||||
#define MAX_NUM_CORESET 12
|
||||
#define MAX_NUM_CCE 90
|
||||
/*!\brief Maximum number of random access process */
|
||||
#define NR_NB_RA_PROC_MAX 4
|
||||
#define MAX_NUM_OF_SSB 64
|
||||
@@ -566,15 +565,6 @@ struct CSI_Report {
|
||||
RSRP_report_t csirs_rsrp_report;
|
||||
};
|
||||
|
||||
#define MAX_SR_BITLEN 8
|
||||
|
||||
/*! As per the spec 38.212 and table: 6.3.1.1.2-12 in a single UCI sequence we can have multiple CSI_report
|
||||
the number of CSI_report will depend on number of CSI resource sets that are configured in CSI-ResourceConfig RRC IE
|
||||
From spec 38.331 from the IE CSI-ResourceConfig for SSB RSRP reporting we can configure only one resource set
|
||||
From spec 38.214 section 5.2.1.2 For periodic and semi-persistent CSI Resource Settings, the number of CSI-RS Resource Sets configured is limited to S=1
|
||||
*/
|
||||
#define MAX_CSI_RESOURCE_SET_IN_CSI_RESOURCE_CONFIG 16
|
||||
|
||||
typedef enum {
|
||||
INACTIVE = 0,
|
||||
ACTIVE_NOT_SCHED,
|
||||
@@ -609,7 +599,6 @@ typedef struct nr_lc_config {
|
||||
} nr_lc_config_t;
|
||||
|
||||
/*! \brief scheduling control information set through an API */
|
||||
#define MAX_CSI_REPORTS 48
|
||||
typedef struct {
|
||||
/// CCE index and aggregation, should be coherent with cce_list
|
||||
NR_SearchSpace_t *search_space;
|
||||
|
||||
@@ -355,8 +355,6 @@ uint64_t pdcp_module_init (uint64_t pdcp_optmask, int ue_id);
|
||||
void pdcp_module_cleanup (void);
|
||||
void pdcp_layer_init (void);
|
||||
void pdcp_layer_cleanup (void);
|
||||
#define PDCP2NW_DRIVER_FIFO 21
|
||||
#define NW_DRIVER2PDCP_FIFO 22
|
||||
|
||||
int pdcp_fifo_flush_sdus ( const protocol_ctxt_t *const ctxt_pP);
|
||||
int pdcp_fifo_read_input_sdus_remaining_bytes ( const protocol_ctxt_t *const ctxt_pP);
|
||||
@@ -440,7 +438,6 @@ typedef struct {
|
||||
/*
|
||||
* Reordering_Window: half of the PDCP SN space
|
||||
*/
|
||||
#define REORDERING_WINDOW_SN_5BIT 16
|
||||
#define REORDERING_WINDOW_SN_7BIT 64
|
||||
#define REORDERING_WINDOW_SN_12BIT 2048
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
* @ingroup pdcp
|
||||
*/
|
||||
|
||||
#define PDCP_FIFO_C
|
||||
|
||||
extern int otg_enabled;
|
||||
|
||||
@@ -42,8 +41,6 @@ extern int otg_enabled;
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <netinet/ip.h>
|
||||
#define rtf_put write
|
||||
#define rtf_get read
|
||||
|
||||
#include "../MAC/mac_extern.h"
|
||||
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
|
||||
|
||||
@@ -40,12 +40,6 @@
|
||||
#define PDCP_CONTROL_PDU_BIT_SET 0x00
|
||||
#define PDCP_DATA_PDU_BIT_SET 0x01
|
||||
|
||||
/*
|
||||
* PDU-type (3-bit, see 6.3.8)
|
||||
*/
|
||||
#define PDCP_STATUS_REPORT 0x00
|
||||
#define INTERSPERSED_ROHC_FEEDBACK_PACKET 0x01
|
||||
|
||||
/*
|
||||
* 6.1 Protocol Data Units
|
||||
* 6.2.2 Control Plane PDCP Data PDU
|
||||
@@ -83,7 +77,6 @@ typedef struct {
|
||||
uint8_t dc;
|
||||
uint8_t pdu_type; // PDU type (see 6.3.8)
|
||||
} pdcp_control_pdu_for_interspersed_rohc_feedback_packet_header;
|
||||
#define PDCP_CONTROL_PDU_INTERSPERSED_ROHC_FEEDBACK_HEADER_SIZE 1
|
||||
|
||||
/*
|
||||
* 6.2.6 PDCP Control PDU for PDCP status report
|
||||
@@ -95,11 +88,6 @@ typedef struct {
|
||||
unsigned char* window_bitmap; // Ack/Nack information coded as a bitmap
|
||||
uint16_t window_bitmap_size;
|
||||
} pdcp_control_pdu_for_pdcp_status_report;
|
||||
/*
|
||||
* Following symbolic constant is the size of FIXED part of this PDU
|
||||
* so bitmap size should be added to find total header size
|
||||
*/
|
||||
#define PDCP_CONTROL_PDU_STATUS_REPORT_HEADER_SIZE 2
|
||||
|
||||
/*
|
||||
* Parses sequence number out of buffer of User Plane PDCP Data PDU with
|
||||
|
||||
@@ -46,13 +46,6 @@
|
||||
#define MAX_NUM_HI_DCI0_PDU 100
|
||||
#define MAX_NUM_TX_REQUEST_PDU 100
|
||||
|
||||
#define MAX_NUM_HARQ_IND 100
|
||||
#define MAX_NUM_CRC_IND 100
|
||||
#define MAX_NUM_SR_IND 100
|
||||
#define MAX_NUM_CQI_IND 100
|
||||
#define MAX_NUM_RACH_IND 100
|
||||
#define MAX_NUM_SRS_IND 100
|
||||
|
||||
#define MAX_NUM_NR_RX_RACH_PDUS 4
|
||||
#define MAX_UL_PDUS_PER_SLOT 8
|
||||
#define MAX_NUM_NR_SRS_PDUS 8
|
||||
|
||||
@@ -44,13 +44,6 @@
|
||||
#define MAX_NUM_HI_DCI0_PDU 100
|
||||
#define MAX_NUM_TX_REQUEST_PDU 100
|
||||
|
||||
#define MAX_NUM_HARQ_IND 100
|
||||
#define MAX_NUM_CRC_IND 100
|
||||
#define MAX_NUM_SR_IND 100
|
||||
#define MAX_NUM_CQI_IND 100
|
||||
#define MAX_NUM_RACH_IND 100
|
||||
#define MAX_NUM_SRS_IND 100
|
||||
|
||||
typedef struct {
|
||||
/// Module ID
|
||||
module_id_t module_id;
|
||||
|
||||
@@ -9,16 +9,8 @@
|
||||
#define __IF_MODULE_NB_IoT__H__
|
||||
|
||||
#include "nfapi_interface.h"
|
||||
//#include "openair1/PHY/LTE_TRANSPORT/defs_NB_IoT.h"
|
||||
#include "LTE_PhysicalConfigDedicated-NB-r13.h"
|
||||
//#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
|
||||
#include "common/platform_types.h"
|
||||
//#include "openair1/SCHED/IF_Module_L1_primitives_NB_IoT.h"
|
||||
|
||||
//#define SCH_PAYLOAD_SIZE_MAX 4096
|
||||
#define BCCH_PAYLOAD_SIZE_MAX_NB_IoT 128
|
||||
|
||||
|
||||
|
||||
// P5 FAPI-like configuration structures-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
|
||||
#include "LAYER2/MAC/mac.h"
|
||||
|
||||
|
||||
#define MAX_NUMBER_OF_MAC_INSTANCES 16
|
||||
|
||||
#define NULL_PDU 255
|
||||
#define DCI 0
|
||||
#define DLSCH 1
|
||||
#define ULSCH 2
|
||||
|
||||
@@ -66,13 +66,6 @@
|
||||
# include "intertask_interface.h"
|
||||
# include "commonDef.h"
|
||||
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "collection/hashtable/obj_hashtable.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*I will change the name of the structure for compile purposes--> hope not to undo this process*/
|
||||
|
||||
typedef unsigned int uid_NB_IoT_t;
|
||||
@@ -442,7 +435,6 @@ typedef struct eNB_RRC_INST_NB_IoT_s {
|
||||
|
||||
} eNB_RRC_INST_NB_IoT;
|
||||
|
||||
#define RRC_HEADER_SIZE_MAX_NB_IoT 64
|
||||
#define MAX_UE_CAPABILITY_SIZE_NB_IoT 255
|
||||
|
||||
//not needed for the moment
|
||||
@@ -453,10 +445,6 @@ typedef struct OAI_UECapability_NB_IoT_s {
|
||||
LTE_UE_Capability_NB_r13_t UE_Capability_NB_IoT; //replace the UE_EUTRA_Capability of LTE
|
||||
} OAI_UECapability_NB_IoT_t;
|
||||
|
||||
#define RRC_BUFFER_SIZE_MAX_NB_IoT 1024
|
||||
|
||||
|
||||
|
||||
typedef struct UE_RRC_INST_NB_IoT_s {
|
||||
Rrc_State_NB_IoT_t RrcState;
|
||||
Rrc_Sub_State_NB_IoT_t RrcSubState;
|
||||
|
||||
@@ -65,9 +65,6 @@
|
||||
#include "LTE_UE-CapabilityRequest.h"
|
||||
|
||||
#include "common/utils/tuntap_if.h"
|
||||
#if ENABLE_RAL
|
||||
#include "rrc_UE_ral.h"
|
||||
#endif
|
||||
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
|
||||
@@ -1234,11 +1231,6 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
(LTE_PMCH_InfoList_r9_t *)NULL,
|
||||
0, 0
|
||||
);
|
||||
#if ENABLE_RAL
|
||||
// first msg that includes srb config
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb=radioResourceConfigDedicated->srb_ToAddModList->list.count;
|
||||
#endif
|
||||
|
||||
for (cnt=0; cnt<radioResourceConfigDedicated->srb_ToAddModList->list.count; cnt++) {
|
||||
// connection_reestablishment_ind.num_srb+=1;
|
||||
SRB_id = radioResourceConfigDedicated->srb_ToAddModList->list.array[cnt]->srb_Identity;
|
||||
@@ -1829,49 +1821,6 @@ static void rrc_ue_process_rrcConnectionReconfiguration(const protocol_ctxt_t *c
|
||||
free (r_r8->dedicatedInfoNASList);
|
||||
}
|
||||
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reestablishment_ind_t connection_reestablishment_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_REESTABLISHMENT_IND);
|
||||
memset(&connection_reestablishment_ind, 0, sizeof(rrc_ral_connection_reestablishment_ind_t));
|
||||
// TO DO ral_si_ind.plmn_id = 0;
|
||||
connection_reestablishment_ind.ue_id = ctxt_pP->rntiMaybeUEid;
|
||||
|
||||
if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList != NULL) {
|
||||
connection_reestablishment_ind.num_drb =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reestablishment_ind.drb_id[i] =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reestablishment_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList != NULL) {
|
||||
connection_reestablishment_ind.num_srb =
|
||||
rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count +
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reestablishment_ind.num_srb += UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reestablishment_ind.num_srb > 2) { // fixme: only 2 srbs can exist, adjust the value
|
||||
connection_reestablishment_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reestablishment_ind, sizeof(rrc_ral_connection_reestablishment_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_REESTABLISHMENT_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
} // c1 present
|
||||
} // critical extensions present
|
||||
}
|
||||
@@ -2102,51 +2051,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[target_eNB_index].State = RRC_RECONFIGURED;
|
||||
LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED during HO (eNB %d)\n",
|
||||
ctxt_pP->module_id, target_eNB_index);
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reconfiguration_ho_ind_t connection_reconfiguration_ho_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
|
||||
memset(&connection_reconfiguration_ho_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
|
||||
connection_reconfiguration_ho_ind.ue_id = ctxt_pP->module_id;
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ho_ind.num_drb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reconfiguration_ho_ind.drb_id[i] =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reconfiguration_ho_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ho_ind.num_srb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
|
||||
+
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reconfiguration_ho_ind.num_srb += UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reconfiguration_ho_ind.num_srb > 2 ) {
|
||||
connection_reconfiguration_ho_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ho_ind, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
rrc_ue_generate_RRCConnectionReconfigurationComplete(
|
||||
ctxt_pP,
|
||||
@@ -2157,51 +2061,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED (eNB %d)\n",
|
||||
ctxt_pP->module_id,
|
||||
eNB_indexP);
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_connection_reconfiguration_ind_t connection_reconfiguration_ind;
|
||||
int i;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
|
||||
memset(&connection_reconfiguration_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ind_t));
|
||||
connection_reconfiguration_ind.ue_id = ctxt_pP->module_id;
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ind.num_drb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
|
||||
|
||||
for (i=0; (
|
||||
i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
|
||||
&& (i < LTE_maxDRB); i++) {
|
||||
// why minus 1 in RRC code for drb_identity ?
|
||||
connection_reconfiguration_ind.drb_id[i] =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
|
||||
}
|
||||
} else {
|
||||
connection_reconfiguration_ind.num_drb = 0;
|
||||
}
|
||||
|
||||
if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
|
||||
!= NULL) {
|
||||
connection_reconfiguration_ind.num_srb =
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
|
||||
+
|
||||
UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
} else {
|
||||
connection_reconfiguration_ind.num_srb +=UE_rrc_inst[ctxt_pP->module_id].num_srb;
|
||||
}
|
||||
|
||||
if (connection_reconfiguration_ind.num_srb > 2 ) {
|
||||
connection_reconfiguration_ind.num_srb =2;
|
||||
}
|
||||
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ind, sizeof(rrc_ral_connection_reconfiguration_ind_t));
|
||||
//#warning "ue_mod_idP ? for instance ? => YES"
|
||||
LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_IND to mRAL\n");
|
||||
itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp)
|
||||
@@ -2241,11 +2100,6 @@ static void rrc_ue_decode_dcch(const protocol_ctxt_t *const ctxt_pP,
|
||||
}
|
||||
|
||||
itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
|
||||
#if ENABLE_RAL
|
||||
msg_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_CONNECTION_RELEASE_IND);
|
||||
RRC_RAL_CONNECTION_RELEASE_IND(msg_p).ue_id = ctxt_pP->module_id;
|
||||
itti_send_msg_to_task(TASK_RAL_UE, ctxt_pP->instance, msg_p);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand:
|
||||
@@ -3656,31 +3510,6 @@ int decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_IDLE) {
|
||||
LOG_I( RRC, "[UE %d] Received SIB1/SIB2/SIB3 Switching to RRC_SI_RECEIVED\n", ctxt_pP->module_id );
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State = RRC_SI_RECEIVED;
|
||||
#if ENABLE_RAL
|
||||
{
|
||||
MessageDef *message_ral_p = NULL;
|
||||
rrc_ral_system_information_ind_t ral_si_ind;
|
||||
message_ral_p = itti_alloc_new_message (TASK_RRC_UE, 0, RRC_RAL_SYSTEM_INFORMATION_IND);
|
||||
memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
|
||||
ral_si_ind.plmn_id.MCCdigit2 = '0';
|
||||
ral_si_ind.plmn_id.MCCdigit1 = '2';
|
||||
ral_si_ind.plmn_id.MNCdigit3 = '0';
|
||||
ral_si_ind.plmn_id.MCCdigit3 = '8';
|
||||
ral_si_ind.plmn_id.MNCdigit2 = '9';
|
||||
ral_si_ind.plmn_id.MNCdigit1 = '9';
|
||||
ral_si_ind.cell_id = 1;
|
||||
ral_si_ind.dbm = 0;
|
||||
//ral_si_ind.dbm = fifo_dump_emos_UE.PHY_measurements->rx_rssi_dBm[eNB_index];
|
||||
// TO DO
|
||||
ral_si_ind.sinr = 0;
|
||||
//ral_si_ind.sinr = fifo_dump_emos_UE.PHY_measurements->subband_cqi_dB[eNB_index][phy_vars_ue->lte_frame_parms.nb_antennas_rx][0];
|
||||
// TO DO
|
||||
ral_si_ind.link_data_rate = 0;
|
||||
memcpy (&message_ral_p->ittiMsg, (void *) &ral_si_ind, sizeof(rrc_ral_system_information_ind_t));
|
||||
#warning "ue_mod_idP ? for instance ?"
|
||||
itti_send_msg_to_task (TASK_RAL_UE, UE_MODULE_ID_TO_INSTANCE(ctxt_pP->module_id), message_ral_p);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}else{
|
||||
//LOG_W( RRC, "[UE %d] Received new SIB1/SIB2/SIB3 with MBMSs %d\n", ctxt_pP->module_id, ((&typeandinfo->choice.sib2)->mbsfn_SubframeConfigList == NULL ? 0:1) );
|
||||
@@ -4741,146 +4570,6 @@ void *rrc_ue_task( void *args_p ) {
|
||||
break;
|
||||
}
|
||||
|
||||
# if ENABLE_RAL
|
||||
|
||||
case RRC_RAL_SCAN_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id,ITTI_MSG_NAME (msg_p) );
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_INACTIVE: {
|
||||
rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
|
||||
/* Fall through to next case */
|
||||
}
|
||||
|
||||
case RRC_STATE_IDLE: {
|
||||
if (rrc_get_sub_state(ue_mod_id) != RRC_SUB_STATE_IDLE_SEARCHING) {
|
||||
/* Ask to layer 1 to find a cell matching the criterion */
|
||||
MessageDef *message_p;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, PHY_FIND_CELL_REQ);
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
|
||||
PHY_FIND_CELL_REQ (message_p).transaction_id = RRC_RAL_SCAN_REQ (msg_p).transaction_id;
|
||||
PHY_FIND_CELL_REQ (message_p).earfcn_start = 1;
|
||||
PHY_FIND_CELL_REQ (message_p).earfcn_end = 1; //44
|
||||
itti_send_msg_to_task(TASK_PHY_UE, instance, message_p);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PHY_FIND_CELL_IND:
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_IDLE:
|
||||
switch (rrc_get_sub_state(ue_mod_id)) {
|
||||
case RRC_SUB_STATE_IDLE_SEARCHING: {
|
||||
MessageDef *message_p;
|
||||
int i;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_SCAN_CONF);
|
||||
RRC_RAL_SCAN_CONF (message_p).transaction_id = PHY_FIND_CELL_IND(msg_p).transaction_id;
|
||||
RRC_RAL_SCAN_CONF (message_p).num_scan_resp = PHY_FIND_CELL_IND(msg_p).cell_nb;
|
||||
|
||||
for (i = 0 ; i < PHY_FIND_CELL_IND(msg_p).cell_nb; i++) {
|
||||
// TO DO
|
||||
memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].link_addr, 0, sizeof(ral_link_addr_t));
|
||||
// TO DO
|
||||
memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].network_id, 0, sizeof(ral_network_id_t));
|
||||
RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength.choice = RAL_SIG_STRENGTH_CHOICE_DBM;
|
||||
RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength._union.dbm = PHY_FIND_CELL_IND(msg_p).cells[i].rsrp;
|
||||
}
|
||||
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE);
|
||||
itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d substate %d\n",
|
||||
ue_mod_id,
|
||||
rrc_get_state(ue_mod_id),
|
||||
rrc_get_sub_state(ue_mod_id));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RRC_STATE_INACTIVE:
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] indication %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break; // PHY_FIND_CELL_IND
|
||||
|
||||
case PHY_MEAS_REPORT_IND: {
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
MessageDef *message_p;
|
||||
message_p = itti_alloc_new_message(TASK_RRC_UE, 0, RRC_RAL_MEASUREMENT_REPORT_IND);
|
||||
memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold,
|
||||
&PHY_MEAS_REPORT_IND(msg_p).threshold,
|
||||
sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold));
|
||||
memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param,
|
||||
&PHY_MEAS_REPORT_IND(msg_p).link_param,
|
||||
sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param));
|
||||
LOG_D(RRC, "[UE %d] PHY_MEAS_REPORT_IN: sending msg %s to %s \n", ue_mod_id, "RRC_RAL_MEASUREMENT_REPORT_IND", "TASK_RAL_UE");
|
||||
itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p);
|
||||
break;
|
||||
|
||||
case RRC_RAL_CONNECTION_ESTABLISHMENT_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
|
||||
switch (rrc_get_state(ue_mod_id)) {
|
||||
case RRC_STATE_IDLE: {
|
||||
if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
|
||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0, 0);
|
||||
rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
|
||||
LOG_D(RRC, "not sending connection request\n");
|
||||
rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RRC_STATE_INACTIVE:
|
||||
case RRC_STATE_CONNECTED:
|
||||
/* should not happen */
|
||||
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case RRC_RAL_CONNECTION_RELEASE_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
|
||||
break;
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file rrc_UE_ral.h
|
||||
* \brief rrc procedures for handling RAL messages
|
||||
* \author Lionel GAUTHIER
|
||||
* \date 2013
|
||||
* \version 1.0
|
||||
* \company Eurecom
|
||||
* \email: lionel.gauthier@eurecom.fr
|
||||
*/
|
||||
#ifndef __RRC_UE_RAL_H__
|
||||
# define __RRC_UE_RAL_H__
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "intertask_interface.h"
|
||||
#include "ral_messages_types.h"
|
||||
#include "defs.h"
|
||||
|
||||
int rrc_ue_ral_delete_all_thresholds_type (unsigned int mod_idP, ral_link_param_type_t *param_type_pP);
|
||||
int rrc_ue_ral_delete_threshold (unsigned int mod_idP, ral_link_param_type_t *param_type_pP, ral_threshold_t *threshold_pP);
|
||||
int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageDef *msg_pP);
|
||||
#endif
|
||||
@@ -50,26 +50,17 @@
|
||||
#include "LAYER2/MAC/mac.h"
|
||||
#include "openair2/RRC/common.h"
|
||||
// for D2D
|
||||
#define DEBUG_CTRL_SOCKET
|
||||
|
||||
#define CONTROL_SOCKET_PORT_NO 8888
|
||||
#define MAX_NUM_DEST 10
|
||||
//netlink
|
||||
//#define DEBUG_PDCP
|
||||
#define UE_IP_PDCP_NETLINK_ID 31
|
||||
#define PDCP_PID 1
|
||||
#define NETLINK_HEADER_SIZE 16
|
||||
#define SL_DEFAULT_RAB_ID 3
|
||||
#define SLRB_ID 3
|
||||
|
||||
#define MAX_PAYLOAD 1024 /* maximum payload size*/
|
||||
|
||||
#define MAX_NUM_NEIGH_CELLs 6 /* maximum neighbouring cells number */
|
||||
|
||||
#define MAX_NUM_GNB_CELLs 1 /* maximum gNB cells number */
|
||||
|
||||
#define UE_STATE_NOTIFICATION_INTERVAL 50
|
||||
|
||||
#define IPV4_ADDR "%u.%u.%u.%u"
|
||||
#define IPV4_ADDR_FORMAT(aDDRESS) \
|
||||
(uint8_t)((aDDRESS) & 0x000000ff), \
|
||||
@@ -308,9 +299,6 @@ typedef enum SL_TRIGGER_e {
|
||||
#define UNDEF_SECURITY_MODE 0xff
|
||||
#define NO_SECURITY_MODE 0x20
|
||||
|
||||
#define CBA_OFFSET 0xfff4
|
||||
// #define NUM_MAX_CBA_GROUP 4 // in the platform_constants
|
||||
|
||||
/* TS 36.331: RRC-TransactionIdentifier ::= INTEGER (0..3) */
|
||||
#define RRC_TRANSACTION_IDENTIFIER_NUMBER 3
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
* \email: navid.nikaein@eurecom.fr and raymond.knopp@eurecom.fr
|
||||
*/
|
||||
#define RRC_ENB
|
||||
#define RRC_ENB_C
|
||||
#include "oai_asn1.h"
|
||||
#include <asn_application.h>
|
||||
#include "uper_encoder.h"
|
||||
@@ -93,16 +92,11 @@
|
||||
#include "intertask_interface.h"
|
||||
#include "softmodem-common.h"
|
||||
|
||||
#if ENABLE_RAL
|
||||
#include "rrc_eNB_ral.h"
|
||||
#endif
|
||||
|
||||
#include "SIMULATION/TOOLS/sim.h" // for taus
|
||||
|
||||
#include "openair1/PHY/LTE_TRANSPORT/transport_proto.h"
|
||||
|
||||
#define ASN_MAX_ENCODE_SIZE 4096
|
||||
#define NUMBEROF_DRBS_TOBE_ADDED 1
|
||||
static int encode_CG_ConfigInfo(char *buffer,int buffer_size,rrc_eNB_ue_context_t *const ue_context_pP,int *enc_size);
|
||||
|
||||
mui_t rrc_eNB_mui = 0;
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file rrc_eNB_ral.h
|
||||
* \brief rrc procedures for handling RAL messages
|
||||
* \author Lionel GAUTHIER
|
||||
* \date 2013
|
||||
* \version 1.0
|
||||
* \company Eurecom
|
||||
* \email: lionel.gauthier@eurecom.fr
|
||||
*/
|
||||
#ifndef __RRC_ENB_RAL_H__
|
||||
# define __RRC_ENB_RAL_H__
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "intertask_interface.h"
|
||||
#include "ral_messages_types.h"
|
||||
#include "defs.h"
|
||||
|
||||
|
||||
int rrc_enb_ral_delete_all_thresholds_type (unsigned int mod_idP, ral_link_param_type_t *param_type_pP);
|
||||
int rrc_enb_ral_delete_threshold (unsigned int mod_idP, ral_link_param_type_t* param_type_pP,
|
||||
ral_threshold_t* threshold_pP);
|
||||
int rrc_enb_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageDef *msg_pP);
|
||||
|
||||
#endif
|
||||
@@ -1,131 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
|
||||
\file rrm_sock.h
|
||||
|
||||
\brief common header for the communication between RRM and RRC/CMM/PUSU.
|
||||
|
||||
\author BURLOT Pascal
|
||||
|
||||
\date 15/07/08
|
||||
|
||||
|
||||
\par History:
|
||||
$Author$ $Date$ $Revision$
|
||||
$Id$
|
||||
$Log$
|
||||
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef __RRC_RRM_INTERFACE_H__
|
||||
#define __RRC_RRM_INTERFACE_H__
|
||||
|
||||
|
||||
//#ifdef RRC_RRM_XFACE
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief Entete des messages de RRM/CMM/RRC
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned short start ; ///< Identification du debut de message
|
||||
unsigned char inst ; ///< Identification de l'instance RRM
|
||||
unsigned char msg_type ; ///< Identification du type message
|
||||
unsigned int size ; ///< taille du message
|
||||
unsigned int Trans_id ; ///< Identification de la transaction
|
||||
} msg_head_t ;
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief Definition de la structure d'un message a envoyer sur un socket:
|
||||
- RRM->RRC
|
||||
- RRC->RRM
|
||||
- RRCI->RRC
|
||||
- RRC->RRCI
|
||||
- CMM->RRM
|
||||
- RRM->CMM
|
||||
*/
|
||||
typedef struct {
|
||||
msg_head_t head ; ///< entete du message
|
||||
char *data ; ///< message
|
||||
} msg_t ;
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
//! \brief Socket path associated to RRM-CMM interface
|
||||
#define RRM_CMM_SOCK_PATH "/tmp/rrm_cmm_socket"
|
||||
//! \brief Socket path associated to CMM-RRM interface
|
||||
#define CMM_RRM_SOCK_PATH "/tmp/cmm_rrm_socket"
|
||||
|
||||
//! \brief Socket path associated to RRM-RRC interface
|
||||
#define RRM_RRC_SOCK_PATH "/tmp/rrm_rrc_socket"
|
||||
//! \brief Socket path associated to RRC-RRM interface
|
||||
#define RRC_RRM_SOCK_PATH "/tmp/rrc_rrm_socket"
|
||||
|
||||
//! \brief Socket path associated to RRM-PUSU interface
|
||||
#define RRM_PUSU_SOCK_PATH "/tmp/rrm_pusu_socket"
|
||||
//! \brief Socket path associated to PUSU-RRM interface
|
||||
#define PUSU_RRM_SOCK_PATH "/tmp/pusu_rrm_socket"
|
||||
|
||||
|
||||
//! \brief Identification of the RRM/CMM/RRC message begin
|
||||
#define START_MSG 0xA533
|
||||
//! \brief Identification of the PUSU message begin
|
||||
#define START_MSG_PUSU 0xCC
|
||||
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief Definition de la structure definissant le socket pour envoyer les messages
|
||||
*/
|
||||
typedef struct {
|
||||
int s ; ///< identification du socket
|
||||
struct sockaddr_un un_local_addr ; ///< Adresse local si unix socket
|
||||
struct sockaddr_un un_dest_addr ; ///< Adresse destinataire si unix socket
|
||||
} sock_rrm_t ;
|
||||
|
||||
|
||||
/* *** Fonctions relatives aux interfaces CMM ou RRC *** */
|
||||
|
||||
int open_socket( sock_rrm_t *s ,char *path_local, char *path_dest , int rrm_inst ) ;
|
||||
void close_socket(sock_rrm_t *sock ) ;
|
||||
int send_msg_sock(sock_rrm_t *s ,msg_t *msg ) ;
|
||||
char *recv_msg( sock_rrm_t *s ) ;
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
int send_msg(void *, msg_t *);
|
||||
|
||||
#endif
|
||||
@@ -27,8 +27,6 @@
|
||||
* \company Eurecom, NTUST
|
||||
* \email: navid.nikaein@eurecom.fr and raymond.knopp@eurecom.fr, kroempa@gmail.com
|
||||
*/
|
||||
#define RRC_GNB_C
|
||||
#define RRC_GNB_C
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#define RRC_SL_PRECONFIG
|
||||
#define RRC_SL_PRECONFIG_C
|
||||
|
||||
#include "oai_asn1.h"
|
||||
#include "NR_SL-PreconfigurationNR-r16.h"
|
||||
|
||||
@@ -49,12 +49,6 @@
|
||||
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_0 "sl_NumSSB_WithinPeriod_0"
|
||||
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_0 "sl_TimeOffsetSSB_0"
|
||||
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_0 "sl_TimeInterval_0"
|
||||
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_1 "sl_NumSSB_WithinPeriod_1"
|
||||
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_1 "sl_TimeOffsetSSB_1"
|
||||
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_1 "sl_TimeInterval_1"
|
||||
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_2 "sl_NumSSB_WithinPeriod_2"
|
||||
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_2 "sl_TimeOffsetSSB_2"
|
||||
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_2 "sl_TimeInterval_2"
|
||||
|
||||
|
||||
/*Sidelink Bandwidth related parameters in SL-Preconfig */
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
#include "UTIL/LOG/log.h"
|
||||
|
||||
#define MAX_NUM_CLIENTS 15
|
||||
#define MAX_LINE 100
|
||||
|
||||
struct sockaddr_in saddr;
|
||||
unsigned short server_port = 1352;
|
||||
|
||||
@@ -69,9 +69,6 @@ typedef enum {
|
||||
#define omg_eps 0.10 //10.99
|
||||
|
||||
#define SLEEP 1
|
||||
#define GET_DATA 0
|
||||
#define GET_DATA_UPDATE 1
|
||||
|
||||
|
||||
#endif /* __OMG_H_ */
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
|
||||
/*!\brief It indicates that: the payload and the transport header (not otg header) are copied from static strings (HEADER_STRING and PAYLOAD_STRING) */
|
||||
#define STRING_STATIC 1
|
||||
|
||||
/*!\brief Define the max number of states*/
|
||||
#define MAX_NUM_TRAFFIC_STATE 4 // we have 4 state: OFF, PU, ED, PE
|
||||
@@ -50,8 +49,6 @@
|
||||
/*!\brief Define the max number of traffic runing in the same time - using their ID in the customized traffic*/
|
||||
#define MAX_EMU_TRAFFIC 10
|
||||
|
||||
#define OTG_FLAG_SIZE 3
|
||||
#define OTG_FLAG "OTG"
|
||||
|
||||
#define IDT_TH 100
|
||||
#define SIZE_COEF 1000
|
||||
@@ -74,7 +71,6 @@
|
||||
|
||||
/*!\brief Define the size of IP version header, in bytes*/
|
||||
#define HDR_IP_v4_MIN 20
|
||||
#define HDR_IP_v4_MAX 60
|
||||
#define HDR_IP_v6 60
|
||||
|
||||
/*!\brief Define the size of TCP header, in bytes*/
|
||||
@@ -87,16 +83,12 @@
|
||||
#define RTP_HEADER 12
|
||||
|
||||
/*!\brief Define the max size of the header*/
|
||||
#define MAX_HEADER_SIZE 80
|
||||
|
||||
|
||||
/*!\brief Define the Alphabet string to generate the payload of the packet*/
|
||||
#define ALPHABET_NUM_LETTER "abcdefghijklmnopqrstuvwyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
#define ALPHABET_LETTER "abcdefghijklmnopqrstuvwyzABCDEFGHIGKLMNOPQRSTUVWXZ"
|
||||
|
||||
/*!\brief Define the Alphabet string to generate the header of the packet*/
|
||||
#define ALPHABET_NUM "0123456789"
|
||||
|
||||
/*!\brief Define the static string to generate the header of the packet*/
|
||||
//#define HEADER_STRING "5048717272261061594909177115977673656394812939088509638561159848103044447631759621785741859753883189"
|
||||
@@ -108,7 +100,6 @@
|
||||
/*!\brief We describe below different M2M domains and we present their associated latencies in LTE/LTE-A network REF: "Latency for Real-Time Machine-to-Machine Communication in LTE-Based System Architecture"*/
|
||||
|
||||
/*!\brief Latency budget for M2M capillary domain(unit millisecond)*/
|
||||
#define APPLICATION_PROCESSING_DEVICE_DELAY 1
|
||||
#define MIN_APPLICATION_PROCESSING_GATEWAY_DELAY 1
|
||||
#define MAX_APPLICATION_PROCESSING_GATEWAY_DELAY 3
|
||||
#define MIN_FORMATING_TRANSFERRING_DELAY 1
|
||||
@@ -118,8 +109,6 @@
|
||||
#define TERMINAL_ACCESS_DELAY 1
|
||||
|
||||
/*!\brief Latency budget for access domain(unit millisecond)*/
|
||||
#define MIN_U_PLANE_GW_PROCESSING_DELAY 1
|
||||
#define MAX_U_PLANE_GW_PROCESSING_DELAY 4
|
||||
#define MIN_U_PLANE_CORE_IP_ACCESS_DELAY 1
|
||||
#define MAX_U_PLANE_CORE_IP_ACCESS_DELAY 2
|
||||
#define MIN_FW_PROXY_DELAY 1
|
||||
@@ -128,8 +117,6 @@
|
||||
/*!\brief Latency budget for core and application domain(unit millisecond)*/
|
||||
#define MIN_NETWORK_ACCESS_DELAY 15
|
||||
#define MAX_NETWORK_ACCESS_DELAY 150
|
||||
#define MIN_SERVICE_ENABLERS_DELAY 300
|
||||
#define MAX_SERVICE_ENABLERS_DELAY 500
|
||||
#define MIN_APPLICATION_ACESS_DELAY 1
|
||||
#define MAX_APPLICATION_ACESS_DELAY 3
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
#define IDT_LAMBDA 3
|
||||
|
||||
//TRANSPORT PROTOCOL
|
||||
#define TRANS_PROTO TCP
|
||||
#define IP_V IPV4
|
||||
|
||||
//DATA PACKET SIZE DISTRIBUTION PARAMETERS
|
||||
|
||||
Reference in New Issue
Block a user