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:
|
case 10:
|
||||||
discard_timer = pdcp_discard_timer_t::ms10;
|
discard_timer = pdcp_discard_timer_t::ms10;
|
||||||
break;
|
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:
|
case 100:
|
||||||
discard_timer = pdcp_discard_timer_t::ms100;
|
discard_timer = pdcp_discard_timer_t::ms100;
|
||||||
break;
|
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:
|
default:
|
||||||
discard_timer = pdcp_discard_timer_t::infinity;
|
discard_timer = pdcp_discard_timer_t::infinity;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -94,13 +94,8 @@ void pdcp::add_bearer(uint32_t lcid, pdcp_config_t cfg)
|
||||||
{
|
{
|
||||||
if (not valid_lcid(lcid)) {
|
if (not valid_lcid(lcid)) {
|
||||||
std::unique_ptr<pdcp_entity_base> entity;
|
std::unique_ptr<pdcp_entity_base> entity;
|
||||||
if (cfg.sn_len == srslte::PDCP_SN_LEN_18) {
|
// For now we create an pdcp entity lte for nr due to it's maturity
|
||||||
// create NR entity for 18bit SN length
|
entity.reset(new pdcp_entity_lte{rlc, rrc, gw, task_sched, logger, lcid, cfg});
|
||||||
|
|
||||||
entity.reset(new pdcp_entity_nr{rlc, rrc, gw, task_sched, logger, lcid, cfg});
|
|
||||||
} else {
|
|
||||||
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) {
|
if (not pdcp_array.insert(std::make_pair(lcid, std::move(entity))).second) {
|
||||||
logger.error("Error inserting PDCP entity in to array.");
|
logger.error("Error inserting PDCP entity in to array.");
|
||||||
return;
|
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);
|
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);
|
pdcp->add_bearer(lcid, pdcp_cfg);
|
||||||
gw->update_lcid(eps_bearer_id, lcid);
|
gw->update_lcid(eps_bearer_id, lcid);
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue