Commit Graph
293 Commits
Author SHA1 Message Date
Laurent THOMAS 279d49415f remove un-necessary global variables 2024-12-04 12:26:36 +01:00
Rúben Soares Silva 20a2f9671a Use FAPI utility functions to handle P7 messages in Aerial 2024-11-29 09:15:08 +01:00
Rúben Soares Silva 28e3102858 Address memory leaks found in P7 messages handling
Add nr_fapi_p7 library to NFAPI_USER_LIB for access to utility functions

Change message handlers to use the utility functions to  copy and properly free the messages

Change the SRS handler to call the handler for the measurements instead of trying to copy to RC.gNB[0], which does not exist

Change nfapi_nr_p7_message_unpack to not allocate unneeded memory
2024-11-29 09:15:04 +01:00
Rúben Soares Silva 6d54870fc9 Fix SRS.indication unpacking for Aerial.
When using Aerial, the Report TLV on SRS.indication is transported in a different buffer, as such, it needs to be unpacked separately.
2024-11-29 09:15:04 +01:00
Rúben Soares Silva 0589923283 Add general FAPI P7 pack/unpack functions 2024-11-29 09:15:03 +01:00
Rúben Soares Silva 4e5b841a16 Separate LTE and NR (n)FAPI headers
Update NR P5 and P7 nFAPI headers to have 32-bit message_length
In the NR functions, this causes the header parameters following message_length to have their position shifted by 2 bytes, due to the increase in message_length size.

Change needed to accommodate SCF222.10.02 Table 3-3

Separates nfapi_p4_p5_message_header_t and nfapi_nr_p4_p5_message_header_t

Change the callbacks signature to accept/return void* intead of expecting a particular header type, being the NR/LTE distinction done inside the callback functions.

Create NR related functions for nFAPI transmit timestamp and checksum calculation.

Move nfapi_p7_codec_config_t and nfapi_p4_p5_codec_config_t to separate header to be shared between LTE and NR VNF/PNF

Move nfapi_nr_timing_info_t into NR header.

Move NR specific function declarations to NR header.
2024-11-29 09:15:03 +01:00
Rúben Soares Silva 91279388b8 Creation of empty FAPI P7 library for separation of related functions.
Note: Dependency in NFAPI_LIB and NFAPI_USER_LIB to be removed later
2024-11-29 09:15:03 +01:00
Robert Schmidt c679112f50 Remove useless global variable
Remove dummy_subframe variable, which is initialized once in
start_request() and then copied to memory on the heap. It is not needed.

In nr_start_request(), it should not be necessary, but we keep it for
the moment to not make more changes than necessary.

This avoids a segfault for me, but I am not exactly sure why.
2024-11-29 09:15:03 +01:00
Robert Schmidt 68f8ef7c7a Reduce amount of logs in L1/L2
This commit removes many logs that just show memory addresses, indices,
etc., which, I presume, do not mean anything to the "average user" and
developers alike.
2024-10-29 16:36:13 +01:00
Robert Schmidt 3da3ec1907 Resolve error "unknown type name"
Resolve error:

   nfapi/oai_integration/aerial/fapi_nvIPC.h:56:16: error: unknown type name ‘nvipc_params_t’
   56 | int nvIPC_Init(nvipc_params_t nvipc_params_s);

By including the header. Also, move the definiton of the struct to the
MAC, where it is actually stored, and out of the radio common_lib.h,
since this is not a radio (split 7/8) parameter.
2024-10-10 16:02:29 +02:00
Robert Schmidt 35174d7917 Remove useless code
We don't use CUDA (see previous commit). Further, the variables
referenced in this piece of code are not used later.
2024-10-10 16:02:29 +02:00
Robert Schmidt da5601b8bf Remove code enclosed in NVIPC_CUDA_ENABLE
When compiling aerial, we compile without CUDA support (see e.g.,
docker/Dockerfile.gNB.aerial.ubuntu22). Hence, do not check for it in
aerial for the moment, we won't use it for the foreseeable future.
2024-10-10 16:02:29 +02:00
Robert Schmidt c648dfd078 Bugfix: preamble_list is an array
Since commit e6e25275ed, preamble_list is
an array, not a pointer. Hence, we don't need to call free().
2024-10-10 16:02:29 +02:00
Robert Schmidt c945bef2f1 Remove check for NFAPI_MODE_AERIAL, it's pointless
In Aerial bindings (FAPI-Aerial), the NFAPI mode must be
NFAPI_MODE_AERIAL (otherwise, we would not be executing this code).
Hence, the switches don't make sense. Remove them.

The check can more easily be checked with

    git show <commit> --ignore-all-space
2024-10-10 16:02:29 +02:00
Robert Schmidt f2f08ac52a Remove ENABLE_AERIAL switch in aerial bindings
As is visible at the top of the patch, for compiling aerial_lib (the
binding FAPI-Aerial), we always add ENABLE_AERIAL. Thus, all the code
within ENABLE_AERIAL will be compiled; we can also simply take it out.
2024-10-10 16:02:29 +02:00
Robert Schmidt e04ed98994 Remove unused code 2024-10-10 16:02:29 +02:00
Rúben Soares Silva 0609d31dc7 Only copy RX_DATA.indication pdu if there's data 2024-10-10 16:02:29 +02:00
Robert SchmidtandRúben Soares Silva 83838962fd Aerial: Avoid superfluous memcpy(), reduce scope
We can directly read from buffers, so the memcpy() only takes time.
Also, limit the scope of the variables for the unpacking of
RX_DATA.indication.

