|
|
|
@ -56,6 +56,8 @@ sched_interface::ue_bearer_cfg_t get_bearer_default_srb2_config()
|
|
|
|
|
return bearer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srbs);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Adds to sched_interface::ue_cfg_t the changes present in the asn1 RRCReconfiguration message that should
|
|
|
|
|
* only take effect after the RRCReconfigurationComplete is received
|
|
|
|
@ -266,6 +268,9 @@ void rrc::ue::mac_controller::handle_intraenb_ho_cmd(const asn1::rrc::rrc_conn_r
|
|
|
|
|
void rrc::ue::mac_controller::handle_ho_prep(const asn1::rrc::ho_prep_info_r8_ies_s& ho_prep)
|
|
|
|
|
{
|
|
|
|
|
// TODO: Apply configuration in ho_prep as a base
|
|
|
|
|
if (ho_prep.as_cfg.source_rr_cfg.srb_to_add_mod_list_present) {
|
|
|
|
|
ue_cfg_apply_srb_updates(current_sched_ue_cfg, ho_prep.as_cfg.source_rr_cfg.srb_to_add_mod_list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void rrc::ue::mac_controller::set_scell_activation(const std::bitset<SRSLTE_MAX_CARRIERS>& scell_mask)
|
|
|
|
@ -328,32 +333,9 @@ void ue_cfg_apply_phy_cfg_ded(ue_cfg_t& ue_cfg, const asn1::rrc::phys_cfg_ded_s&
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
|
|
|
|
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
|
|
|
|
const cell_ctxt_dedicated_list& ue_cell_list)
|
|
|
|
|
void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srbs)
|
|
|
|
|
{
|
|
|
|
|
// Configure RadioResourceConfigDedicated
|
|
|
|
|
if (conn_recfg.rr_cfg_ded_present) {
|
|
|
|
|
if (conn_recfg.rr_cfg_ded.phys_cfg_ded_present) {
|
|
|
|
|
auto& phy_cfg = conn_recfg.rr_cfg_ded.phys_cfg_ded;
|
|
|
|
|
|
|
|
|
|
// Configure 256QAM
|
|
|
|
|
if (phy_cfg.cqi_report_cfg_pcell_v1250.is_present() and
|
|
|
|
|
phy_cfg.cqi_report_cfg_pcell_v1250->alt_cqi_table_r12_present) {
|
|
|
|
|
ue_cfg.use_tbs_index_alt = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// PUSCH UCI configuration
|
|
|
|
|
if (phy_cfg.pusch_cfg_ded_present) {
|
|
|
|
|
ue_cfg.uci_offset.I_offset_cqi = phy_cfg.pusch_cfg_ded.beta_offset_cqi_idx;
|
|
|
|
|
ue_cfg.uci_offset.I_offset_ack = phy_cfg.pusch_cfg_ded.beta_offset_ack_idx;
|
|
|
|
|
ue_cfg.uci_offset.I_offset_ri = phy_cfg.pusch_cfg_ded.beta_offset_ri_idx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Apply SRB updates
|
|
|
|
|
if (conn_recfg.rr_cfg_ded.srb_to_add_mod_list_present) {
|
|
|
|
|
for (const srb_to_add_mod_s& srb : conn_recfg.rr_cfg_ded.srb_to_add_mod_list) {
|
|
|
|
|
for (const srb_to_add_mod_s& srb : srbs) {
|
|
|
|
|
auto& bcfg = ue_cfg.ue_bearers[srb.srb_id];
|
|
|
|
|
switch (srb.srb_id) {
|
|
|
|
|
case 1:
|
|
|
|
@ -381,6 +363,34 @@ void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
|
|
|
|
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
|
|
|
|
const cell_ctxt_dedicated_list& ue_cell_list)
|
|
|
|
|
{
|
|
|
|
|
// Configure RadioResourceConfigDedicated
|
|
|
|
|
if (conn_recfg.rr_cfg_ded_present) {
|
|
|
|
|
if (conn_recfg.rr_cfg_ded.phys_cfg_ded_present) {
|
|
|
|
|
auto& phy_cfg = conn_recfg.rr_cfg_ded.phys_cfg_ded;
|
|
|
|
|
|
|
|
|
|
// Configure 256QAM
|
|
|
|
|
if (phy_cfg.cqi_report_cfg_pcell_v1250.is_present() and
|
|
|
|
|
phy_cfg.cqi_report_cfg_pcell_v1250->alt_cqi_table_r12_present) {
|
|
|
|
|
ue_cfg.use_tbs_index_alt = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// PUSCH UCI configuration
|
|
|
|
|
if (phy_cfg.pusch_cfg_ded_present) {
|
|
|
|
|
ue_cfg.uci_offset.I_offset_cqi = phy_cfg.pusch_cfg_ded.beta_offset_cqi_idx;
|
|
|
|
|
ue_cfg.uci_offset.I_offset_ack = phy_cfg.pusch_cfg_ded.beta_offset_ack_idx;
|
|
|
|
|
ue_cfg.uci_offset.I_offset_ri = phy_cfg.pusch_cfg_ded.beta_offset_ri_idx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Apply SRB updates
|
|
|
|
|
if (conn_recfg.rr_cfg_ded.srb_to_add_mod_list_present) {
|
|
|
|
|
ue_cfg_apply_srb_updates(ue_cfg, conn_recfg.rr_cfg_ded.srb_to_add_mod_list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Apply Scell configurations
|
|
|
|
|