Skip to content

Commit 5a411ee

Browse files
alvasManPedro Alvarez
authored andcommitted
cu_cp: fix pre-mature release of DRB1 in inter-du intra-gnb ho
1 parent 64488af commit 5a411ee

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

lib/cu_cp/routines/mobility/handover_reconfiguration_routine.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,8 @@ void handover_reconfiguration_routine::operator()(coro_context<async_task<bool>>
105105

106106
void handover_reconfiguration_routine::generate_ue_context_modification_request()
107107
{
108-
ue_context_mod_request.ue_index = source_ue.get_ue_index();
109-
ue_context_mod_request.drbs_to_be_released_list = source_ue.get_up_resource_manager().get_drbs();
110-
ue_context_mod_request.rrc_container = ho_reconf_ctxt.rrc_ue_handover_reconfiguration_pdu.copy();
108+
ue_context_mod_request.ue_index = source_ue.get_ue_index();
109+
ue_context_mod_request.rrc_container = ho_reconf_ctxt.rrc_ue_handover_reconfiguration_pdu.copy();
111110

112111
// Stop data transmission for the UE on the source DU (see TS 38.473 section 8.3.4.2).
113112
ue_context_mod_request.tx_action_ind = f1ap_tx_action_ind::stop;

tests/unittests/cu_cp/mobility/handover_reconfiguration_routine_test.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,11 @@ class handover_reconfiguration_routine_test : public mobility_test
301301

302302
bool check_transaction_id(unsigned transaction_id) { return cu_cp_handler.last_transaction_id == transaction_id; }
303303

304+
const f1ap_ue_context_modification_request& get_source_f1ap_ctxt_mod_request()
305+
{
306+
return source_f1ap_ue_ctxt_mng.get_ctxt_mod_request();
307+
}
308+
304309
private:
305310
// source UE parameters.
306311
du_index_t source_du_index = uint_to_du_index(0);
@@ -339,6 +344,11 @@ TEST_F(handover_reconfiguration_routine_test, when_reconfiguration_successful_th
339344
ASSERT_TRUE(get_result());
340345

341346
ASSERT_TRUE(check_transaction_id(test_transaction_id));
347+
348+
// Make sure that the source UP context was not modified.
349+
f1ap_ue_context_modification_request context_mod = get_source_f1ap_ctxt_mod_request();
350+
ASSERT_TRUE(context_mod.drbs_to_be_setup_mod_list.empty());
351+
ASSERT_TRUE(context_mod.drbs_to_be_released_list.empty());
342352
}
343353

344354
TEST_F(handover_reconfiguration_routine_test, when_ue_context_mod_unsuccessful_then_return_false)

0 commit comments

Comments
 (0)