Commit fc1c762c authored by Robert Schmidt's avatar Robert Schmidt
Browse files

Merge branch 'integration_2025_w29' into 'develop'

Integration: `2025.w29`

* !3346 Add WLS as a transport option for VNF/PNF, refactor existing options
* !3455 RF simulator: Fix concurrency issues during new client connections
* !3515 Extended changes to "Initial support for RedCap" feature in gNB
* !3510 NR UE: fix PDSCH overlap with ZP CSI-RS case
* !3512 speedup NR RLC RX for AM
* !3528 fix(RLC): Count dropped DL SDUs by the RLC
* !3486 NR UE: Enable additional PDU session
* !3225 Measurement gaps
* !3526 CI: migrate RFSim5G to acamas machine
* !3527 CI: Change RU in Aerial setup from Foxconn to WNC

See merge request !3525
parents e82fde24 4bfdcc03
Loading
Loading
Loading
Loading
+25 −4
Original line number Diff line number Diff line
@@ -715,6 +715,11 @@ add_library(NFAPI_LIB ${NFAPI_SRC})
target_link_libraries(NFAPI_LIB PUBLIC nfapi_common)
target_link_libraries(NFAPI_LIB PUBLIC nr_fapi_p5 nr_fapi_p7)

if(OAI_WLS)
  target_compile_definitions(NFAPI_LIB PRIVATE ENABLE_WLS)
else()
  target_compile_definitions(NFAPI_LIB PRIVATE ENABLE_SOCKET)
endif()
include_directories(${NFAPI_DIR}/nfapi/public_inc)
include_directories(${NFAPI_DIR}/nfapi/inc)

@@ -728,6 +733,9 @@ add_library(NFAPI_PNF_LIB ${NFAPI_PNF_SRC})
target_link_libraries(NFAPI_PNF_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
target_link_libraries(NFAPI_PNF_LIB PUBLIC nr_fapi_p7)

if(OAI_WLS)
  target_compile_definitions(NFAPI_PNF_LIB PRIVATE ENABLE_WLS)
endif()
include_directories(${NFAPI_DIR}/pnf/public_inc)
include_directories(${NFAPI_DIR}/pnf/inc)

@@ -746,6 +754,9 @@ endif()
include_directories(${NFAPI_DIR}/vnf/public_inc)
include_directories(${NFAPI_DIR}/vnf/inc)

if(OAI_WLS)
  target_compile_definitions(NFAPI_VNF_LIB PRIVATE ENABLE_WLS)
endif()
# nFAPI user defined code
#############################
set(NFAPI_USER_SRC
@@ -755,11 +766,15 @@ set(NFAPI_USER_SRC
  ${NFAPI_USER_DIR}/gnb_ind_vars.c
)
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
target_link_libraries(NFAPI_USER_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs UTIL)
target_link_libraries(NFAPI_USER_LIB PRIVATE nr_fapi_p7)
if(OAI_AERIAL)
if(OAI_WLS)
  target_compile_definitions(NFAPI_USER_LIB PRIVATE ENABLE_WLS)
elseif (OAI_AERIAL)
  target_compile_definitions(NFAPI_USER_LIB PRIVATE ENABLE_AERIAL)
else()
  target_compile_definitions(NFAPI_USER_LIB PRIVATE ENABLE_SOCKET)
endif()
target_link_libraries(NFAPI_USER_LIB PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs UTIL)
target_link_libraries(NFAPI_USER_LIB PRIVATE nr_fapi_p7)
include_directories(${NFAPI_USER_DIR})

# Layer 1
@@ -1047,7 +1062,7 @@ add_library(PHY_NR_COMMON ${PHY_NR_SRC_COMMON})
target_link_libraries(PHY_NR_COMMON PUBLIC UTIL)

add_library(PHY_NR ${PHY_NR_SRC})
target_link_libraries(PHY_NR nr_phy_common nr_common)
target_link_libraries(PHY_NR nr_phy_common nr_common nr_fapi_p5)

add_library(PHY_NR_NO_AVX_256 ${PHY_NR_SRC})
target_link_libraries(PHY_NR_NO_AVX_256 nr_phy_common nr_common)
@@ -1839,6 +1854,12 @@ target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt sctp)
target_link_libraries(nr-softmodem PRIVATE ${T_LIB})
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
add_boolean_option(OAI_WLS OFF "Activate OAI's WLS driver" OFF)
if (OAI_WLS)
    target_link_libraries(nr-softmodem PUBLIC wls_integration_lib)
else()
    target_link_libraries(nr-softmodem PUBLIC nfapi_socket_lib)
endif()
add_boolean_option(OAI_AERIAL OFF "Activate OAI's AERIAL driver" OFF)
if (OAI_AERIAL)
  target_compile_definitions(nr-softmodem PUBLIC ENABLE_AERIAL)
+5 −12
Original line number Diff line number Diff line
@@ -43,19 +43,12 @@ gNBs =

#  downlinkConfigCommon
    #frequencyInfoDL
      # this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
      absoluteFrequencySSB                                          = 649920;
      #652860; #should be 649920
#647520;
#647540;
#649920;
#650208;
#647540;
      # center frequency = 3350.01 MHz
      # selected SSB frequency = 3349.92 MHz
      absoluteFrequencySSB                                          = 623328;
      dl_frequencyBand                                              = 78;
      # this is 3300.24 MHz
      dl_absoluteFrequencyPointA                                    = 646724;
#649104;
#646724;
      # frequency point A = 3300.87 MHz
      dl_absoluteFrequencyPointA                                    = 620058;
      #scs-SpecificCarrierList
        dl_offstToCarrier                                           = 0;
# subcarrierSpacing
+3 −3
Original line number Diff line number Diff line
@@ -80,16 +80,16 @@
                <class>Attach_UE</class>
                <desc>Attach OAI UE (Wait for IP)</desc>
                <id>rfsim5g_ue rfsim5g_ue2 rfsim5g_ue3</id>
                <nodes>cacofonix cacofonix cacofonix</nodes>
                <nodes>acamas acamas acamas</nodes>
        </testCase>

        <testCase id="020021">
                <class>Ping</class>
                <desc>Ping ext-dn from all NR-UEs</desc>
                <id>rfsim5g_ue rfsim5g_ue2 rfsim5g_ue3</id>
                <nodes>cacofonix cacofonix cacofonix</nodes>
                <nodes>acamas acamas acamas</nodes>
                <svr_id>rfsim5g_5gc_fixed_ip</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <ping_args>-c 20 -i0.25</ping_args>
                <ping_packetloss_threshold>5</ping_packetloss_threshold>
        </testCase>
+30 −30
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@
        <testCase id="000030">
                <class>IdleSleep</class>
                <desc>Sleep</desc>
                <idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
                <idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
        </testCase>

        <testCase id="000031">
@@ -106,7 +106,7 @@
                <class>Attach_UE</class>
                <desc>Attach OAI UE (Wait for IP)</desc>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
        </testCase>

        <testCase id="000024">
@@ -122,9 +122,9 @@
                <class>Ping</class>
                <desc>Ping ext-dn from all NR-UEs</desc>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <ping_args>-c 20 -i0.25</ping_args>
                <ping_packetloss_threshold>5</ping_packetloss_threshold>
        </testCase>
@@ -132,8 +132,8 @@
        <testCase id="030020">
                <class>Custom_Command</class>
                <desc>Simulate a DL radio channel with noise (3 dB)</desc>
                <node>cacofonix</node>
                <command>echo channelmod modify 0 noise_power_dB 3 | nc --send-only 192.168.71.181 8091</command>
                <node>acamas</node>
                <command>echo channelmod modify 0 noise_power_dB 3 | ncat --send-only 192.168.71.181 8091</command>
        </testCase>

        <testCase id="030021">
@@ -141,9 +141,9 @@
                <desc>Iperf (DL/5Mbps/UDP)(30 sec)</desc>
                <iperf_args>-u -b 5M -t 20 -R</iperf_args>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
                <iperf_bitrate_threshold>90</iperf_bitrate_threshold>
        </testCase>
@@ -153,9 +153,9 @@
                <desc>Iperf (UL/3Mbps/UDP)(30 sec)</desc>
                <iperf_args>-u -b 3M -t 20</iperf_args>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
                <iperf_bitrate_threshold>90</iperf_bitrate_threshold>
        </testCase>
@@ -163,17 +163,17 @@
        <testCase id="040001">
                <class>Custom_Command</class>
                <desc>Trigger Reestablishment</desc>
                <node>cacofonix</node>
                <command>echo ci force_reestab | nc 192.168.71.171 9090 | grep -E 'Reset RLC counters of UE RNTI [0-9a-f]{4} to trigger reestablishment'</command>
                <node>acamas</node>
                <command>echo ci force_reestab | ncat 192.168.71.171 9090 | grep -E 'Reset RLC counters of UE RNTI [0-9a-f]{4} to trigger reestablishment'</command>
        </testCase>

        <testCase id="020022">
                <class>Ping</class>
                <desc>Ping ext-dn from NR-UE</desc>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <ping_args>-c 20 -i0.5 -w25</ping_args>
                <ping_packetloss_threshold>80</ping_packetloss_threshold>
        </testCase>
@@ -181,57 +181,57 @@
        <testCase id="040002">
                <class>Custom_Command</class>
                <desc>Verify Reestablishment</desc>
                <node>cacofonix</node>
                <command>echo ci get_reestab_count | nc 192.168.71.150 9090 | grep -E 'UE RNTI [0-9a-f]{4} reestab 1'</command>
                <node>acamas</node>
                <command>echo ci get_reestab_count | ncat 192.168.71.150 9090 | grep -E 'UE RNTI [0-9a-f]{4} reestab 1'</command>
        </testCase>

        <testCase id="040021">
                <class>Custom_Command</class>
                <desc>Simulate a disruption of DL radio channel (ploss 55)</desc>
                <node>cacofonix</node>
                <command>echo channelmod modify 0 ploss 55 | nc 192.168.71.181 8091</command>
                <node>acamas</node>
                <command>echo channelmod modify 0 ploss 55 | ncat 192.168.71.181 8091</command>
        </testCase>

        <testCase id="040022">
                <class>Custom_Command</class>
                <desc>Get UE sync state (UE ID 0)</desc>
                <node>cacofonix</node>
                <command>echo ciUE sync_state 0 | nc 192.168.71.181 8091 | grep -E UE_NOT_SYNC</command>
                <node>acamas</node>
                <command>echo ciUE sync_state 0 | ncat 192.168.71.181 8091 | grep -E UE_NOT_SYNC</command>
        </testCase>

        <testCase id="040023">
                <class>Custom_Command</class>
                <desc>Restoration of the original DL channel conditions (ploss 20)</desc>
                <node>cacofonix</node>
                <command>echo channelmod modify 0 ploss 20 | nc 192.168.71.181 8091</command>
                <node>acamas</node>
                <command>echo channelmod modify 0 ploss 20 | ncat 192.168.71.181 8091</command>
        </testCase>

        <testCase id="040024">
                <class>Custom_Command</class>
                <desc>Get UE sync state (UE ID 0)</desc>
                <node>cacofonix</node>
                <command>echo ciUE sync_state 0 | nc 192.168.71.181 8091 | grep -E UE_CONNECTED</command>
                <node>acamas</node>
                <command>echo ciUE sync_state 0 | ncat 192.168.71.181 8091 | grep -E UE_CONNECTED</command>
        </testCase>

        <testCase id="040025">
                <class>Custom_Command</class>
                <desc>Trigger Handover</desc>
                <node>cacofonix</node>
                <command>echo ci trigger_f1_ho | nc 192.168.71.150 9090</command>
                <node>acamas</node>
                <command>echo ci trigger_f1_ho | ncat 192.168.71.150 9090</command>
        </testCase>

        <testCase id="040026">
                <class>Custom_Command</class>
                <desc>UE (1) connected to DU-PCI 0?</desc>
                <node>cacofonix</node>
                <command>echo ci fetch_du_by_ue_id 1 | nc 192.168.71.150 9090 | grep "3584"</command>
                <node>acamas</node>
                <command>echo ci fetch_du_by_ue_id 1 | ncat 192.168.71.150 9090 | grep "3584"</command>
        </testCase>

        <testCase id="040027">
                <class>Custom_Command</class>
                <desc>UE (1) connected to DU-PCI 1?</desc>
                <node>cacofonix</node>
                <command>echo ci fetch_du_by_ue_id 1 | nc 192.168.71.150 9090 | grep "3585"</command>
                <node>acamas</node>
                <command>echo ci fetch_du_by_ue_id 1 | ncat 192.168.71.150 9090 | grep "3585"</command>
        </testCase>

        <testCase id="100021">
+9 −9
Original line number Diff line number Diff line
@@ -73,16 +73,16 @@
                <class>Attach_UE</class>
                <desc>Attach OAI UE (Wait for IP)</desc>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
        </testCase>

        <testCase id="020011">
                <class>Ping</class>
                <desc>Ping ext-dn from NR-UE</desc>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <ping_args>-c 20 -i 0.25</ping_args>
                <ping_packetloss_threshold>5</ping_packetloss_threshold>
        </testCase>
@@ -91,9 +91,9 @@
                <class>Ping</class>
                <desc>Ping NR-UE from ext-dn</desc>
                <id>rfsim5g_ext_dn</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ue</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <ping_args>-c 20 -i 0.25</ping_args>
                <ping_packetloss_threshold>5</ping_packetloss_threshold>
        </testCase>
@@ -103,9 +103,9 @@
                <desc>Iperf (DL/3Mbps/UDP)(30 sec)</desc>
                <iperf_args>-u -b 3M -t 30 -R</iperf_args>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
                <iperf_bitrate_threshold>90</iperf_bitrate_threshold>
        </testCase>
@@ -115,9 +115,9 @@
                <desc>Iperf (UL/3Mbps/UDP)(30 sec)</desc>
                <iperf_args>-u -b 3M -t 30</iperf_args>
                <id>rfsim5g_ue</id>
                <nodes>cacofonix</nodes>
                <nodes>acamas</nodes>
                <svr_id>rfsim5g_ext_dn</svr_id>
                <svr_node>cacofonix</svr_node>
                <svr_node>acamas</svr_node>
                <iperf_packetloss_threshold>5</iperf_packetloss_threshold>
                <iperf_bitrate_threshold>90</iperf_bitrate_threshold>
        </testCase>
Loading