Merge remote-tracking branch 'origin/nr-cleanup-includes' into integration_2024_w47 (!2966)
Refactor of includes in gNB/UE for improved header management This merge request implements changes suggested by the Include What You Use (IWYU) open source tool to streamline the project’s header file usage. The adjustments ensure that each file includes only the necessary headers for the symbols it uses, making the code more efficient and maintainable. Unnecessary includes have been removed, and missing headers have been added where required. This improves modularity and reduces inter-dependencies between files, helping to avoid future build issues caused by unused or missing includes. Each output has been manually reviewed. Followed a similar approach as in !2953 (merged). Affected folders/files: - NR_MAC_gNB/main.c - nr-softmodem.c - unitary simulators: nr_dlsim, nr_ulsim, prachsim - openair2/RRC/NR - openair3/NGAP - openair2/LAYER2/nr_pdcp - openair2/SDAP/nr_sdap
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "LTE_asn_constant.h"
|
||||
#include "NR_asn_constant.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
|
||||
#define GTPV1U_MAX_BEARERS_PER_UE max_val_LTE_DRB_Identity
|
||||
#define NR_GTPV1U_MAX_BEARERS_PER_UE max_val_NR_DRB_Identity
|
||||
@@ -170,13 +171,10 @@ typedef struct {
|
||||
typedef struct gtpv1u_gnb_create_tunnel_req_s {
|
||||
ue_id_t ue_id;
|
||||
int num_tunnels;
|
||||
//teid_t upf_NGu_teid[NR_GTPV1U_MAX_BEARERS_PER_UE]; ///< Tunnel Endpoint Identifier
|
||||
teid_t outgoing_teid[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
int outgoing_qfi[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
pdusessionid_t pdusession_id[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
ebi_t incoming_rb_id[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
//ebi_t outgoing_rb_id[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
//transport_layer_addr_t upf_addr[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
transport_layer_addr_t dst_addr[NR_GTPV1U_MAX_BEARERS_PER_UE];
|
||||
} gtpv1u_gnb_create_tunnel_req_t;
|
||||
|
||||
|
||||
@@ -32,11 +32,9 @@
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "common/5g_platform_types.h"
|
||||
#include "LTE_asn_constant.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
//-------------------------------------------------------------------------------------------//
|
||||
// Defines to access message fields.
|
||||
|
||||
// Defines to access message fields.
|
||||
#define NGAP_REGISTER_GNB_REQ(mSGpTR) (mSGpTR)->ittiMsg.ngap_register_gnb_req
|
||||
|
||||
#define NGAP_REGISTER_GNB_CNF(mSGpTR) (mSGpTR)->ittiMsg.ngap_register_gnb_cnf
|
||||
@@ -72,10 +70,9 @@
|
||||
#define NGAP_PDUSESSION_RELEASE_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.ngap_pdusession_release_resp
|
||||
|
||||
//-------------------------------------------------------------------------------------------//
|
||||
/* Maximum number of e-rabs to be setup/deleted in a single message.
|
||||
* Even if only one bearer will be modified by message.
|
||||
*/
|
||||
#define NGAP_MAX_PDUSESSION (LTE_maxDRB + 3)
|
||||
|
||||
// maxnoofPDUSessions in 3GPP TS 38.413
|
||||
#define NGAP_MAX_PDUSESSION 16 // 256 according to specs
|
||||
|
||||
/* Length of the transport layer address string
|
||||
* 160 bits / 8 bits by char.
|
||||
|
||||
@@ -224,16 +224,6 @@ typedef struct nas_pdu_s {
|
||||
uint32_t length;
|
||||
} nas_pdu_t, ue_radio_cap_t;
|
||||
|
||||
typedef struct transport_layer_addr_s {
|
||||
/* Length of the transport layer address buffer in bits. S1AP layer received a
|
||||
* bit string<1..160> containing one of the following addresses: ipv4,
|
||||
* ipv6, or ipv4 and ipv6. The layer doesn't interpret the buffer but
|
||||
* silently forward it to S1-U.
|
||||
*/
|
||||
uint8_t length;
|
||||
uint8_t buffer[20]; // in network byte order
|
||||
} transport_layer_addr_t;
|
||||
|
||||
#define TRANSPORT_LAYER_ADDR_COPY(dEST,sOURCE) \
|
||||
do { \
|
||||
AssertFatal(sOURCE.len <= 20); \
|
||||
|
||||
@@ -27,27 +27,64 @@
|
||||
EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr, kroempa@gmail.com
|
||||
*/
|
||||
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "gnb_config.h"
|
||||
#include "enb_paramdef.h"
|
||||
#include "UTIL/OTG/otg.h"
|
||||
#include "sctp_default_values.h"
|
||||
#include "f1ap_common.h"
|
||||
#include "PHY/INIT/nr_phy_init.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "nfapi_pnf.h"
|
||||
#include "prs_nr_paramdef.h"
|
||||
#include <limits.h>
|
||||
#include <math.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include "BIT_STRING.h"
|
||||
#include "L1_nr_paramdef.h"
|
||||
#include "MACRLC_nr_paramdef.h"
|
||||
#include "gnb_paramdef.h"
|
||||
#include "NR_MAC_gNB/mac_proto.h"
|
||||
#include "PHY/INIT/nr_phy_init.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "PHY/defs_gNB.h"
|
||||
#include "PHY/defs_nr_common.h"
|
||||
#include "RRC/NR/nr_rrc_config.h"
|
||||
#include "RRC/NR/nr_rrc_extern.h"
|
||||
#include "RRC_nr_paramsvalues.h"
|
||||
#include "T.h"
|
||||
#include "asn_SEQUENCE_OF.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "asn_internal.h"
|
||||
#include "NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "NR_MAC_gNB/mac_proto.h"
|
||||
#include "common/5g_platform_types.h"
|
||||
#include "common/config/config_paramdesc.h"
|
||||
#include "common/config/config_userapi.h"
|
||||
#include "common/openairinterface5g_limits.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common_lib.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "enb_paramdef.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "f1ap_common.h"
|
||||
#include "gnb_paramdef.h"
|
||||
#include "lib/f1ap_interface_management.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
#include "nfapi_pnf.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "ngap_gNB.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "nr_common.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "openair1/PHY/defs_common.h"
|
||||
#include "prs_nr_paramdef.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
#include "rrc_messages_types.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "sctp_default_values.h"
|
||||
#include "seq_arr.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "utils.h"
|
||||
#include "x2ap_messages_types.h"
|
||||
#ifdef ENABLE_AERIAL
|
||||
#include "nfapi/oai_integration/aerial/fapi_vnf_p5.h"
|
||||
#endif
|
||||
#include "lib/f1ap_interface_management.h"
|
||||
|
||||
static int DEFBANDS[] = {7};
|
||||
static int DEFENBS[] = {0};
|
||||
|
||||
@@ -29,23 +29,13 @@
|
||||
|
||||
#ifndef GNB_CONFIG_H_
|
||||
#define GNB_CONFIG_H_
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <libconfig.h>
|
||||
|
||||
#include "commonDef.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "PHY/defs_eNB.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
|
||||
#include "rrc_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include <stdint.h>
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "assertions.h"
|
||||
#include "common/config/config_load_configmodule.h"
|
||||
#include "common/ngran_types.h"
|
||||
#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;\
|
||||
|
||||
@@ -30,26 +30,37 @@
|
||||
|
||||
*/
|
||||
|
||||
#include "common/platform_types.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include "BIT_STRING.h"
|
||||
#include "LAYER2/NR_MAC_COMMON/nr_mac_common.h"
|
||||
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
#include "NR_MIB.h"
|
||||
#include "NR_MAC_COMMON/nr_mac_extern.h"
|
||||
#include "NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "NR_BCCH-BCH-Message.h"
|
||||
#include "NR_ServingCellConfigCommon.h"
|
||||
#include "uper_encoder.h"
|
||||
|
||||
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
#include "SCHED_NR/phy_frame_config_nr.h"
|
||||
|
||||
#include "NR_MIB.h"
|
||||
#include "LAYER2/NR_MAC_COMMON/nr_mac_common.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
/* Softmodem params */
|
||||
#include "PHY/TOOLS/tools_defs.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_config.h"
|
||||
#include "SCHED_NR/phy_frame_config_nr.h"
|
||||
#include "T.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include <complex.h>
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
#include "nfapi_interface.h"
|
||||
#include "nfapi_nr_interface.h"
|
||||
#include "nfapi_nr_interface_scf.h"
|
||||
#include "utils.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
//extern int l2_init_gNB(void);
|
||||
|
||||
@@ -30,17 +30,47 @@
|
||||
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#include <pthread.h>
|
||||
#include <sched.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <unistd.h>
|
||||
#include "NR_DRB-ToAddMod.h"
|
||||
#include "NR_DRB-ToAddModList.h"
|
||||
#include "NR_MAC_COMMON/nr_mac.h"
|
||||
#include "NR_MAC_COMMON/nr_mac_common.h"
|
||||
#include "NR_MAC_gNB/mac_proto.h"
|
||||
#include "NR_MAC_COMMON/nr_mac_extern.h"
|
||||
#include "NR_MAC_gNB/mac_rrc_ul.h"
|
||||
#include "NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||
#include "NR_RLC-BearerConfig.h"
|
||||
#include "NR_RadioBearerConfig.h"
|
||||
#include "NR_ServingCellConfig.h"
|
||||
#include "NR_ServingCellConfigCommon.h"
|
||||
#include "NR_TAG.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include "RRC/NR/nr_rrc_config.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ngran_types.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "linear_alloc.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "nr_rlc/nr_rlc_oai_api.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
|
||||
#include "common/ran_context.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "rlc.h"
|
||||
#include "seq_arr.h"
|
||||
#include "system.h"
|
||||
#include "time_meas.h"
|
||||
#include "utils.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
|
||||
@@ -20,20 +20,33 @@
|
||||
*/
|
||||
|
||||
#include "cucp_cuup_handler.h"
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "NR_DRB-ToAddMod.h"
|
||||
#include "NR_DRB-ToAddModList.h"
|
||||
|
||||
#include "common/platform_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "openair2/COMMON/e1ap_messages_types.h"
|
||||
#include "openair3/ocp-gtpu/gtp_itf.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "nr_pdcp_oai_api.h"
|
||||
#include "cuup_cucp_if.h"
|
||||
#include "NR_PDCP-Config.h"
|
||||
#include "NR_QFI.h"
|
||||
#include "NR_SDAP-Config.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_common.h"
|
||||
#include "SDAP/nr_sdap/nr_sdap_entity.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common/utils/oai_asn1.h"
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "cuup_cucp_if.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp_oai_api.h"
|
||||
#include "openair2/COMMON/e1ap_messages_types.h"
|
||||
#include "openair2/E1AP/e1ap_common.h"
|
||||
#include "openair2/F1AP/f1ap_common.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||
#include "openair3/ocp-gtpu/gtp_itf.h"
|
||||
|
||||
static void fill_DRB_configList_e1(NR_DRB_ToAddModList_t *DRB_configList, const pdu_session_to_setup_t *pdu)
|
||||
{
|
||||
|
||||
@@ -22,27 +22,50 @@
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
#include "nr_pdcp_asn1_utils.h"
|
||||
#include "nr_pdcp_ue_manager.h"
|
||||
#include "nr_pdcp_timer_thread.h"
|
||||
#include "NR_RadioBearerConfig.h"
|
||||
#include "NR_RLC-BearerConfig.h"
|
||||
#include "NR_RLC-Config.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "openair2/RRC/NR/nr_rrc_proto.h"
|
||||
#include "common/utils/mem/oai_memory.h"
|
||||
#include <stdint.h>
|
||||
|
||||
/* from OAI */
|
||||
#include "oai_asn1.h"
|
||||
#include "nr_pdcp_oai_api.h"
|
||||
#include "LAYER2/nr_rlc/nr_rlc_oai_api.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||
#include "gnb_config.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include "LAYER2/MAC/mac_extern.h"
|
||||
#include "LTE_DRB-ToAddModList.h"
|
||||
#include "LTE_DRB-ToReleaseList.h"
|
||||
#include "LTE_PMCH-InfoList-r9.h"
|
||||
#include "LTE_SRB-ToAddModList.h"
|
||||
#include "NR_DRB-ToAddMod.h"
|
||||
#include "NR_QFI.h"
|
||||
#include "NR_SDAP-Config.h"
|
||||
#include "NR_SRB-ToAddMod.h"
|
||||
#include "SDAP/nr_sdap/nr_sdap_entity.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ngran_types.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common/utils/tun_if.h"
|
||||
#include "cuup_cucp_if.h"
|
||||
#include "executables/lte-softmodem.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "gnb_config.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "hashtable.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
#include "nr_pdcp_asn1_utils.h"
|
||||
#include "nr_pdcp_timer_thread.h"
|
||||
#include "nr_pdcp_ue_manager.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||
#include "pdcp.h"
|
||||
#include "pdcp_messages_types.h"
|
||||
#include "rlc.h"
|
||||
#include "utils.h"
|
||||
|
||||
#define TODO do { \
|
||||
printf("%s:%d:%s: todo\n", __FILE__, __LINE__, __FUNCTION__); \
|
||||
|
||||
@@ -22,8 +22,17 @@
|
||||
#ifndef NR_PDCP_OAI_API_H
|
||||
#define NR_PDCP_OAI_API_H
|
||||
|
||||
#include "pdcp.h"
|
||||
#include <assertions.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "NR_DRB-ToAddModList.h"
|
||||
#include "NR_PDCP-Config.h"
|
||||
#include "NR_SRB-ToAddModList.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp/nr_pdcp_integrity_data.h"
|
||||
#include "nr_pdcp_ue_manager.h"
|
||||
struct NR_DRB_ToAddMod;
|
||||
struct NR_SRB_ToAddMod;
|
||||
|
||||
void nr_pdcp_layer_init(void);
|
||||
uint64_t nr_pdcp_module_init(uint64_t _pdcp_optmask, int id);
|
||||
|
||||
@@ -31,14 +31,20 @@
|
||||
*/
|
||||
|
||||
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||
#include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
#include "nfapi/oai_integration/gnb_ind_vars.h"
|
||||
#include "openair2/PHY_INTERFACE/queue_t.h"
|
||||
#include "nfapi/oai_integration/vendor_ext.h"
|
||||
#include "nfapi_interface.h"
|
||||
#include "openair2/NR_PHY_INTERFACE/nr_sched_response.h"
|
||||
#include "openair2/PHY_INTERFACE/queue_t.h"
|
||||
#include "utils.h"
|
||||
|
||||
#define MAX_IF_MODULES 100
|
||||
|
||||
|
||||
@@ -35,9 +35,8 @@
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
#include "assertions.h"
|
||||
#include "nfapi_nr_interface_scf.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/platform_types.h"
|
||||
|
||||
#define MAX_NUM_DL_PDU 100
|
||||
#define MAX_NUM_UL_PDU 100
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
*/
|
||||
|
||||
#include "nr_sched_response.h"
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "common/utils/assertions.h"
|
||||
|
||||
|
||||
@@ -31,17 +31,30 @@
|
||||
#ifndef __RRC_NR_MESSAGES_ASN1_MSG__H__
|
||||
#define __RRC_NR_MESSAGES_ASN1_MSG__H__
|
||||
|
||||
#include <common/utils/assertions.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h> /* for atoi(3) */
|
||||
#include <unistd.h> /* for getopt(3) */
|
||||
#include <string.h> /* for strerror(3) */
|
||||
#include <sysexits.h> /* for EX_* exit codes */
|
||||
#include <errno.h> /* for errno */
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
#include "RRC/NR/nr_rrc_config.h"
|
||||
#include "NR_ARFCN-ValueNR.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_CipheringAlgorithm.h"
|
||||
#include "NR_DRB-ToAddModList.h"
|
||||
#include "NR_DRB-ToReleaseList.h"
|
||||
#include "NR_IntegrityProtAlgorithm.h"
|
||||
#include "NR_LogicalChannelConfig.h"
|
||||
#include "NR_MeasConfig.h"
|
||||
#include "NR_MeasTiming.h"
|
||||
#include "NR_RLC-BearerConfig.h"
|
||||
#include "NR_RLC-Config.h"
|
||||
#include "NR_RRC-TransactionIdentifier.h"
|
||||
#include "NR_RadioBearerConfig.h"
|
||||
#include "NR_ReestablishmentCause.h"
|
||||
#include "NR_SRB-ToAddModList.h"
|
||||
#include "NR_SecurityConfig.h"
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "ds/seq_arr.h"
|
||||
#include "rrc_messages_types.h"
|
||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList;
|
||||
struct asn_TYPE_descriptor_s;
|
||||
|
||||
/*
|
||||
* The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
|
||||
|
||||
@@ -19,8 +19,10 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "assertions.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "openair2/COMMON/e1ap_messages_types.h"
|
||||
#include "openair2/LAYER2/nr_pdcp/cucp_cuup_handler.h"
|
||||
|
||||
@@ -19,13 +19,14 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include "assertions.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
#include "nr_rrc_proto.h"
|
||||
#include "nr_rrc_extern.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
|
||||
static void cucp_cuup_bearer_context_setup_e1ap(sctp_assoc_t assoc_id, const e1ap_bearer_setup_req_t *req)
|
||||
{
|
||||
AssertFatal(assoc_id > 0, "illegal assoc_id %d\n", assoc_id);
|
||||
|
||||
@@ -19,9 +19,13 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdbool.h>
|
||||
#include "assertions.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "mac_rrc_dl.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h"
|
||||
|
||||
static void f1_reset_cu_initiated_direct(sctp_assoc_t assoc_id, const f1ap_reset_t *reset)
|
||||
|
||||
@@ -19,8 +19,15 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <string.h>
|
||||
#include "assertions.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "mac_rrc_dl.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "openair2/F1AP/lib/f1ap_rrc_message_transfer.h"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
#ifndef __NR_RRC_COMMON_H__
|
||||
#define __NR_RRC_COMMON_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define NR_NUM_SRB 4 /* Number of Signalling Radio Bearers according to clause 4.2.2 of 3GPP TS 38.331 */
|
||||
|
||||
@@ -28,18 +28,33 @@
|
||||
* \email: raymond.knopp@eurecom.fr, kroempa@gmail.com
|
||||
*/
|
||||
|
||||
#include "openair3/UTILS/conversions.h"
|
||||
#include "nr_rrc_config.h"
|
||||
#include <endian.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "BIT_STRING.h"
|
||||
#include "NULL.h"
|
||||
#include "RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include "RRC/NR/nr_rrc_proto.h"
|
||||
#include "SIMULATION/TOOLS/sim.h"
|
||||
#include "T.h"
|
||||
#include "asn_SET_OF.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "common/openairinterface5g_limits.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "SIMULATION/TOOLS/sim.h" // for taus();
|
||||
|
||||
#include "NR_MeasurementTimingConfiguration.h"
|
||||
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "openair3/UTILS/conversions.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "utils.h"
|
||||
#include "xer_encoder.h"
|
||||
|
||||
const uint8_t slotsperframe[5] = {10, 20, 40, 80, 160};
|
||||
|
||||
@@ -3090,8 +3105,6 @@ NR_CellGroupConfig_t *get_initial_cellGroupConfig(int uid,
|
||||
return cellGroupConfig;
|
||||
}
|
||||
|
||||
#include "common/ran_context.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig,
|
||||
const int uid,
|
||||
NR_UE_NR_Capability_t *uecap,
|
||||
|
||||
@@ -31,8 +31,17 @@
|
||||
#ifndef __NR_RRC_CONFIG_H__
|
||||
#define __NR_RRC_CONFIG_H__
|
||||
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "openair2/RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "NR_BCCH-BCH-Message.h"
|
||||
#include "NR_BCCH-DL-SCH-Message.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "NR_UL-CCCH-Message.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
struct NR_MeasurementTimingConfiguration;
|
||||
struct NR_PDSCH_TimeDomainResourceAllocationList;
|
||||
|
||||
// forward declaration of MAC configuration parameters, definition is included in C file
|
||||
struct nr_mac_config_t;
|
||||
|
||||
@@ -34,39 +34,25 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "collection/tree.h"
|
||||
#include "collection/linear_alloc.h"
|
||||
#include "common/utils/ds/seq_arr.h"
|
||||
#include "nr_rrc_common.h"
|
||||
#include "ds/byte_array.h"
|
||||
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "mac_rrc_dl.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
|
||||
#include "NR_SIB1.h"
|
||||
#include "NR_RRCReconfigurationComplete.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_RRCReestablishmentRequest.h"
|
||||
#include "NR_BCCH-BCH-Message.h"
|
||||
#include "NR_BCCH-DL-SCH-Message.h"
|
||||
#include "NR_BCCH-BCH-Message.h"
|
||||
#include "NR_PLMN-IdentityInfo.h"
|
||||
#include "NR_MCC-MNC-Digit.h"
|
||||
#include "NR_NG-5G-S-TMSI.h"
|
||||
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "NR_UE-MRDC-Capability.h"
|
||||
#include "NR_MeasResults.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_ServingCellConfigCommon.h"
|
||||
#include "NR_EstablishmentCause.h"
|
||||
#include "NR_MeasurementReport.h"
|
||||
#include "NR_MeasurementTimingConfiguration.h"
|
||||
|
||||
//-------------------
|
||||
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "NR_UL-CCCH-Message.h"
|
||||
#include "NR_UE-MRDC-Capability.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "intertask_interface.h"
|
||||
|
||||
// 3GPP TS 38.331 Section 12 Table 12.1-1: UE performance requirements for RRC procedures for UEs
|
||||
|
||||
@@ -35,14 +35,9 @@
|
||||
#define __NR_RRC_PROTO_H__
|
||||
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "NR_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "LTE_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "NR_CG-Config.h"
|
||||
#include "NR_CG-ConfigInfo.h"
|
||||
#include "NR_SecurityConfig.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
|
||||
#define NR_MAX_SUPPORTED_DL_LAYERS 4
|
||||
|
||||
|
||||
+67
-76
@@ -30,79 +30,70 @@
|
||||
#define RRC_GNB_C
|
||||
#define RRC_GNB_C
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "nr_rrc_config.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "nr_rrc_extern.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "rrc_gNB_radio_bearers.h"
|
||||
|
||||
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
|
||||
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "openair2/RRC/NR/nr_rrc_proto.h"
|
||||
#include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
#include "openair3/ocp-gtpu/gtp_itf.h"
|
||||
#include "BIT_STRING.h"
|
||||
#include "F1AP_CauseProtocol.h"
|
||||
#include "F1AP_CauseRadioNetwork.h"
|
||||
#include "NGAP_CauseRadioNetwork.h"
|
||||
#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac.h"
|
||||
#include "OCTET_STRING.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include "openair2/E1AP/e1ap_asnc.h"
|
||||
|
||||
#include "NR_BCCH-BCH-Message.h"
|
||||
#include "NR_UL-DCCH-Message.h"
|
||||
#include "NR_DL-DCCH-Message.h"
|
||||
#include "NR_DL-CCCH-Message.h"
|
||||
#include "NR_UL-CCCH-Message.h"
|
||||
#include "NR_RRCReject.h"
|
||||
#include "NR_RejectWaitTime.h"
|
||||
#include "NR_RRCSetup.h"
|
||||
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_MeasResults.h"
|
||||
#include "NR_UL-CCCH-Message.h"
|
||||
#include "NR_RRCSetupRequest-IEs.h"
|
||||
#include "NR_RRCSetupComplete-IEs.h"
|
||||
#include "NR_RRCReestablishmentRequest-IEs.h"
|
||||
#include "NR_MIB.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "uper_decoder.h"
|
||||
|
||||
#include "common/platform_types.h"
|
||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||
|
||||
#include "RRC/NR/mac_rrc_dl.h"
|
||||
#include "RRC/NR/nr_rrc_common.h"
|
||||
#include "SIMULATION/TOOLS/sim.h"
|
||||
#include "T.h"
|
||||
|
||||
#include "openair3/SECU/secu_defs.h"
|
||||
|
||||
#include "rrc_gNB_NGAP.h"
|
||||
#include "rrc_gNB_du.h"
|
||||
#include "rrc_gNB_mobility.h"
|
||||
|
||||
#include "rrc_gNB_GTPV1U.h"
|
||||
|
||||
#include "asn_codecs.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "byte_array.h"
|
||||
#include "common/ngran_types.h"
|
||||
#include "common/openairinterface5g_limits.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common_lib.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "linear_alloc.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
|
||||
#include "intertask_interface.h"
|
||||
#include "SIMULATION/TOOLS/sim.h" // for taus
|
||||
|
||||
#include "executables/softmodem-common.h"
|
||||
#include <openair2/RRC/NR/rrc_gNB_UE_context.h>
|
||||
#include <openair2/X2AP/x2ap_eNB.h>
|
||||
#include <openair3/SECU/key_nas_deriver.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include <openair2/RRC/NR/nr_rrc_proto.h>
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "nr_rrc_extern.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "openair2/F1AP/f1ap_common.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair2/F1AP/lib/f1ap_lib_extern.h"
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap_entity.h"
|
||||
#include "openair2/E1AP/e1ap.h"
|
||||
#include "cucp_cuup_if.h"
|
||||
#include "lib/f1ap_interface_management.h"
|
||||
|
||||
#include "BIT_STRING.h"
|
||||
#include "assertions.h"
|
||||
#include "rrc_gNB_NGAP.h"
|
||||
#include "rrc_gNB_du.h"
|
||||
#include "rrc_gNB_mobility.h"
|
||||
#include "rrc_gNB_radio_bearers.h"
|
||||
#include "rrc_messages_types.h"
|
||||
#include "seq_arr.h"
|
||||
#include "tree.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "utils.h"
|
||||
#include "x2ap_messages_types.h"
|
||||
#include "xer_encoder.h"
|
||||
|
||||
#ifdef E2_AGENT
|
||||
#include "openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h"
|
||||
@@ -568,7 +559,7 @@ static void rrc_gNB_generate_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_
|
||||
DevAssert(size > 0 && size <= sizeof(buffer));
|
||||
|
||||
LOG_UE_DL_EVENT(ue_p, "Generate RRCReconfiguration (bytes %d, xid %d)\n", size, xid);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
|
||||
void rrc_gNB_modify_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_RRC_UE_t *ue_p)
|
||||
@@ -677,7 +668,7 @@ void rrc_gNB_modify_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_RRC_UE_t
|
||||
clear_nas_pdu(&ue_p->pduSession[i].param.nas_pdu);
|
||||
|
||||
LOG_I(NR_RRC, "UE %d: Generate RRCReconfiguration (bytes %d)\n", ue_p->rrc_ue_id, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -729,7 +720,7 @@ void rrc_gNB_generate_dedicatedRRCReconfiguration_release(gNB_RRC_INST *rrc,
|
||||
}
|
||||
|
||||
LOG_I(NR_RRC, "UE %d: Generate NR_RRCReconfiguration (bytes %d)\n", ue_p->rrc_ue_id, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
|
||||
/* \brief find existing PDU session inside E1AP Bearer Modif message, or
|
||||
@@ -860,10 +851,10 @@ static void rrc_gNB_generate_RRCReestablishment(rrc_gNB_ue_context_t *ue_context
|
||||
uint32_t old_gNB_DU_ue_id = old_rnti;
|
||||
f1ap_dl_rrc_message_t dl_rrc = {.gNB_CU_ue_id = ue_p->rrc_ue_id,
|
||||
.gNB_DU_ue_id = ue_data.secondary_ue,
|
||||
.srb_id = DCCH,
|
||||
.srb_id = DL_SCH_LCID_DCCH,
|
||||
.old_gNB_DU_ue_id = &old_gNB_DU_ue_id};
|
||||
deliver_dl_rrc_message_data_t data = {.rrc = rrc, .dl_rrc = &dl_rrc, .assoc_id = ue_data.du_assoc_id};
|
||||
nr_pdcp_data_req_srb(ue_p->rrc_ue_id, DCCH, rrc_gNB_mui++, size, (unsigned char *const)buffer, rrc_deliver_dl_rrc_message, &data);
|
||||
nr_pdcp_data_req_srb(ue_p->rrc_ue_id, DL_SCH_LCID_DCCH, rrc_gNB_mui++, size, (unsigned char *const)buffer, rrc_deliver_dl_rrc_message, &data);
|
||||
|
||||
/* RRCReestablishment has been generated, let's enable ciphering now. */
|
||||
security_parameters.ciphering_algorithm = ue_p->ciphering_algorithm;
|
||||
@@ -965,7 +956,7 @@ static void rrc_gNB_process_RRCReestablishmentComplete(gNB_RRC_INST *rrc, gNB_RR
|
||||
ue_p->rrc_ue_id,
|
||||
ue_p->rnti,
|
||||
size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -986,7 +977,7 @@ int nr_rrc_reconfiguration_req(gNB_RRC_INST *rrc, gNB_RRC_UE_t *ue_p, const int
|
||||
uint8_t buffer[NR_RRC_BUF_SIZE];
|
||||
int size = do_RRCReconfiguration(ue_p, buffer, NR_RRC_BUF_SIZE, xid, NULL, NULL, NULL, NULL, NULL, NULL, masterCellGroup);
|
||||
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1406,7 +1397,7 @@ void rrc_forward_ue_nas_message(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE)
|
||||
unsigned int xid = rrc_gNB_get_next_transaction_identifier(rrc->module_id);
|
||||
uint32_t length = do_NR_DLInformationTransfer(buffer, sizeof(buffer), xid, UE->nas_pdu.length, UE->nas_pdu.buffer);
|
||||
LOG_DUMPMSG(NR_RRC, DEBUG_RRC, buffer, length, "[MSG] RRC DL Information Transfer\n");
|
||||
rb_id_t srb_id = UE->Srb[2].Active ? DCCH1 : DCCH;
|
||||
rb_id_t srb_id = UE->Srb[2].Active ? DL_SCH_LCID_DCCH1 : DL_SCH_LCID_DCCH;
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, UE, srb_id, buffer, length);
|
||||
// no need to free UE->nas_pdu.buffer, do_NR_DLInformationTransfer() did that
|
||||
UE->nas_pdu.buffer = NULL;
|
||||
@@ -1654,7 +1645,7 @@ static void rrc_gNB_generate_UECapabilityEnquiry(gNB_RRC_INST *rrc, gNB_RRC_UE_t
|
||||
|
||||
AssertFatal(!NODE_IS_DU(rrc->node_type), "illegal node type DU!\n");
|
||||
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
|
||||
static int rrc_gNB_decode_dcch(gNB_RRC_INST *rrc, const f1ap_ul_rrc_message_t *msg)
|
||||
@@ -2001,7 +1992,7 @@ static void rrc_CU_process_ue_context_release_request(MessageDef *msg_p, sctp_as
|
||||
.gNB_DU_ue_id = source_ctx->du_ue_id,
|
||||
.cause = F1AP_CAUSE_RADIO_NETWORK,
|
||||
.cause_value = 5, // 5 = F1AP_CauseRadioNetwork_interaction_with_other_procedure
|
||||
.srb_id = DCCH,
|
||||
.srb_id = DL_SCH_LCID_DCCH,
|
||||
};
|
||||
rrc->mac_rrc.ue_context_release_command(assoc_id, &cmd);
|
||||
nr_rrc_finalize_ho(UE);
|
||||
@@ -2649,7 +2640,7 @@ void rrc_gNB_generate_SecurityModeCommand(gNB_RRC_INST *rrc, gNB_RRC_UE_t *ue_p)
|
||||
LOG_DUMPMSG(NR_RRC, DEBUG_RRC, (char *)buffer, size, "[MSG] RRC Security Mode Command\n");
|
||||
LOG_I(NR_RRC, "UE %u Logical Channel DL-DCCH, Generate SecurityModeCommand (bytes %d)\n", ue_p->rrc_ue_id, size);
|
||||
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DL_SCH_LCID_DCCH, buffer, size);
|
||||
}
|
||||
|
||||
typedef struct deliver_ue_ctxt_release_data_t {
|
||||
@@ -2684,10 +2675,10 @@ void rrc_gNB_generate_RRCRelease(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE)
|
||||
.gNB_DU_ue_id = ue_data.secondary_ue,
|
||||
.cause = F1AP_CAUSE_RADIO_NETWORK,
|
||||
.cause_value = 10, // 10 = F1AP_CauseRadioNetwork_normal_release
|
||||
.srb_id = DCCH,
|
||||
.srb_id = DL_SCH_LCID_DCCH,
|
||||
};
|
||||
deliver_ue_ctxt_release_data_t data = {.rrc = rrc, .release_cmd = &ue_context_release_cmd, .assoc_id = ue_data.du_assoc_id};
|
||||
nr_pdcp_data_req_srb(UE->rrc_ue_id, DCCH, rrc_gNB_mui++, size, buffer, rrc_deliver_ue_ctxt_release_cmd, &data);
|
||||
nr_pdcp_data_req_srb(UE->rrc_ue_id, DL_SCH_LCID_DCCH, rrc_gNB_mui++, size, buffer, rrc_deliver_ue_ctxt_release_cmd, &data);
|
||||
}
|
||||
|
||||
int rrc_gNB_generate_pcch_msg(sctp_assoc_t assoc_id, const NR_SIB1_t *sib1, uint32_t tmsi, uint8_t paging_drx)
|
||||
|
||||
@@ -27,20 +27,14 @@
|
||||
* \email: lionel.gauthier@eurecom.fr, panagiotis.matzakos@eurecom.fr
|
||||
*/
|
||||
|
||||
# include "rrc_defs.h"
|
||||
# include "rrc_extern.h"
|
||||
# include "RRC/LTE/MESSAGES/asn1_msg.h"
|
||||
# include "rrc_eNB_GTPV1U.h"
|
||||
# include "rrc_eNB_UE_context.h"
|
||||
# include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
||||
|
||||
//# if defined(ENABLE_ITTI)
|
||||
# include "oai_asn1.h"
|
||||
# include "intertask_interface.h"
|
||||
//#endif
|
||||
|
||||
# include "common/ran_context.h"
|
||||
#include "openair2/RRC/NR/rrc_gNB_GTPV1U.h"
|
||||
#include "LOG/log.h"
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
||||
#include "rrc_defs.h"
|
||||
#include "rrc_eNB_GTPV1U.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
#ifndef RRC_GNB_GTPV1U_H_
|
||||
#define RRC_GNB_GTPV1U_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "openair2/RRC/NR/nr_rrc_defs.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
|
||||
int rrc_gNB_process_GTPV1U_CREATE_TUNNEL_RESP(gNB_RRC_UE_t *ue,
|
||||
const gtpv1u_enb_create_tunnel_resp_t *const create_tunnel_resp_pP,
|
||||
uint8_t *inde_list);
|
||||
|
||||
@@ -29,56 +29,64 @@
|
||||
*/
|
||||
|
||||
#include "rrc_gNB_NGAP.h"
|
||||
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
|
||||
#include "rrc_eNB_S1AP.h"
|
||||
#include "gnb_config.h"
|
||||
#include "common/ran_context.h"
|
||||
|
||||
#include "oai_asn1.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
#include "pdcp_primitives.h"
|
||||
#include "SDAP/nr_sdap/nr_sdap.h"
|
||||
|
||||
#include "openair3/ocp-gtpu/gtp_itf.h"
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include "RRC/LTE/rrc_eNB_GTPV1U.h"
|
||||
#include "RRC/NR/rrc_gNB_GTPV1U.h"
|
||||
|
||||
#include "S1AP_NAS-PDU.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
|
||||
#include "ngap_gNB_defs.h"
|
||||
#include "ngap_gNB_ue_context.h"
|
||||
#include "ngap_gNB_management_procedures.h"
|
||||
#include "NR_ULInformationTransfer.h"
|
||||
#include "RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include "NR_UERadioAccessCapabilityInformation.h"
|
||||
#include "NR_UE-CapabilityRAT-ContainerList.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "E1AP_ConfidentialityProtectionIndication.h"
|
||||
#include "E1AP_IntegrityProtectionIndication.h"
|
||||
#include "NGAP_CauseRadioNetwork.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair2/E1AP/e1ap_asnc.h"
|
||||
#include "openair2/E1AP/e1ap.h"
|
||||
#include "NGAP_asn_constant.h"
|
||||
#include "NGAP_PDUSessionResourceSetupRequestTransfer.h"
|
||||
#include "NGAP_PDUSessionResourceModifyRequestTransfer.h"
|
||||
#include "NGAP_ProtocolIE-Field.h"
|
||||
#include "NGAP_GTPTunnel.h"
|
||||
#include "NGAP_QosFlowSetupRequestItem.h"
|
||||
#include "NGAP_QosFlowAddOrModifyRequestItem.h"
|
||||
#include "NGAP_NonDynamic5QIDescriptor.h"
|
||||
#include "NGAP_Dynamic5QIDescriptor.h"
|
||||
#include "conversions.h"
|
||||
#include "NGAP_GTPTunnel.h"
|
||||
#include "NGAP_NonDynamic5QIDescriptor.h"
|
||||
#include "NGAP_PDUSessionResourceModifyRequestTransfer.h"
|
||||
#include "NGAP_PDUSessionResourceSetupRequestTransfer.h"
|
||||
#include "NGAP_QosFlowAddOrModifyRequestItem.h"
|
||||
#include "NGAP_QosFlowSetupRequestItem.h"
|
||||
#include "NGAP_asn_constant.h"
|
||||
#include "NGAP_ProtocolIE-Field.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "NR_UERadioAccessCapabilityInformation.h"
|
||||
#include "MAC/mac.h"
|
||||
#include "OCTET_STRING.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/MESSAGES/asn1_msg.h"
|
||||
#include "RRC/NR/nr_rrc_common.h"
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "RRC/NR/nr_rrc_proto.h"
|
||||
#include "RRC/NR/rrc_gNB_UE_context.h"
|
||||
#include "RRC/NR/rrc_gNB_radio_bearers.h"
|
||||
#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac.h"
|
||||
#include "T.h"
|
||||
#include "aper_decoder.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ngran_types.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "conversions.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
#include "rrc_messages_types.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "uper_encoder.h"
|
||||
|
||||
#ifdef E2_AGENT
|
||||
#include "openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h"
|
||||
#endif
|
||||
|
||||
#include "uper_encoder.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
/* Masks for NGAP Encryption algorithms, NEA0 is always supported (not coded) */
|
||||
@@ -140,7 +148,7 @@ void nr_rrc_pdcp_config_security(gNB_RRC_UE_t *UE, bool enable_ciphering)
|
||||
}
|
||||
}
|
||||
|
||||
nr_pdcp_config_set_security(UE->rrc_ue_id, DCCH, true, &security_parameters);
|
||||
nr_pdcp_config_set_security(UE->rrc_ue_id, DL_SCH_LCID_DCCH, true, &security_parameters);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
#ifndef RRC_GNB_NGAP_H_
|
||||
#define RRC_GNB_NGAP_H_
|
||||
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "nr_rrc_extern.h"
|
||||
|
||||
#include <assertions.h>
|
||||
#include <stdint.h>
|
||||
#include "NR_RRCSetupComplete-IEs.h"
|
||||
#include "NR_RegisteredAMF.h"
|
||||
#include "NR_UECapabilityInformation.h"
|
||||
#include "NR_UL-DCCH-Message.h"
|
||||
#include "NGAP_CauseRadioNetwork.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
void rrc_gNB_send_NGAP_NAS_FIRST_REQ(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE, NR_RRCSetupComplete_IEs_t *rrcSetupComplete);
|
||||
|
||||
|
||||
@@ -28,15 +28,18 @@
|
||||
* \email: lionel.gauthier@eurecom.fr
|
||||
*/
|
||||
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "T.h"
|
||||
#include "assertions.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include "linear_alloc.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "tree.h"
|
||||
|
||||
static void rrc_gNB_ue_context_update_time(rrc_gNB_ue_context_t *ctxt)
|
||||
{
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
#ifndef __RRC_GNB_UE_CONTEXT_H__
|
||||
#define __RRC_GNB_UE_CONTEXT_H__
|
||||
|
||||
#include <common/utils/assertions.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdint.h>
|
||||
#include "collection/tree.h"
|
||||
#include "common/platform_types.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
int rrc_gNB_compare_ue_rnti_id(rrc_gNB_ue_context_t* c1_pP, rrc_gNB_ue_context_t* c2_pP);
|
||||
|
||||
@@ -19,9 +19,24 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_proto.h"
|
||||
#include "T.h"
|
||||
#include "as_message.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "rrc_messages_types.h"
|
||||
#include "tree.h"
|
||||
|
||||
static int cuup_compare(const nr_rrc_cuup_container_t *a, const nr_rrc_cuup_container_t *b)
|
||||
{
|
||||
|
||||
@@ -20,17 +20,37 @@
|
||||
*/
|
||||
|
||||
#include "rrc_gNB_du.h"
|
||||
#include "rrc_gNB_NGAP.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "F1AP_CauseMisc.h"
|
||||
#include "F1AP_CauseProtocol.h"
|
||||
#include "F1AP_CauseRadioNetwork.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "T.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "common/utils/alg/foreach.h"
|
||||
#include "common/utils/ds/seq_arr.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include "rrc_gNB_mobility.h"
|
||||
#include "openair2/F1AP/f1ap_common.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "common/utils/ds/seq_arr.h"
|
||||
#include "common/utils/alg/foreach.h"
|
||||
#include "lib/f1ap_interface_management.h"
|
||||
#include "rrc_gNB_NGAP.h"
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include "rrc_messages_types.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "tree.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "utils.h"
|
||||
#include "xer_encoder.h"
|
||||
|
||||
int get_dl_band(const struct f1ap_served_cell_info_t *cell_info)
|
||||
{
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#include <netinet/sctp.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
struct f1ap_setup_req_s;
|
||||
struct f1ap_lost_connection_t;
|
||||
struct gNB_RRC_INST_s;
|
||||
|
||||
@@ -30,16 +30,22 @@
|
||||
#ifndef RRC_GNB_INTERNODE_C
|
||||
#define RRC_GNB_INTERNODE_C
|
||||
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
#include "NR_CG-ConfigInfo.h"
|
||||
#include "NR_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "LTE_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "NR_CG-Config.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "uper_decoder.h"
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "OCTET_STRING.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_proto.h"
|
||||
#include "T.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "assertions.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "x2ap_messages_types.h"
|
||||
|
||||
int parse_CG_ConfigInfo(gNB_RRC_INST *rrc, NR_CG_ConfigInfo_t *CG_ConfigInfo, x2ap_ENDC_sgnb_addition_req_t *m) {
|
||||
if (CG_ConfigInfo->criticalExtensions.present == NR_CG_ConfigInfo__criticalExtensions_PR_c1) {
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "rrc_gNB_du.h"
|
||||
#include "rrc_gNB_radio_bearers.h"
|
||||
#include "rrc_gNB_UE_context.h"
|
||||
#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "MESSAGES/asn1_msg.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
@@ -286,7 +287,7 @@ static void nr_rrc_f1_ho_complete(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE)
|
||||
.gNB_DU_ue_id = source_ctx->du_ue_id,
|
||||
.cause = F1AP_CAUSE_RADIO_NETWORK, // better
|
||||
.cause_value = 5, // 5 = F1AP_CauseRadioNetwork_interaction_with_other_procedure
|
||||
.srb_id = DCCH,
|
||||
.srb_id = DL_SCH_LCID_DCCH,
|
||||
};
|
||||
rrc->mac_rrc.ue_context_release_command(source_ctx->du->assoc_id, &cmd);
|
||||
LOG_I(NR_RRC, "UE %d Handover: trigger release on DU assoc_id %d\n", UE->rrc_ue_id, source_ctx->du->assoc_id);
|
||||
@@ -302,7 +303,7 @@ static void nr_rrc_cancel_f1_ho(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE)
|
||||
.gNB_DU_ue_id = target_ctx->du_ue_id,
|
||||
.cause = F1AP_CAUSE_RADIO_NETWORK, // better
|
||||
.cause_value = 5, // 5 = F1AP_CauseRadioNetwork_interaction_with_other_procedure
|
||||
.srb_id = DCCH,
|
||||
.srb_id = DL_SCH_LCID_DCCH,
|
||||
};
|
||||
rrc->mac_rrc.ue_context_release_command(target_ctx->du->assoc_id, &cmd);
|
||||
}
|
||||
|
||||
@@ -28,30 +28,49 @@
|
||||
* \email: raymond.knopp@eurecom.fr
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <assertions.h>
|
||||
#include <openair2/RRC/NR/nr_rrc_proto.h>
|
||||
#include <openair2/RRC/NR/rrc_gNB_UE_context.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "MESSAGES/asn1_msg.h"
|
||||
#include "OCTET_STRING.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_config.h"
|
||||
#include "T.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "common/ngran_types.h"
|
||||
#include "common/ran_context.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "executables/nr-softmodem.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_UE-NR-Capability.h"
|
||||
//#include "NR_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "LTE_UE-CapabilityRAT-ContainerList.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_CG-Config.h"
|
||||
//#include "NR_SRB-ToAddModList.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/mac_proto.h"
|
||||
#include "openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h"
|
||||
#include "openair2/RRC/NR/rrc_gNB_GTPV1U.h"
|
||||
#include "openair2/F1AP/f1ap_ids.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "executables/nr-softmodem.h"
|
||||
#include <openair2/RRC/NR/rrc_gNB_UE_context.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include "openair3/SECU/secu_defs.h"
|
||||
#include "openair3/SECU/key_nas_deriver.h"
|
||||
|
||||
#include <openair2/RRC/NR/nr_rrc_proto.h>
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
#include "MESSAGES/asn1_msg.h"
|
||||
#include "rlc.h"
|
||||
#include "s1ap_messages_types.h"
|
||||
#include "tree.h"
|
||||
#include "uper_decoder.h"
|
||||
#include "uper_encoder.h"
|
||||
#include "x2ap_messages_types.h"
|
||||
#include "xer_decoder.h"
|
||||
#include "xer_encoder.h"
|
||||
|
||||
void rrc_parse_ue_capabilities(gNB_RRC_INST *rrc, NR_UE_CapabilityRAT_ContainerList_t *UE_CapabilityRAT_ContainerList, x2ap_ENDC_sgnb_addition_req_t *m, NR_CG_ConfigInfo_IEs_t *cg_config_info)
|
||||
{
|
||||
|
||||
@@ -20,8 +20,17 @@
|
||||
*/
|
||||
|
||||
#include "rrc_gNB_radio_bearers.h"
|
||||
#include <stddef.h>
|
||||
#include "E1AP_RLC-Mode.h"
|
||||
#include "PHY/defs_common.h"
|
||||
#include "RRC/NR/nr_rrc_defs.h"
|
||||
#include "T.h"
|
||||
#include "asn_internal.h"
|
||||
#include "assertions.h"
|
||||
#include "common/platform_constants.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "ngap_messages_types.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "openair2/E1AP/e1ap.h"
|
||||
|
||||
rrc_pdu_session_param_t *find_pduSession(gNB_RRC_UE_t *ue, int id, bool create)
|
||||
{
|
||||
|
||||
@@ -22,12 +22,11 @@
|
||||
#ifndef _RRC_GNB_DRBS_H_
|
||||
#define _RRC_GNB_DRBS_H_
|
||||
|
||||
#include "nr_rrc_defs.h"
|
||||
#include "NR_SDAP-Config.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "NR_DRB-ToAddMod.h"
|
||||
#include "NR_SRB-ToAddMod.h"
|
||||
|
||||
#include "common/platform_constants.h"
|
||||
#include "e1ap_messages_types.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
#define DRB_ACTIVE_NONGBR (2) /* DRB is used for Non-GBR Flows */
|
||||
#define DRB_ACTIVE (1)
|
||||
|
||||
@@ -30,24 +30,15 @@
|
||||
#ifndef RRC_GNB_NSA_C
|
||||
#define RRC_GNB_NSA_C
|
||||
|
||||
#include "NR_ServingCellConfigCommon.h"
|
||||
#include "NR_ServingCellConfig.h"
|
||||
#include "NR_RRCReconfiguration.h"
|
||||
#include "NR_RRCReconfiguration-IEs.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
#include "NR_MAC-CellGroupConfig.h"
|
||||
#include "NR_BSR-Config.h"
|
||||
#include "NR_PDSCH-ServingCellConfig.h"
|
||||
#include "NR_RLC-BearerConfig.h"
|
||||
#include "BOOLEAN.h"
|
||||
#include "uper_encoder.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "OCTET_STRING.h"
|
||||
#include "RRC/NR/nr_rrc_proto.h"
|
||||
#include "asn_codecs.h"
|
||||
#include "assertions.h"
|
||||
#include "constr_TYPE.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
#include "executables/softmodem-common.h"
|
||||
#include "LAYER2/nr_rlc/nr_rlc_oai_api.h"
|
||||
#include "nr_rrc_config.h"
|
||||
#include "MESSAGES/asn1_msg.h"
|
||||
#include "uper_encoder.h"
|
||||
|
||||
NR_RRCReconfiguration_IEs_t *get_default_reconfig(const NR_CellGroupConfig_t *secondaryCellGroup)
|
||||
{
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
#include "rrc_defs.h"
|
||||
#include "rrc_proto.h"
|
||||
#include "openair2/RRC/LTE/rrc_defs.h"
|
||||
#include "L2_interface_ue.h"
|
||||
#include "LAYER2/NR_MAC_UE/mac_proto.h"
|
||||
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
*/
|
||||
|
||||
#include "nr_sdap.h"
|
||||
#include <inttypes.h>
|
||||
#include <stddef.h>
|
||||
#include "nr_sdap_entity.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
|
||||
uint8_t nas_qfi;
|
||||
uint8_t nas_pduid;
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
#ifndef _NR_SDAP_GNB_H_
|
||||
#define _NR_SDAP_GNB_H_
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include "common/platform_types.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "nr_sdap_entity.h"
|
||||
|
||||
/*
|
||||
* TS 37.324 4.4 Functions
|
||||
|
||||
@@ -20,14 +20,18 @@
|
||||
*/
|
||||
|
||||
#include "nr_sdap_entity.h"
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include <openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include "openair2/LAYER2/nr_pdcp/nr_pdcp_ue_manager.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
#include "PHY/defs_common.h"
|
||||
#include "T.h"
|
||||
#include "assertions.h"
|
||||
#include "common/utils/T/T.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
#include "intertask_interface.h"
|
||||
#include "rlc.h"
|
||||
|
||||
typedef struct {
|
||||
nr_sdap_entity_t *sdap_entity_llist;
|
||||
|
||||
@@ -22,11 +22,12 @@
|
||||
#ifndef _NR_SDAP_ENTITY_H_
|
||||
#define _NR_SDAP_ENTITY_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <assertions.h>
|
||||
#include <stdbool.h>
|
||||
#include "common/platform_types.h"
|
||||
#include "openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h"
|
||||
#include "NR_RadioBearerConfig.h"
|
||||
#include <stdint.h>
|
||||
#include "NR_QFI.h"
|
||||
#include "NR_SDAP-Config.h"
|
||||
#include "common/platform_constants.h"
|
||||
|
||||
#define SDAP_BITMASK_DC (0x80)
|
||||
#define SDAP_BITMASK_R (0x40)
|
||||
|
||||
Reference in New Issue
Block a user