Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
3d32ce39
Commit
3d32ce39
authored
Oct 11, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/aerial-cleanup' into integration_2024_w41
parents
44496147
eb98aa69
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
211 additions
and
729 deletions
+211
-729
docker/Dockerfile.gNB.aerial.ubuntu22
docker/Dockerfile.gNB.aerial.ubuntu22
+2
-1
nfapi/oai_integration/aerial/CMakeLists.txt
nfapi/oai_integration/aerial/CMakeLists.txt
+1
-1
nfapi/oai_integration/aerial/fapi_nvIPC.c
nfapi/oai_integration/aerial/fapi_nvIPC.c
+6
-39
nfapi/oai_integration/aerial/fapi_nvIPC.h
nfapi/oai_integration/aerial/fapi_nvIPC.h
+3
-4
nfapi/oai_integration/aerial/fapi_vnf_p5.c
nfapi/oai_integration/aerial/fapi_vnf_p5.c
+11
-12
nfapi/oai_integration/aerial/fapi_vnf_p5.h
nfapi/oai_integration/aerial/fapi_vnf_p5.h
+1
-2
nfapi/oai_integration/aerial/fapi_vnf_p7.c
nfapi/oai_integration/aerial/fapi_vnf_p7.c
+177
-652
nfapi/oai_integration/aerial/fapi_vnf_p7.h
nfapi/oai_integration/aerial/fapi_vnf_p7.h
+0
-13
nfapi/open-nFAPI/fapi/CMakeLists.txt
nfapi/open-nFAPI/fapi/CMakeLists.txt
+3
-0
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+5
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+2
-0
radio/COMMON/common_lib.h
radio/COMMON/common_lib.h
+0
-5
No files found.
docker/Dockerfile.gNB.aerial.ubuntu22
View file @
3d32ce39
...
...
@@ -54,7 +54,8 @@ RUN /bin/sh oaienv && \
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai -w AERIAL --gNB --ninja
./build_oai -c -w AERIAL --gNB --ninja \
--cmake-opt -DCMAKE_C_FLAGS="-Werror" --cmake-opt -DCMAKE_CXX_FLAGS="-Werror"
#start from scratch for target executable
...
...
nfapi/oai_integration/aerial/CMakeLists.txt
View file @
3d32ce39
...
...
@@ -19,7 +19,7 @@ if (OAI_AERIAL)
else
()
message
(
STATUS
" nvlog library found in
${
NVLOG_LIB
}
"
)
endif
()
target_compile_definitions
(
aerial_lib PUBLIC ENABLE_L2_SLT_RSP
ENABLE_AERIAL
)
target_compile_definitions
(
aerial_lib PUBLIC ENABLE_L2_SLT_RSP
)
target_link_libraries
(
aerial_lib PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs
)
target_link_libraries
(
aerial_lib PRIVATE nr_fapi_p5
)
target_link_libraries
(
aerial_lib PRIVATE
"
${
NVLOG_LIB
}
"
"
${
NVIPC_LIB
}
"
)
...
...
nfapi/oai_integration/aerial/fapi_nvIPC.c
View file @
3d32ce39
...
...
@@ -29,7 +29,7 @@
* \note
* \warning
*/
#ifdef ENABLE_AERIAL
#define _GNU_SOURCE
#include <sched.h>
#include <stdio.h>
...
...
@@ -79,39 +79,8 @@ static int ipc_handle_rx_msg(nv_ipc_t *ipc, nv_ipc_msg_t *msg)
return
-
1
;
}
char
*
p_cpu_data
=
NULL
;
if
(
msg
->
data_buf
!=
NULL
)
{
int
gpu
;
if
(
msg
->
data_pool
==
NV_IPC_MEMPOOL_CUDA_DATA
)
{
gpu
=
1
;
}
else
{
gpu
=
0
;
}
#ifdef NVIPC_CUDA_ENABLE
// Test CUDA: call CUDA functions to change all string to lower case
test_cuda_to_lower_case
(
test_cuda_device_id
,
msg
->
data_buf
,
TEST_DATA_BUF_LEN
,
gpu
);
#endif
if
(
gpu
)
{
p_cpu_data
=
cpu_buf_recv
;
memset
(
cpu_buf_recv
,
0
,
RECV_BUF_LEN
);
ipc
->
cuda_memcpy_to_host
(
ipc
,
p_cpu_data
,
msg
->
data_buf
,
RECV_BUF_LEN
);
}
else
{
p_cpu_data
=
msg
->
data_buf
;
}
}
int
messageBufLen
=
msg
->
msg_len
;
int
dataBufLen
=
msg
->
data_len
;
uint8_t
msgbuf
[
messageBufLen
];
uint8_t
databuf
[
dataBufLen
];
memcpy
(
msgbuf
,
msg
->
msg_buf
,
messageBufLen
);
memcpy
(
databuf
,
msg
->
data_buf
,
dataBufLen
);
uint8_t
*
pReadPackedMessage
=
msgbuf
;
uint8_t
*
pReadData
=
databuf
;
uint8_t
*
end
=
msgbuf
+
messageBufLen
;
uint8_t
*
data_end
=
databuf
+
dataBufLen
;
uint8_t
*
pReadPackedMessage
=
msg
->
msg_buf
;
uint8_t
*
end
=
msg
->
msg_buf
+
msg
->
msg_len
;
// unpack FAPI messages and handle them
if
(
vnf_config
!=
0
)
{
...
...
@@ -209,6 +178,9 @@ static int ipc_handle_rx_msg(nv_ipc_t *ipc, nv_ipc_msg_t *msg)
}
case
NFAPI_NR_PHY_MSG_TYPE_RX_DATA_INDICATION
:
{
uint8_t
*
pReadData
=
msg
->
data_buf
;
int
dataBufLen
=
msg
->
data_len
;
uint8_t
*
data_end
=
msg
->
data_buf
+
dataBufLen
;
nfapi_nr_rx_data_indication_t
ind
;
ind
.
header
.
message_id
=
fapi_msg
.
message_id
;
ind
.
header
.
message_length
=
fapi_msg
.
message_length
;
...
...
@@ -652,11 +624,7 @@ int load_hard_code_config(nv_ipc_config_t *config, int module_type, nv_ipc_trans
return
-
1
;
}
#ifdef NVIPC_CUDA_ENABLE
int
test_cuda_device_id
=
get_cuda_device_id
();
#else
int
test_cuda_device_id
=
-
1
;
#endif
LOG_D
(
NFAPI_VNF
,
"CUDA device ID configured : %d
\n
"
,
test_cuda_device_id
);
config
->
transport_config
.
shm
.
cuda_device_id
=
test_cuda_device_id
;
if
(
test_cuda_device_id
>=
0
)
{
...
...
@@ -686,4 +654,3 @@ int nvIPC_Init(nvipc_params_t nvipc_params_s)
aerial_pnf_nr_connection_indication_cb
(
vnf_config
,
1
);
return
0
;
}
#endif
nfapi/oai_integration/aerial/fapi_nvIPC.h
View file @
3d32ce39
...
...
@@ -29,7 +29,6 @@
* \note
* \warning
*/
#ifdef ENABLE_AERIAL
#ifndef OPENAIRINTERFACE_FAPI_NVIPC_H
#define OPENAIRINTERFACE_FAPI_NVIPC_H
...
...
@@ -37,9 +36,10 @@
#include "nv_ipc_utils.h"
#include "nvlog.h"
#include "nfapi/open-nFAPI/vnf/public_inc/nfapi_vnf_interface.h"
#include "openair1/PHY/defs_gNB.h"
#include "debug.h"
#include "openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h"
typedef
struct
{
uint8_t
num_msg
;
uint8_t
opaque_handle
;
...
...
@@ -55,7 +55,6 @@ int aerial_send_P7_msg_with_data(void *packedBuf,
uint32_t
dataLength
,
nfapi_p7_message_header_t
*
header
);
void
set_config
(
nfapi_vnf_config_t
*
conf
);
int
nvIPC_Init
(
nvipc_params_t
);
int
nvIPC_Init
(
nvipc_params_t
nvipc_params_s
);
#endif // OPENAIRINTERFACE_FAPI_NVIPC_H
#endif
nfapi/oai_integration/aerial/fapi_vnf_p5.c
View file @
3d32ce39
...
...
@@ -29,7 +29,7 @@
* \note
* \warning
*/
#ifdef ENABLE_AERIAL
#include "fapi_vnf_p5.h"
#include "fapi_vnf_p7.h"
#include "nfapi/open-nFAPI/vnf/inc/vnf_p7.h"
...
...
@@ -53,19 +53,19 @@ void *aerial_vnf_nr_p7_config_init(void *ptr)
init_queue
(
&
gnb_slot_ind_queue
);
p7_vnf
->
config
->
port
=
p7_vnf
->
local_port
;
p7_vnf
->
config
->
sync_indication
=
&
aerial_phy_sync_indication
;
p7_vnf
->
config
->
slot_indication
=
&
aerial_phy_slot_indication
;
p7_vnf
->
config
->
harq_indication
=
&
aerial_phy_harq_indication
;
p7_vnf
->
config
->
sync_indication
=
NULL
;
p7_vnf
->
config
->
slot_indication
=
NULL
;
p7_vnf
->
config
->
harq_indication
=
NULL
;
p7_vnf
->
config
->
nr_crc_indication
=
&
aerial_phy_nr_crc_indication
;
p7_vnf
->
config
->
nr_rx_data_indication
=
&
aerial_phy_nr_rx_data_indication
;
p7_vnf
->
config
->
nr_rach_indication
=
&
aerial_phy_nr_rach_indication
;
p7_vnf
->
config
->
nr_uci_indication
=
&
aerial_phy_nr_uci_indication
;
p7_vnf
->
config
->
srs_indication
=
&
aerial_phy_srs_indication
;
p7_vnf
->
config
->
sr_indication
=
&
aerial_phy_sr_indication
;
p7_vnf
->
config
->
cqi_indication
=
&
aerial_phy_cqi_indication
;
p7_vnf
->
config
->
lbt_dl_indication
=
&
aerial_phy_lbt_dl_indication
;
p7_vnf
->
config
->
nb_harq_indication
=
&
aerial_phy_nb_harq_indication
;
p7_vnf
->
config
->
nrach_indication
=
&
aerial_phy_nrach_indication
;
p7_vnf
->
config
->
srs_indication
=
NULL
;
p7_vnf
->
config
->
sr_indication
=
NULL
;
p7_vnf
->
config
->
cqi_indication
=
NULL
;
p7_vnf
->
config
->
lbt_dl_indication
=
NULL
;
p7_vnf
->
config
->
nb_harq_indication
=
NULL
;
p7_vnf
->
config
->
nrach_indication
=
NULL
;
p7_vnf
->
config
->
nr_slot_indication
=
&
aerial_phy_nr_slot_indication
;
p7_vnf
->
config
->
nr_srs_indication
=
&
aerial_phy_nr_srs_indication
;
p7_vnf
->
config
->
malloc
=
&
aerial_vnf_allocate
;
...
...
@@ -283,7 +283,7 @@ int aerial_nr_send_config_request(nfapi_vnf_config_t *config, int p5_idx)
pnf_info
*
pnf
=
vnf
->
pnfs
;
phy_info
*
phy
=
pnf
->
phys
;
nfapi_nr_config_request_scf_t
*
req
=
&
RC
.
nrmac
[
0
]
->
config
[
0
];
//&RC.gNB[0]->gNB_config; // check
nfapi_nr_config_request_scf_t
*
req
=
&
RC
.
nrmac
[
0
]
->
config
[
0
];
NFAPI_TRACE
(
NFAPI_TRACE_INFO
,
"[VNF] %d.%d pnf p7 %s:%d timing %u %u %u %u
\n
"
,
...
...
@@ -617,4 +617,3 @@ int oai_fapi_send_end_request(int cell, uint32_t frame, uint32_t slot){
}
return
retval
;
}
#endif
nfapi/oai_integration/aerial/fapi_vnf_p5.h
View file @
3d32ce39
...
...
@@ -29,7 +29,7 @@
* \note
* \warning
*/
#ifdef ENABLE_AERIAL
#ifndef OPENAIRINTERFACE_FAPI_VNF_P5_H
#define OPENAIRINTERFACE_FAPI_VNF_P5_H
#define _GNU_SOURCE
...
...
@@ -70,4 +70,3 @@ int oai_fapi_ul_dci_req(nfapi_nr_ul_dci_request_t *ul_dci_req);
int
oai_fapi_tx_data_req
(
nfapi_nr_tx_data_request_t
*
tx_data_req
);
int
oai_fapi_dl_tti_req
(
nfapi_nr_dl_tti_request_t
*
dl_config_req
);
#endif //OPENAIRINTERFACE_FAPI_VNF_P5_H
#endif
nfapi/oai_integration/aerial/fapi_vnf_p7.c
View file @
3d32ce39
This diff is collapsed.
Click to expand it.
nfapi/oai_integration/aerial/fapi_vnf_p7.h
View file @
3d32ce39
...
...
@@ -30,7 +30,6 @@
* \warning
*/
#ifdef ENABLE_AERIAL
#ifndef OPENAIRINTERFACE_FAPI_VNF_P7_H
#define OPENAIRINTERFACE_FAPI_VNF_P7_H
...
...
@@ -180,21 +179,10 @@ typedef struct {
}
vnf_info
;
int
aerial_wake_gNB_rxtx
(
PHY_VARS_gNB
*
gNB
,
uint16_t
sfn
,
uint16_t
slot
);
int
aerial_wake_eNB_rxtx
(
PHY_VARS_eNB
*
eNB
,
uint16_t
sfn
,
uint16_t
sf
);
int
aerial_phy_sync_indication
(
struct
nfapi_vnf_p7_config
*
config
,
uint8_t
sync
);
int
aerial_phy_slot_indication
(
struct
nfapi_vnf_p7_config
*
config
,
uint16_t
phy_id
,
uint16_t
sfn
,
uint16_t
slot
);
int
aerial_phy_harq_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_harq_indication_t
*
ind
);
int
aerial_phy_nr_crc_indication
(
nfapi_nr_crc_indication_t
*
ind
);
int
aerial_phy_nr_rx_data_indication
(
nfapi_nr_rx_data_indication_t
*
ind
);
int
aerial_phy_nr_rach_indication
(
nfapi_nr_rach_indication_t
*
ind
);
int
aerial_phy_nr_uci_indication
(
nfapi_nr_uci_indication_t
*
ind
);
int
aerial_phy_srs_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_srs_indication_t
*
ind
);
int
aerial_phy_sr_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_sr_indication_t
*
ind
);
int
aerial_phy_cqi_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_cqi_indication_t
*
ind
);
int
aerial_phy_lbt_dl_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_lbt_dl_indication_t
*
ind
);
int
aerial_phy_nb_harq_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_nb_harq_indication_t
*
ind
);
int
aerial_phy_nrach_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_nrach_indication_t
*
ind
);
int
aerial_phy_nr_slot_indication
(
nfapi_nr_slot_indication_scf_t
*
ind
);
int
aerial_phy_nr_srs_indication
(
nfapi_nr_srs_indication_t
*
ind
);
void
*
aerial_vnf_allocate
(
size_t
size
);
...
...
@@ -241,4 +229,3 @@ uint8_t aerial_unpack_nr_rach_indication(uint8_t **ppReadPackedMsg,
// int fapi_nr_p7_message_pack(void *pMessageBuf, void *pPackedBuf, uint32_t packedBufLen, nfapi_p7_codec_config_t* config);
int
fapi_nr_pack_and_send_p7_message
(
vnf_p7_t
*
vnf_p7
,
nfapi_p7_message_header_t
*
header
);
#endif // OPENAIRINTERFACE_FAPI_VNF_P7_H
#endif
nfapi/open-nFAPI/fapi/CMakeLists.txt
View file @
3d32ce39
...
...
@@ -4,3 +4,6 @@ add_library(nr_fapi_p5
)
target_include_directories
(
nr_fapi_p5 PUBLIC inc
)
target_link_libraries
(
nr_fapi_p5 PUBLIC nfapi_common
)
if
(
OAI_AERIAL
)
target_compile_definitions
(
nr_fapi_p5 PRIVATE ENABLE_AERIAL
)
endif
()
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
3d32ce39
...
...
@@ -792,6 +792,11 @@ typedef struct f1_config_t {
uint32_t
gnb_id
;
// associated gNB's ID, not used in DU itself
}
f1_config_t
;
typedef
struct
{
char
*
nvipc_shm_prefix
;
int8_t
nvipc_poll_core
;
}
nvipc_params_t
;
/*! \brief top level eNB MAC structure */
typedef
struct
gNB_MAC_INST_s
{
/// Ethernet parameters for northbound midhaul interface
...
...
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
3d32ce39
...
...
@@ -241,6 +241,8 @@ void handle_nr_srs(NR_UL_IND_t *UL_info) {
const
int
num_srs
=
UL_info
->
srs_ind
.
number_of_pdus
;
nfapi_nr_srs_indication_pdu_t
*
srs_list
=
UL_info
->
srs_ind
.
pdu_list
;
// from here
for
(
int
i
=
0
;
i
<
num_srs
;
i
++
)
{
nfapi_nr_srs_indication_pdu_t
*
srs_ind
=
&
srs_list
[
i
];
LOG_D
(
NR_PHY
,
"(%d.%d) UL_info->srs_ind.pdu_list[%d].rnti: 0x%04x
\n
"
,
frame
,
slot
,
i
,
srs_ind
->
rnti
);
...
...
radio/COMMON/common_lib.h
View file @
3d32ce39
...
...
@@ -336,11 +336,6 @@ typedef struct {
uint8_t
if_compress
;
}
eth_params_t
;
typedef
struct
{
char
*
nvipc_shm_prefix
;
int8_t
nvipc_poll_core
;
}
nvipc_params_t
;
typedef
struct
{
//! Tx buffer for if device, keep one per subframe now to allow multithreading
void
*
tx
[
10
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment