From d71f4152cd55843ed77da00e0d813e3d6678cfd6 Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Wed, 26 Jan 2022 18:55:39 +0100 Subject: [PATCH] ue: register PDU session at bearer manager to NAS doesn't trigger service request * forward service request to NAS 5G in SA mode * register PDU session at bearer manager so service request isn't triggered in the first place * remove [TTI] from GW logs --- srsue/src/stack/rrc_nr/rrc_nr.cc | 2 ++ srsue/src/stack/ue_stack_lte.cc | 8 +++++++- srsue/src/ue.cc | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/srsue/src/stack/rrc_nr/rrc_nr.cc b/srsue/src/stack/rrc_nr/rrc_nr.cc index 9b101cbd5..2dbde5a8c 100644 --- a/srsue/src/stack/rrc_nr/rrc_nr.cc +++ b/srsue/src/stack/rrc_nr/rrc_nr.cc @@ -1928,6 +1928,8 @@ bool rrc_nr::apply_drb_add_mod(const drb_to_add_mod_s& drb_cfg) } // TODO: configure SDAP accordingly uint32_t pdu_session_id = drb_cfg.cn_assoc.sdap_cfg().pdu_session; + // Register PDU session as "EPS bearer" in bearer manager + stack->add_eps_bearer(pdu_session_id, srsran::srsran_rat_t::nr, lcid); } else { logger.error("CN association type not supported %s", drb_cfg.cn_assoc.type().to_string()); return false; diff --git a/srsue/src/stack/ue_stack_lte.cc b/srsue/src/stack/ue_stack_lte.cc index 9a0414e7e..15bff495b 100644 --- a/srsue/src/stack/ue_stack_lte.cc +++ b/srsue/src/stack/ue_stack_lte.cc @@ -328,7 +328,13 @@ bool ue_stack_lte::disable_data() bool ue_stack_lte::start_service_request() { if (running) { - ue_task_queue.try_push([this]() { nas.start_service_request(srsran::establishment_cause_t::mo_data); }); + ue_task_queue.try_push([this]() { + if (args.attach_on_nr) { + nas_5g.start_service_request(); + } else { + nas.start_service_request(srsran::establishment_cause_t::mo_data); + } + }); } return true; } diff --git a/srsue/src/ue.cc b/srsue/src/ue.cc index 765f964f6..50a728095 100644 --- a/srsue/src/ue.cc +++ b/srsue/src/ue.cc @@ -62,7 +62,7 @@ int ue::init(const all_args_t& args_) return SRSRAN_ERROR; } - std::unique_ptr gw_ptr(new gw(srslog::fetch_basic_logger("GW"))); + std::unique_ptr gw_ptr(new gw(srslog::fetch_basic_logger("GW", false))); if (!gw_ptr) { srsran::console("Error creating a GW instance.\n"); return SRSRAN_ERROR;