SCF 222.10.02, Table 3-35: the PDUSize parameter of a DL_TTI.request PDU
includes the 4 bytes required for PDUType and PDUSize parameters (each 2
bytes), not 2.
This is required for the Aerial interoperability.
PDU Length is as per SCF 222.10.02: The total length (in bytes) of the
PDU description and PDU data, without the padding bytes. From
TX_DATA.request we get 8 (2 bytes PDU_Length + 2 bytes PDU_Index + 4
bytes num_TLV ) and from each TLV we get 4 + value size ( 2 bytes tag +
2 bytes length + value size without pading)
Therefore, add function to compute PDU_length() value for
TX_Data.request, taking into account how many TLVs there are.
compute_PDU_length() does not rely on access to `nfapi_nr_pdu_t`.
Put it into nr_mac_common.c to avoid introducing dependencies.
- Remove calloc from convert_csirs_pdu function, change return value
from 'nfapi_nr_dl_tti_csi_rs_pdu_rel15_t *' to
'nfapi_nr_dl_tti_csi_rs_pdu_rel15_t' to not require call to 'free()'
- Set parameter pointer as const as it's not modified
- Remove cast to fapi_nr_dl_config_csirs_pdu_rel15_t in csi_rx.c as
ue->csirs_vars[gNB_id]->csirs_config_pdu is already of type
fapi_nr_dl_config_csirs_pdu_rel15_t.
- Remove casted parameter in call to convert_csirs_pdu and replace with
csirs_config_pdu obtained earlier from
ue->csirs_vars[gNB_id]->csirs_config_pdu.
Create function to obtain nfapi_nr_dl_tti_csi_rs_pdu_rel15_t from fapi_nr_dl_config_csirs_pdu_rel15_t without bwp_size and bwp_start.
Replace previously problematic cast with call to created function.
Creation and usage of packing/unpacking functions for DCI payload
Update Proxy commit id for CI
Apply formatting on changed functions and fix pull/push return value checking
- Fix 4G and 5G discrepancy in TLV padding requirements: 4G does not
need padding, whereas 5G needs, so make separate set of function for
padding for NR
- Fix packing/unpacking for (n)FAPI PARAM and CONFIG.request/response
messages
- Handle message padding to next 32-bit boundary, as per SCF
specification in packing and unpacking functions
- Account for message header size upon receiving message in PNF and VNF
- previously, used magic numbers to designate nFAPI mode
- now, use string values (MONOLITHIC, PNF, VNF, ...)
- Remove printing of the nfapi mode to the console, as it's value is clear from the command-line argument
- Update usages of the --nfapi command-line parameter in scripts and documentation to reflect the change to string values