Merge remote-tracking branch 'origin/fix_sdap' into integration_2022_wk32
This commit is contained in:
@@ -33,6 +33,7 @@ gNBs =
|
|||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
min_rxtxtime = 6;
|
min_rxtxtime = 6;
|
||||||
|
enable_sdap = 1;
|
||||||
|
|
||||||
pdcch_ConfigSIB1 = (
|
pdcch_ConfigSIB1 = (
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-f1</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-f1</htmlTabRef>
|
||||||
<htmlTabName>Testing 5G NR RF sim in containers - CU-DU F1 split</htmlTabName>
|
<htmlTabName>CU-DU F1 split</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100021
|
100021
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-down-f1</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-down-f1</htmlTabRef>
|
||||||
<htmlTabName>CleanUp 5G RF - CU-DU F1 split</htmlTabName>
|
<htmlTabName>CleanUp CU-DU F1 split</htmlTabName>
|
||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100022
|
100022
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-fdd</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-fdd</htmlTabRef>
|
||||||
<htmlTabName>Testing 5G NR RF sim - Monolithic FDD gNB</htmlTabName>
|
<htmlTabName>Monolithic FDD gNB with SDAP</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>4</repeatCount>
|
<repeatCount>4</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-fdd-down</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-fdd-down</htmlTabRef>
|
||||||
<htmlTabName>CleanUp 5G RF - Monolithic FDD gNB</htmlTabName>
|
<htmlTabName>CleanUp Monolithic FDD gNB with SDAP</htmlTabName>
|
||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100012
|
100012
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-tdd</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-tdd</htmlTabRef>
|
||||||
<htmlTabName>Testing 5G NR RF sim - Monolithic TDD gNB</htmlTabName>
|
<htmlTabName>Monolithic TDD gNB</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>4</repeatCount>
|
<repeatCount>4</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
-->
|
-->
|
||||||
<testCaseList>
|
<testCaseList>
|
||||||
<htmlTabRef>rfsim-5gnr-down</htmlTabRef>
|
<htmlTabRef>rfsim-5gnr-down</htmlTabRef>
|
||||||
<htmlTabName>CleanUp 5G RF - Monolithic TDD gNB</htmlTabName>
|
<htmlTabName>CleanUp Monolithic TDD gNB</htmlTabName>
|
||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100002
|
100002
|
||||||
|
|||||||
@@ -484,12 +484,12 @@ static void *ue_tun_read_thread(void *_)
|
|||||||
ctxt.rnti = rnti;
|
ctxt.rnti = rnti;
|
||||||
|
|
||||||
bool dc = SDAP_HDR_UL_DATA_PDU;
|
bool dc = SDAP_HDR_UL_DATA_PDU;
|
||||||
uint8_t qfi = 7;
|
extern uint8_t nas_qfi;
|
||||||
int pdusession_id = 10;
|
extern uint8_t nas_pduid;
|
||||||
|
|
||||||
sdap_data_req(&ctxt, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED,
|
sdap_data_req(&ctxt, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED,
|
||||||
RLC_SDU_CONFIRM_NO, len, (unsigned char *)rx_buf,
|
RLC_SDU_CONFIRM_NO, len, (unsigned char *)rx_buf,
|
||||||
PDCP_TRANSMISSION_MODE_DATA, NULL, NULL, qfi, dc, pdusession_id);
|
PDCP_TRANSMISSION_MODE_DATA, NULL, NULL, nas_qfi, dc, nas_pduid);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -591,8 +591,10 @@ uint64_t nr_pdcp_module_init(uint64_t _pdcp_optmask, int id)
|
|||||||
int num_if = (NFAPI_MODE == NFAPI_UE_STUB_PNF || IS_SOFTMODEM_SIML1 || NFAPI_MODE == NFAPI_MODE_STANDALONE_PNF)? MAX_MOBILES_PER_ENB : 1;
|
int num_if = (NFAPI_MODE == NFAPI_UE_STUB_PNF || IS_SOFTMODEM_SIML1 || NFAPI_MODE == NFAPI_MODE_STANDALONE_PNF)? MAX_MOBILES_PER_ENB : 1;
|
||||||
netlink_init_tun(ifsuffix_ue, num_if, id);
|
netlink_init_tun(ifsuffix_ue, num_if, id);
|
||||||
//Add --nr-ip-over-lte option check for next line
|
//Add --nr-ip-over-lte option check for next line
|
||||||
if (IS_SOFTMODEM_NOS1)
|
if (IS_SOFTMODEM_NOS1){
|
||||||
nas_config(1, 1, !get_softmodem_params()->nsa ? 2 : 3, ifsuffix_ue);
|
nas_config(1, 1, !get_softmodem_params()->nsa ? 2 : 3, ifsuffix_ue);
|
||||||
|
set_qfi_pduid(7, 10);
|
||||||
|
}
|
||||||
LOG_I(PDCP, "UE pdcp will use tun interface\n");
|
LOG_I(PDCP, "UE pdcp will use tun interface\n");
|
||||||
start_pdcp_tun_ue();
|
start_pdcp_tun_ue();
|
||||||
} else if(ENB_NAS_USE_TUN) {
|
} else if(ENB_NAS_USE_TUN) {
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
|
|
||||||
#include "nr_sdap.h"
|
#include "nr_sdap.h"
|
||||||
|
|
||||||
|
uint8_t nas_qfi;
|
||||||
|
uint8_t nas_pduid;
|
||||||
|
|
||||||
bool sdap_data_req(protocol_ctxt_t *ctxt_p,
|
bool sdap_data_req(protocol_ctxt_t *ctxt_p,
|
||||||
const srb_flag_t srb_flag,
|
const srb_flag_t srb_flag,
|
||||||
const rb_id_t rb_id,
|
const rb_id_t rb_id,
|
||||||
@@ -84,3 +87,9 @@ void sdap_data_ind(rb_id_t pdcp_entity,
|
|||||||
buf,
|
buf,
|
||||||
size);
|
size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_qfi_pduid(uint8_t qfi, uint8_t pduid){
|
||||||
|
nas_qfi = qfi;
|
||||||
|
nas_pduid = pduid;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|||||||
@@ -62,4 +62,6 @@ void sdap_data_ind(rb_id_t pdcp_entity,
|
|||||||
int size
|
int size
|
||||||
);
|
);
|
||||||
|
|
||||||
|
void set_qfi_pduid(uint8_t qfi, uint8_t pduid);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
#include <openair3/NAS/COMMON/NR_NAS_defs.h>
|
#include <openair3/NAS/COMMON/NR_NAS_defs.h>
|
||||||
#include <openair1/PHY/phy_extern_nr_ue.h>
|
#include <openair1/PHY/phy_extern_nr_ue.h>
|
||||||
#include <openair1/SIMULATION/ETH_TRANSPORT/proto.h>
|
#include <openair1/SIMULATION/ETH_TRANSPORT/proto.h>
|
||||||
|
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||||
|
|
||||||
uint8_t *registration_request_buf;
|
uint8_t *registration_request_buf;
|
||||||
uint32_t registration_request_len;
|
uint32_t registration_request_len;
|
||||||
@@ -915,7 +916,7 @@ void *nas_nrue_task(void *args_p)
|
|||||||
payload_container = pdu_buffer + offset;
|
payload_container = pdu_buffer + offset;
|
||||||
}
|
}
|
||||||
offset = 0;
|
offset = 0;
|
||||||
|
uint8_t pdu_id = *(pdu_buffer+14);
|
||||||
while(offset < payload_container_length) {
|
while(offset < payload_container_length) {
|
||||||
// Fixme: this is not good 'type' 0x29 searching in TLV like structure
|
// Fixme: this is not good 'type' 0x29 searching in TLV like structure
|
||||||
// AND fix dirsty code copy hereafter of the same!!!
|
// AND fix dirsty code copy hereafter of the same!!!
|
||||||
@@ -929,9 +930,13 @@ void *nas_nrue_task(void *args_p)
|
|||||||
*(payload_container+offset+3), *(payload_container+offset+4),
|
*(payload_container+offset+3), *(payload_container+offset+4),
|
||||||
*(payload_container+offset+5), *(payload_container+offset+6));
|
*(payload_container+offset+5), *(payload_container+offset+6));
|
||||||
nas_config(1,third_octet,fourth_octet,"oaitun_ue");
|
nas_config(1,third_octet,fourth_octet,"oaitun_ue");
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (*(payload_container + offset) == 0x79) {
|
||||||
|
uint8_t qfi = *(payload_container+offset+3);
|
||||||
|
set_qfi_pduid(qfi, pdu_id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
offset++;
|
offset++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user