mirror of https://github.com/PentHertz/srsLTE.git
Using PDCP entity lte instead of nr for nr bearer
This commit is contained in:
parent
517208a6bc
commit
8f49b92760
|
@ -111,9 +111,48 @@ srslte::pdcp_config_t make_drb_pdcp_config_t(const uint8_t bearer_id, bool is_ue
|
|||
case 10:
|
||||
discard_timer = pdcp_discard_timer_t::ms10;
|
||||
break;
|
||||
case 20:
|
||||
discard_timer = pdcp_discard_timer_t::ms20;
|
||||
break;
|
||||
case 30:
|
||||
discard_timer = pdcp_discard_timer_t::ms30;
|
||||
break;
|
||||
case 40:
|
||||
discard_timer = pdcp_discard_timer_t::ms40;
|
||||
break;
|
||||
case 50:
|
||||
discard_timer = pdcp_discard_timer_t::ms50;
|
||||
break;
|
||||
case 60:
|
||||
discard_timer = pdcp_discard_timer_t::ms60;
|
||||
break;
|
||||
case 75:
|
||||
discard_timer = pdcp_discard_timer_t::ms75;
|
||||
break;
|
||||
case 100:
|
||||
discard_timer = pdcp_discard_timer_t::ms100;
|
||||
break;
|
||||
case 150:
|
||||
discard_timer = pdcp_discard_timer_t::ms150;
|
||||
break;
|
||||
case 200:
|
||||
discard_timer = pdcp_discard_timer_t::ms200;
|
||||
break;
|
||||
case 250:
|
||||
discard_timer = pdcp_discard_timer_t::ms250;
|
||||
break;
|
||||
case 300:
|
||||
discard_timer = pdcp_discard_timer_t::ms300;
|
||||
break;
|
||||
case 500:
|
||||
discard_timer = pdcp_discard_timer_t::ms500;
|
||||
break;
|
||||
case 750:
|
||||
discard_timer = pdcp_discard_timer_t::ms750;
|
||||
break;
|
||||
case 1500:
|
||||
discard_timer = pdcp_discard_timer_t::ms1500;
|
||||
break;
|
||||
default:
|
||||
discard_timer = pdcp_discard_timer_t::infinity;
|
||||
break;
|
||||
|
|
|
@ -94,13 +94,8 @@ void pdcp::add_bearer(uint32_t lcid, pdcp_config_t cfg)
|
|||
{
|
||||
if (not valid_lcid(lcid)) {
|
||||
std::unique_ptr<pdcp_entity_base> entity;
|
||||
if (cfg.sn_len == srslte::PDCP_SN_LEN_18) {
|
||||
// create NR entity for 18bit SN length
|
||||
|
||||
entity.reset(new pdcp_entity_nr{rlc, rrc, gw, task_sched, logger, lcid, cfg});
|
||||
} else {
|
||||
// For now we create an pdcp entity lte for nr due to it's maturity
|
||||
entity.reset(new pdcp_entity_lte{rlc, rrc, gw, task_sched, logger, lcid, cfg});
|
||||
}
|
||||
if (not pdcp_array.insert(std::make_pair(lcid, std::move(entity))).second) {
|
||||
logger.error("Error inserting PDCP entity in to array.");
|
||||
return;
|
||||
|
|
|
@ -627,6 +627,8 @@ bool rrc_nr::apply_drb_add_mod(const drb_to_add_mod_s& drb_cfg)
|
|||
}
|
||||
|
||||
srslte::pdcp_config_t pdcp_cfg = make_drb_pdcp_config_t(drb_cfg.drb_id, true, drb_cfg.pdcp_cfg);
|
||||
// TODO: work-around: this is only a work around for pdcp lte entity init
|
||||
pdcp_cfg.discard_timer = pdcp_discard_timer_t::infinity;
|
||||
pdcp->add_bearer(lcid, pdcp_cfg);
|
||||
gw->update_lcid(eps_bearer_id, lcid);
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue