Major improvements:
1) bbu_offload - enable packet handling on BBU cores
2) dlCpProcBurst - DL CP processing on one or more symbols
3) SRS CP processing - depends on the RU capabilities that can be
retreived via M-plane (if RU is CAT B)
4) nSecDesc - the number of section descriptors per symbol; it was hardcoded to 0 in E release;
depends on the RU capabilities that can be retreived via M-plane
5) RunSlotPrbMapBySymbolEnable - enable PRB mapping by symbol with multisection;
depends on the RU capabilities that can be retreived via M-plane
6) DSS (Dynamic Spectrum Sharing) support - depends on the RU capabilities that can be retreived via M-plane
Minor fixes in F that exist in E:
1) prach_config->nPrachFilterIdx - explained in commit ID f3045396
2) T1a_min_cp_dl - explained in the commit under title "Clarification on DU delay profile"
3) fh_config->nULRBs - explained in commit under title "Further clarification on xran E release parameters"
Removed const for prb_conf argument in oran_allocate_cplane_buffers()
function, as F release requires the not const struct for
xran_init_PrbMap_by_symbol_from_cfg() and xran_init_PrbMap_from_cfg()
even though the struct is not modified inside of these functions.
49 lines
2.0 KiB
CMake
49 lines
2.0 KiB
CMake
# we need at least gcc-11 to build xran, so let's enforce it here
|
|
# (because xran might not check it, and we have control here)
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0
|
|
OR CMAKE_C_COMPILER_VERSION VERSION_LESS 11.0)
|
|
message(FATAL_ERROR "you need to have at least gcc/g++-11 to use 7.2 FHI through xran")
|
|
endif()
|
|
|
|
# use env var PKG_CONFIG_PATH to override paths to libdpdk.pc
|
|
pkg_check_modules(dpdk REQUIRED libdpdk)
|
|
pkg_check_modules(numa REQUIRED numa)
|
|
|
|
add_library(oran_fhlib_5g MODULE
|
|
oran_isolate.c
|
|
oaioran.c
|
|
oran-config.c
|
|
oran-init.c
|
|
)
|
|
|
|
find_package(xran REQUIRED)
|
|
if(xran_VERSION VERSION_EQUAL 5.1.4)
|
|
target_compile_definitions(oran_fhlib_5g PRIVATE E_RELEASE)
|
|
elseif(xran_VERSION VERSION_EQUAL 6.1.1)
|
|
target_compile_definitions(oran_fhlib_5g PRIVATE F_RELEASE)
|
|
else()
|
|
message(FATAL_ERROR "Found xran version ${xran_VERSION} but needed 5.1.4 (E release) or 6.1.1 (F release)")
|
|
endif()
|
|
|
|
# Ignore xran-specific warning: we don't care/can't change the following warning, so suppress
|
|
# alignment 1 of 'struct XYZ' is less than 2
|
|
add_compile_options(-Wno-packed-not-aligned)
|
|
|
|
set_target_properties(oran_fhlib_5g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -march=native")
|
|
target_link_libraries(oran_fhlib_5g PRIVATE xran::xran)
|
|
target_link_libraries(oran_fhlib_5g PRIVATE ${dpdk_LINK_LIBRARIES})
|
|
target_include_directories(oran_fhlib_5g PRIVATE ${dpdk_INCLUDE_DIRS})
|
|
target_link_libraries(oran_fhlib_5g PRIVATE pthread dl rt m numa)
|
|
target_link_libraries(oran_fhlib_5g PRIVATE ${T_LIB})
|
|
|
|
# TODO: can be removed?
|
|
target_include_directories(oran_fhlib_5g PRIVATE ${xran_INCLUDE_DIRS}/../src/)
|
|
|
|
set_target_properties(oran_fhlib_5g PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
add_custom_command(TARGET oran_fhlib_5g POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink liboran_fhlib_5g.so liboai_transpro.so
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
message(STATUS "Temporary added -DOAI_FHI72")
|
|
target_compile_definitions(nr-softmodem PUBLIC OAI_FHI72)
|