Co-authored-by: Rúben Soares Silva <rsilva@allbesmart.pt>
2024-10-10 16:01:29 +02:00
Robert Schmidt 1a97aa359e aerial_phy_nr_srs_indication(): implement without relying on L1 structures 2024-10-10 16:00:39 +02:00
Robert Schmidt 77d62cbf57 Remove aerial_phy_nrach_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt d91e80beba Remove aerial_phy_nb_harq_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt 8150328353 Remove aerial_phy_lbt_dl_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt f1cbbc9f83 Remove aerial_phy_sr_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 88d548fbc2 Remove aerial_phy_cqi_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 17ed5d345e Remove aerial_phy_srs_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 8888a6bd70 Remove aerial_phy_harq_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 24c8e6c5c1 Remove aerial_phy_sync_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 3b4df11078 Remove aerial_phy_slot_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
francescomani d04a83ea93 defs_gNB cleanup 2024-08-29 08:54:42 +02:00
Jaroslava Fiedlerova 561119a2d6 Merge remote-tracking branch 'origin/cleanup-nr-ue-executable' into integration_2024_w29 2024-07-22 08:25:18 +02:00
Bartosz Podrygajlo dc91550e2c Remove unused flag single_thread_flag from softmodems. 2024-07-18 09:31:29 +02:00
Florian Kaltenberger 2bee8edcab making nvIPC thread more configurable + cleanup
making aerial shm prefix configurable (so we can use muliptle VNFs per PNF)
making the nvipc thread affinity configurable and using threadCreate.
removing aerial_vnf_nr_aerial_p7_start_thread
2024-07-16 17:27:50 -04:00
Robert Schmidt e72d50bfd6 Merge remote-tracking branch 'origin/nFAPI_P5_Common' into integration_2024_w26b 2024-07-01 20:42:49 +02:00
Rúben Soares Silva 4033606fff Increase TX_DATA.request TB buffer size to be allocated in the stack with 2MB, fix compute_PDU_Length to not truncate value and fix packing procedure to use buffer size as the upper limit instead of hardcoded value 2024-06-25 13:50:53 +01:00
Rúben Soares Silva da9fe96efc Move general FAPI P5 message pack procedure from fapi_vnf_p5 into FAPI P5 library.
Implement FAPI P5 message unpack, as well as message length check function procedure in FAPI P5 library.
Update check_nr_unpack_length in nfapi_p5.c to reference FAPI P5 message length check function.
2024-06-25 11:53:38 +01:00
Rúben Soares da Silva 350746f4f6 Creation of empty FAPI P5 library in preparation for separation of related functions
Note: nr_fapi_p5 dependence in NFAPI_USER_LIB will be removed in a later commit
2024-06-24 15:06:59 +01:00
Rúben Soares da Silva e8bb01579d aerial_lib: include header instead of source file
Expose needed (n)FAPI procedures to aerial_lib ( both P5 and P7 ) via a
header file.
Move (n)FAPI P7 packing/unpacking function interface into separate header file
Include needed headers in aerial_lib
2024-06-24 14:52:40 +01:00
Rúben Soares da Silva 4384ea2b59 Properly add compile definitions related to aerial_lib into targets that depend on it ( ENABLE_AERIAL )
Add target_compile_definitions to L2_NR library in order to propagate #define in gnb_config.c
2024-06-24 14:51:48 +01:00
Reem Bahsoun 6cfb5b7ace prevents thread from being pinned to core 8, to avoid L2 L1 overlap 2024-06-10 14:31:35 +02:00
Robert Schmidt 8dc29be02f Remove unused set_priority()/set_thread_priority() 2024-06-03 14:00:49 +02:00
Robert Schmidt 973d13937d VNF: use threadCreate() to create P7 thread
Use common threadCreate() function to create P7 thread with high(er)
priority. Remove old calls to set_priority(), as this is already done
with threadCreate().
2024-06-03 14:00:49 +02:00
Robert Schmidt 811721bb72 PNF: use threadCreate() to create P7 thread
Use common threadCreate() function to create P7 thread with high(er)
priority. Remove old calls to set_priority(), as this is already done
with threadCreate().
2024-06-03 14:00:49 +02:00
Robert Schmidt 5ae7d6685a Aerial: use threadCreate() to create P7 thread
Use common threadCreate() function to create P7 thread with high(er)
priority. Remove old calls to set_priority(), as this is already done
with threadCreate().
2024-06-03 14:00:49 +02:00
Rúben Soares da Silva dd93181951 Replace unneeded memcpy for sr_payload
Set appropriate length for csi payload calloc and memcpy, according to bit_len
2024-05-24 17:26:28 +01:00
Rúben Soares da Silva d27d193339 Fix P5 messages memory leaks ( CONFIG.request / CONFIG.response ) 2024-05-24 17:26:16 +01:00
Rúben Soares da Silva f6a039f38b Fix memory leak related to UCI.indication and RACH.indication 2024-05-24 14:49:45 +01:00
Rúben Soares da Silva 48ed7fba0d Fix memory leak related to CRC.indication and RACH.indication 2024-05-24 14:49:45 +01:00
Rúben Soares da Silva a516a632d4 Fix memory leak related to RX_DATA.indication message 2024-05-24 14:49:45 +01:00
Rúben Soares da Silva 8a8b38ae70 Fix memory leak related to SLOT.response message 2024-05-24 14:49:45 +01:00
Rúben Soares da Silva b215a60a3b Fix memory leak related to fapi_phy_api_msg fapi_msg 2024-05-24 14:49:45 +01:00