Compare commits

...

15 Commits

Author SHA1 Message Date
Raymond Knopp
08efd62084 Merge branch 'testing-rk' of https://gitlab.eurecom.fr/oai/openairinterface5g into testing-rk 2023-01-30 11:25:13 +01:00
Raymond Knopp
4271c5331d fix for n_TimingAdvanceOffset in configuration 2023-01-30 11:24:39 +01:00
Raymond.Knopp
7497e32bf2 memory allocation issue in IF5 interface 2023-01-24 21:01:38 +01:00
Eurecom
2c1df40e2d build for RH9.1 2022-12-27 11:54:25 +01:00
Raymond Knopp
7a81c56fbf Merge remote-tracking branch 'origin/NR_remove_limitation_p_NR_FR1' into testing-rk 2022-12-15 22:58:04 +01:00
Raymond Knopp
cc1449005f Merge remote-tracking branch 'origin/develop' into testing-rk 2022-12-15 22:51:21 +01:00
Robert Schmidt
c3d01306de CI: fix type in cluster build script 2022-12-14 09:42:38 +01:00
Raymond Knopp
a3f2d8acc6 Merge remote-tracking branch 'origin/develop' into testing-rk 2022-12-12 10:17:11 +01:00
Raymond Knopp
277e7d4712 put Devassert back in gNB_scheduler_uci.c 2022-12-11 21:29:07 +01:00
Raymond Knopp
4acf55cbf1 tracing 2022-12-11 17:59:53 +01:00
Raymond Knopp
b4d04b1f35 Merge branch 'develop' into nr_rrc_data_req-hotfix 2022-12-11 15:56:25 +01:00
Raymond Knopp
c101e11ffa Merge remote-tracking branch 'origin/t-reordering-gt-0' into nr_rrc_data_req-hotfix 2022-12-07 23:00:19 +01:00
Robert Schmidt
4412a2d318 Set t-Reordering to 100ms to prevent packet loss 2022-12-06 10:22:02 +01:00
Raymond Knopp
3677655a58 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop
Conflicts:
	openair2/RRC/NR/rrc_gNB.c
2022-12-06 09:05:26 +01:00
Raymond Knopp
8345aa4403 testing of xer_print removal in RRC 2022-12-03 15:44:49 +01:00
14 changed files with 27 additions and 16 deletions

View File

@@ -70,7 +70,7 @@ class Cluster:
regres2 = re.search(r"/etc/pki/entitlement/[0-9]+-key.pem", sshSession.getBefore())
if regres1 is None or regres2 is None:
logging.error("could not find entitlements")
return false
return False
file1 = regres1.group(0)
file2 = regres2.group(0)
sshSession.command(f'oc create secret generic etc-pki-entitlement --from-file {file1} --from-file {file2}', '\$', 5)

View File

@@ -122,6 +122,7 @@ check_supported_distribution() {
"rhel8.6") return 0 ;;
"rhel8.7") return 0 ;;
"rhel9.0") return 0 ;;
"rhel9.1") return 0 ;;
"centos7") return 0 ;;
"centos8") return 0 ;;
esac

View File

@@ -112,7 +112,7 @@
#define NR_LDPC_ENABLE_PARITY_CHECK
//#define NR_LDPC_PROFILER_DETAIL
#define NR_LDPC_PROFILER_DETAIL
#ifdef NR_LDPC_DEBUG_MODE
#include "nrLDPC_tools/nrLDPC_debug.h"

View File

@@ -189,7 +189,7 @@
#define SCCPARAMS_DESC(scc) { \
{GNB_CONFIG_STRING_PHYSCELLID,NULL,0,i64ptr:scc->physCellId,defint64val:0,TYPE_INT64,0/*0*/}, \
{GNB_CONFIG_STRING_NTIMINGADVANCEOFFSET,NULL,0,i64ptr:scc->n_TimingAdvanceOffset,defint64val:NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0,TYPE_INT64,0/*1*/},\
{GNB_CONFIG_STRING_NTIMINGADVANCEOFFSET,NULL,0,i64ptr:scc->n_TimingAdvanceOffset,defint64val:NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n25600,TYPE_INT64,0/*1*/},\
{GNB_CONFIG_STRING_SSBPERIODICITYSERVINGCELL,NULL,0,i64ptr:scc->ssb_periodicityServingCell,defint64val:NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20,TYPE_INT64,0/*2*/},\
{GNB_CONFIG_STRING_DMRSTYPEAPOSITION,NULL,0,i64ptr:&scc->dmrs_TypeA_Position,defint64val:NR_ServingCellConfigCommon__dmrs_TypeA_Position_pos2,TYPE_INT64,0/*3*/},\
{GNB_CONFIG_STRING_SUBCARRIERSPACING,NULL,0,i64ptr:scc->ssbSubcarrierSpacing,defint64val:NR_SubcarrierSpacing_kHz30,TYPE_INT64,0/*4*/},\

View File

@@ -120,6 +120,7 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
scc->tdd_UL_DL_ConfigurationCommon = CALLOC(1,sizeof(struct NR_TDD_UL_DL_ConfigCommon));
scc->tdd_UL_DL_ConfigurationCommon->pattern2 = CALLOC(1,sizeof(struct NR_TDD_UL_DL_Pattern));
scc->n_TimingAdvanceOffset=CALLOC(1,sizeof(*scc->n_TimingAdvanceOffset));
scc->downlinkConfigCommon->frequencyInfoDL->absoluteFrequencySSB = CALLOC(1,sizeof(NR_ARFCN_ValueNR_t));
dl_frequencyBandList = CALLOC(1,sizeof(NR_FreqBandIndicatorNR_t));

View File

@@ -884,6 +884,7 @@ void nr_get_Msg3alloc(module_id_t module_id,
int NrOfSymbols = 0;
int startSymbolAndLength = 0;
int abs_slot = 0;
int Msg3maxsymb=14,Msg3start=0;
ra->Msg3_tda_id = 16; // initialization to a value above limit
NR_PUSCH_TimeDomainResourceAllocationList_t *pusch_TimeDomainAllocationList = ul_bwp->tdaList;
@@ -895,20 +896,24 @@ void nr_get_Msg3alloc(module_id_t module_id,
int msg3_slot = tdd->nrofDownlinkSlots; // first uplink slot
if (tdd->nrofUplinkSymbols > 0 && tdd->nrofUplinkSymbols < 3)
msg3_slot++; // we can't trasmit msg3 in mixed slot if there are less than 3 symbols
else {
Msg3maxsymb = tdd->nrofUplinkSymbols;
Msg3start = 14-tdd->nrofUplinkSymbols;
}
const int nb_periods_per_frame = get_nb_periods_per_frame(tdd->dl_UL_TransmissionPeriodicity);
const int nb_slots_per_period = ((1<<mu)*10)/nb_periods_per_frame;
for (int i=0; i<pusch_TimeDomainAllocationList->list.count; i++) {
startSymbolAndLength = pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength;
SLIV2SL(startSymbolAndLength, &StartSymbolIndex, &NrOfSymbols);
k2 = *pusch_TimeDomainAllocationList->list.array[i]->k2;
int start_symbol_index,nr_of_symbols;
SLIV2SL(pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength, &start_symbol_index, &nr_of_symbols);
LOG_D(NR_MAC,"Checking Msg3 TDA %d : k2 %d, sliv %d,S %d L %d\n",i,(int)k2,(int)pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength,start_symbol_index,nr_of_symbols);
LOG_I(NR_MAC,"Checking Msg3 TDA %d for Msg3_slot %d Msg3_start %d Msg3_nsymb %d: k2 %d, sliv %d,S %d L %d\n",i,msg3_slot,Msg3start,Msg3maxsymb,(int)k2,(int)pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength,StartSymbolIndex,NrOfSymbols);
// we want to transmit in the uplink symbols of mixed slot or the first uplink slot
abs_slot = (current_slot + k2 + DELTA[mu]);
int temp_slot = abs_slot % nr_slots_per_frame[mu]; // msg3 slot according to 8.3 in 38.213
if ((temp_slot % nb_slots_per_period) == msg3_slot &&
is_xlsch_in_slot(RC.nrmac[module_id]->ulsch_slot_bitmap[temp_slot / 64], temp_slot)) {
is_xlsch_in_slot(RC.nrmac[module_id]->ulsch_slot_bitmap[temp_slot / 64], temp_slot) &&
StartSymbolIndex==Msg3start &&
NrOfSymbols<=Msg3maxsymb) {
ra->Msg3_tda_id = i;
ra->msg3_startsymb = StartSymbolIndex;
ra->msg3_nrsymb = NrOfSymbols;

View File

@@ -168,6 +168,8 @@ void nr_schedule_pucch(gNB_MAC_INST *nrmac,
NR_sched_pucch_t *curr_pucch = &UE->UE_sched_ctrl.sched_pucch[pucch_index];
if (!curr_pucch->active)
continue;
LOG_D(NR_MAC,"Scheduling PUCCH[%d] RX for UE %04x in %4d.%2d (pucch %4d.%2d)\n",
pucch_index,UE->rnti,frameP,slotP,curr_pucch->frame,curr_pucch->ul_slot);
DevAssert(frameP == curr_pucch->frame && slotP == curr_pucch->ul_slot);
const uint16_t O_ack = curr_pucch->dai_c;

View File

@@ -126,7 +126,7 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity,
if (rcvd_count < entity->rx_deliv
|| nr_pdcp_sdu_in_list(entity->rx_list, rcvd_count)) {
LOG_W(PDCP, "discard NR PDU rcvd_count=%d, entity->rx_deliv %d,sdu_in_list %d\n", rcvd_count,entity->rx_deliv,nr_pdcp_sdu_in_list(entity->rx_list,rcvd_count));
LOG_D(PDCP, "discard NR PDU rcvd_count=%d, entity->rx_deliv %d,sdu_in_list %d\n", rcvd_count,entity->rx_deliv,nr_pdcp_sdu_in_list(entity->rx_list,rcvd_count));
entity->stats.rxpdu_dd_pkts++;
entity->stats.rxpdu_dd_bytes += size;

View File

@@ -491,8 +491,11 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
UL->timeAlignmentTimerCommon = NR_TimeAlignmentTimer_infinity;
ServCellCom->n_TimingAdvanceOffset = configuration->scc->n_TimingAdvanceOffset;
LOG_I(RRC,"n-TimingAdvanceOffset %d\n",*configuration->scc->n_TimingAdvanceOffset);
if (configuration->scc->n_TimingAdvanceOffset) {
ServCellCom->n_TimingAdvanceOffset = calloc(1,sizeof(*ServCellCom->n_TimingAdvanceOffset));
*ServCellCom->n_TimingAdvanceOffset = *configuration->scc->n_TimingAdvanceOffset;
}
ServCellCom->ssb_PositionsInBurst.inOneGroup.buf = calloc(1, sizeof(uint8_t));
uint8_t bitmap8,temp_bitmap=0;
switch (configuration->scc->ssb_PositionsInBurst->present) {
@@ -1560,7 +1563,7 @@ int16_t do_RRCReconfiguration(
(void *)&dl_dcch_msg,
buffer,
buffer_size);
LOG_W(NR_RRC,"do_RRCReconfiguration enc_rval.encoded %d\n",enc_rval.encoded);
if(enc_rval.encoded == -1) {
LOG_I(NR_RRC, "[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);

View File

@@ -662,7 +662,7 @@ rrc_gNB_generate_defaultRRCReconfiguration(
NULL,
ue_p->masterCellGroup);
AssertFatal(size > 0, "cannot encode RRCReconfiguration in %s()\n", __func__);
LOG_W(RRC, "do_RRCReconfiguration(): size %d\n", size);
LOG_W(NR_RRC, "do_RRCReconfiguration(): size %d\n", size);
if (LOG_DEBUGFLAG(DEBUG_ASN1)) {
xer_fprint(stdout, &asn_DEF_NR_CellGroupConfig, ue_p->masterCellGroup);

View File

@@ -116,7 +116,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *ue,
DRB_config->pdcp_Config->moreThanOneRLC = NULL;
DRB_config->pdcp_Config->t_Reordering = calloc(1, sizeof(*DRB_config->pdcp_Config->t_Reordering));
*DRB_config->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms0;
*DRB_config->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms100;
DRB_config->pdcp_Config->ext1 = NULL;
if (do_drb_integrity) {

View File

@@ -498,7 +498,7 @@ void fill_default_rbconfig(NR_RadioBearerConfig_t *rbconfig,
drb_ToAddMod->pdcp_Config->moreThanOneRLC = NULL;
drb_ToAddMod->pdcp_Config->t_Reordering = calloc(1,sizeof(*drb_ToAddMod->pdcp_Config->t_Reordering));
*drb_ToAddMod->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms0;
*drb_ToAddMod->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms100;
drb_ToAddMod->pdcp_Config->ext1 = NULL;
ASN_SEQUENCE_ADD(&rbconfig->drb_ToAddModList->list,drb_ToAddMod);

View File

@@ -22,7 +22,6 @@
#include <unistd.h>
#include <errno.h>
#include <linux/sysctl.h>
#include <sys/sysctl.h>
#include <pthread.h>
#include "common_lib.h"

View File

@@ -417,7 +417,7 @@ extern int oai_exit;
void *udp_write_thread(void *arg) {
udp_ctx_t *utx = (udp_ctx_t *)arg;
utx->resp = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_elt_t));
utx->resp = (notifiedFIFO_t*) malloc(sizeof(*utx->resp));
initNotifiedFIFO(utx->resp);
LOG_D(PHY,"UDP write thread started on core %d\n",sched_getcpu());
reset_meas(&utx->device->tx_fhaul);