Commit 195baf2a authored by Stone WU's avatar Stone WU Committed by jperaldi

bug #124357:[OAI][eNB]Fix 3 cells running stuck issue

parent 44795fed
...@@ -864,10 +864,9 @@ if ($ENV{NR_ENABLE}) ...@@ -864,10 +864,9 @@ if ($ENV{NR_ENABLE})
add_integer_option(MAX_NUM_CCs 1 "????") add_integer_option(MAX_NUM_CCs 1 "????")
Message("Cell configuration for NR is 1. MULTI CELLS NOT IMPLEMENTED") Message("Cell configuration for NR is 1. MULTI CELLS NOT IMPLEMENTED")
else() else()
add_integer_option(MAX_NUM_CCs 2 "????") add_integer_option(MAX_NUM_CCs 3 "????")
Message("Cell configuration for LTE is ${MAX_NUM_CCs}: MULTI CELLS IS IMPLEMENTED") Message("Cell configuration for LTE is ${MAX_NUM_CCs}: MULTI CELLS IS IMPLEMENTED")
endif() endif()
add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator") add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator")
add_boolean_option(DEBUG_PHY False "Enable PHY layer debugging options") add_boolean_option(DEBUG_PHY False "Enable PHY layer debugging options")
add_boolean_option(DEBUG_PHY_PROC False "Enable debugging of PHY layer procedures") add_boolean_option(DEBUG_PHY_PROC False "Enable debugging of PHY layer procedures")
......
...@@ -1722,8 +1722,8 @@ int start_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_start_response_t ...@@ -1722,8 +1722,8 @@ int start_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_start_response_t
phy_info *phy = pnf->phys; phy_info *phy = pnf->phys;
vnf_p7_info *p7_vnf = vnf->p7_vnfs; vnf_p7_info *p7_vnf = vnf->p7_vnfs;
uint16_t port =htons(phy->remote_port); uint16_t port =htons(phy->remote_port);
char *remote_addr = (char *) malloc(strlen(phy->remote_addr)); char *remote_addr = (char *) malloc(strlen(phy->remote_addr)+1);
memset(remote_addr, 0, strlen(phy->remote_addr)); memset(remote_addr, 0, strlen(phy->remote_addr)+1);
strncpy(remote_addr, phy->remote_addr, strlen(phy->remote_addr)); strncpy(remote_addr, phy->remote_addr, strlen(phy->remote_addr));
for(int i=0; i < pnf->num_phys; i++ ) for(int i=0; i < pnf->num_phys; i++ )
{ {
......
...@@ -984,7 +984,8 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, ...@@ -984,7 +984,8 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, ENB_FLAG_YES, NOT_A_RNTI, frameP, subframeP, module_idP); PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, ENB_FLAG_YES, NOT_A_RNTI, frameP, subframeP, module_idP);
rlc_tick(frameP, subframeP); rlc_tick(frameP, subframeP);
pdcp_run(&ctxt); pdcp_run(&ctxt);
pdcp_mbms_run(&ctxt); //TODO: comment here for workaround as something wrong make tun read block
//pdcp_mbms_run(&ctxt);
rrc_rx_tx(&ctxt, CC_id); rrc_rx_tx(&ctxt, CC_id);
} }
#endif #endif
......
...@@ -1378,12 +1378,13 @@ initiate_ra_proc(module_id_t module_idP, ...@@ -1378,12 +1378,13 @@ initiate_ra_proc(module_id_t module_idP,
ra[i].Msg2_subframe = (subframeP + offset) % 10; ra[i].Msg2_subframe = (subframeP + offset) % 10;
/* TODO: find better procedure to allocate RNTI */ /* TODO: find better procedure to allocate RNTI */
set_taus_seed(0); //TODO: add workaround here (set_taus_seed already called at begining of main,but something goes wrong when built with 3 cells)
do { do {
if (IS_SOFTMODEM_IQPLAYER) { /* iq player mode, use deterministic rnti */ if (IS_SOFTMODEM_IQPLAYER) { /* iq player mode, use deterministic rnti */
static int drnti[MAX_MOBILES_PER_ENB]; static int drnti[MAX_MOBILES_PER_ENB];
static int drnti_def[]={ 0xbda7, 0x71da, 0x9c40, 0xc350, 0x2710, 0x4e20, 0x7530, 0x1388, 0x3a98, 0x61a8, 0x88b8, 0xafc8, 0xd6d8, 0x1b58, 0x4268, 0x6978 }; static int drnti_def[]={ 0xbda7, 0x71da, 0x9c40, 0xc350, 0x2710, 0x4e20, 0x7530, 0x1388, 0x3a98, 0x61a8, 0x88b8, 0xafc8, 0xd6d8, 0x1b58, 0x4268, 0x6978 };
for (int j=0; j<MAX_MOBILES_PER_ENB && j< (sizeof(drnti_def)/sizeof(int));j++) for (int j=0; j<MAX_MOBILES_PER_ENB && j< (sizeof(drnti_def)/sizeof(int));j++)
drnti[i]=drnti_def[i]; drnti[j]=drnti_def[j];
int nb_ue = 0; int nb_ue = 0;
...@@ -1403,6 +1404,7 @@ initiate_ra_proc(module_id_t module_idP, ...@@ -1403,6 +1404,7 @@ initiate_ra_proc(module_id_t module_idP,
ra[i].rnti = drnti[nb_ue]; ra[i].rnti = drnti[nb_ue];
} else { } else {
ra[i].rnti = taus(); ra[i].rnti = taus();
LOG_D(MAC, "[RAPROC] try rnti:0x%x\n",ra[i].rnti);
} }
loop++; loop++;
} while (loop != 100 && } while (loop != 100 &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment