Change PDU_Length and TLV length calculation to be inline with SCF 222.10.02
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.
This commit is contained in:
committed by
Robert Schmidt
parent
9127258a54
commit
bfd12e4aa0
@@ -1464,12 +1464,14 @@ typedef enum {
|
||||
|
||||
//table 3-58
|
||||
#define NFAPI_NR_MAX_TX_REQUEST_TLV 2
|
||||
typedef struct
|
||||
{
|
||||
uint16_t PDU_length;
|
||||
typedef struct {
|
||||
uint16_t PDU_length; // SCF 222.10.02 The total length (in bytes) of the PDU description and PDU data, without the padding bytes.
|
||||
// (2 bytes PDU_Length + 2 bytes PDU_Index + 4 bytes num_TLV + TLV size ( 2 bytes tag + 2 bytes length +
|
||||
// value size without padding))
|
||||
// TBS + 12
|
||||
uint16_t PDU_index;
|
||||
uint32_t num_TLV;
|
||||
nfapi_nr_tx_data_request_tlv_t TLVs[NFAPI_NR_MAX_TX_REQUEST_TLV];
|
||||
nfapi_nr_tx_data_request_tlv_t TLVs[NFAPI_NR_MAX_TX_REQUEST_TLV];
|
||||
|
||||
} nfapi_nr_pdu_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user