diff --git a/lib/src/upper/pdcp.cc b/lib/src/upper/pdcp.cc index 72d9508e6..d6bd9fa5b 100644 --- a/lib/src/upper/pdcp.cc +++ b/lib/src/upper/pdcp.cc @@ -146,7 +146,11 @@ void pdcp::add_bearer(uint32_t lcid, srslte_pdcp_config_t cfg) goto unlock_and_exit; } pdcp_array.at(lcid)->init(rlc, rrc, gw, pdcp_log, lcid, cfg); - pdcp_log->info("Added bearer %s\n", rrc->get_rb_name(lcid).c_str()); + pdcp_log->info("Add %s (lcid=%d, bearer_id=%d, sn_len=%dbits)\n", + rrc->get_rb_name(lcid).c_str(), + lcid, + cfg.bearer_id, + cfg.sn_len); } else { pdcp_log->warning("Bearer %s already configured. Reconfiguration not supported\n", rrc->get_rb_name(lcid).c_str()); } @@ -163,7 +167,11 @@ void pdcp::add_bearer_mrb(uint32_t lcid, srslte_pdcp_config_t cfg) goto unlock_and_exit; } pdcp_array_mrb.at(lcid)->init(rlc, rrc, gw, pdcp_log, lcid, cfg); - pdcp_log->info("Added bearer %s\n", rrc->get_rb_name(lcid).c_str()); + pdcp_log->info("Add %s (lcid=%d, bearer_id=%d, sn_len=%dbits)\n", + rrc->get_rb_name(lcid).c_str(), + lcid, + cfg.bearer_id, + cfg.sn_len); } else { pdcp_log->warning("Bearer %s already configured. Reconfiguration not supported\n", rrc->get_rb_name(lcid).c_str()); } diff --git a/lib/src/upper/pdcp_entity.cc b/lib/src/upper/pdcp_entity.cc index 904769fae..00dbb84d6 100644 --- a/lib/src/upper/pdcp_entity.cc +++ b/lib/src/upper/pdcp_entity.cc @@ -67,23 +67,15 @@ void pdcp_entity::init(srsue::rlc_interface_pdcp *rlc_, do_integrity = false; do_encryption = false; - cfg.sn_len = 0; - sn_len_bytes = 0; + cfg = cfg_; - if (cfg.is_control) { - cfg.sn_len = 5; - sn_len_bytes = 1; - } - if (cfg.is_data) { - cfg.sn_len = 12; - sn_len_bytes = 2; - } - - log->info("Init %s with bearer ID: %d\n", rrc->get_rb_name(lcid).c_str(), cfg.bearer_id); + // set length of SN field in bytes + sn_len_bytes = (cfg.sn_len == 5) ? 1 : 2; } // Reestablishment procedure: 36.323 5.2 -void pdcp_entity::reestablish() { +void pdcp_entity::reestablish() +{ // For SRBs if (cfg.is_control) { tx_count = 0; diff --git a/srsue/src/stack/rrc/rrc.cc b/srsue/src/stack/rrc/rrc.cc index 87736adb8..455ac5ee6 100644 --- a/srsue/src/stack/rrc/rrc.cc +++ b/srsue/src/stack/rrc/rrc.cc @@ -2980,7 +2980,6 @@ void rrc::add_srb(srb_to_add_mod_s* srb_cnfg) void rrc::add_drb(drb_to_add_mod_s* drb_cnfg) { - if (!drb_cnfg->pdcp_cfg_present || !drb_cnfg->rlc_cfg_present || !drb_cnfg->lc_ch_cfg_present) { rrc_log->error("Cannot add DRB - incomplete configuration\n"); return; @@ -2994,7 +2993,7 @@ void rrc::add_drb(drb_to_add_mod_s* drb_cnfg) } // Setup PDCP - srslte_pdcp_config_t pdcp_cfg; + srslte_pdcp_config_t pdcp_cfg = {}; pdcp_cfg.is_data = true; pdcp_cfg.bearer_id = drb_cnfg->drb_id; if (drb_cnfg->pdcp_cfg.rlc_um_present) {