From 357bc10a176f9c1d4474546593f547252e89aad5 Mon Sep 17 00:00:00 2001 From: Francisco Date: Wed, 19 May 2021 15:12:01 +0100 Subject: [PATCH] feature - make minimum SNR, under which the RRC is notified with UL KO, configurable --- lib/include/srsran/interfaces/enb_mac_interfaces.h | 1 + srsenb/enb.conf.example | 4 ++++ srsenb/src/main.cc | 1 + srsenb/src/stack/mac/mac.cc | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/include/srsran/interfaces/enb_mac_interfaces.h b/lib/include/srsran/interfaces/enb_mac_interfaces.h index 5bd493f88..82fbf2371 100644 --- a/lib/include/srsran/interfaces/enb_mac_interfaces.h +++ b/lib/include/srsran/interfaces/enb_mac_interfaces.h @@ -25,6 +25,7 @@ struct mac_args_t { int nr_tb_size = -1; uint32_t nof_prealloc_ues; ///< Number of UE resources to pre-allocate at eNB startup uint32_t max_nof_kos; + int rlf_min_ul_snr_estim; }; /* Interface PHY -> MAC */ diff --git a/srsenb/enb.conf.example b/srsenb/enb.conf.example index 827184cf0..d3c36dc18 100644 --- a/srsenb/enb.conf.example +++ b/srsenb/enb.conf.example @@ -338,6 +338,8 @@ enable = false # gtpu_tunnel_timeout: Time that GTPU takes to release indirect forwarding tunnel since the last received GTPU PDU (0 for no timer). #ts1_reloc_prep_timeout: S1AP TS 36.413 TS1RelocPrep Expiry Timeout value in milliseconds #ts1_reloc_overall_timeout: S1AP TS 36.413 TS1RelocOverall Expiry Timeout value in milliseconds +# rlf_release_timer_ms: Time taken by eNB to release UE context after it detects an RLF +# rlf_min_ul_snr_estim: SNR threshold in dB below which the enb is notified with rlf ko # ##################################################################### [expert] @@ -369,3 +371,5 @@ enable = false #extended_cp = false #ts1_reloc_prep_timeout = 10000 #ts1_reloc_overall_timeout = 10000 +#rlf_release_timer_ms = 4000 +#rlf_min_ul_snr_estim = -2 diff --git a/srsenb/src/main.cc b/srsenb/src/main.cc index da261acc2..7f300756b 100644 --- a/srsenb/src/main.cc +++ b/srsenb/src/main.cc @@ -241,6 +241,7 @@ void parse_args(all_args_t* args, int argc, char* argv[]) ("expert.extended_cp", bpo::value(&args->phy.extended_cp)->default_value(false), "Use extended cyclic prefix") ("expert.ts1_reloc_prep_timeout", bpo::value(&args->stack.s1ap.ts1_reloc_prep_timeout)->default_value(10000), "S1AP TS 36.413 TS1RelocPrep Expiry Timeout value in milliseconds") ("expert.ts1_reloc_overall_timeout", bpo::value(&args->stack.s1ap.ts1_reloc_overall_timeout)->default_value(10000), "S1AP TS 36.413 TS1RelocOverall Expiry Timeout value in milliseconds") + ("expert.rlf_min_ul_snr_estim", bpo::value(&args->stack.mac.rlf_min_ul_snr_estim)->default_value(-2), "SNR threshold in dB below which the eNB is notified with rlf ko.") // eMBMS section diff --git a/srsenb/src/stack/mac/mac.cc b/srsenb/src/stack/mac/mac.cc index 21cfad988..ac06e20f4 100644 --- a/srsenb/src/stack/mac/mac.cc +++ b/srsenb/src/stack/mac/mac.cc @@ -401,7 +401,7 @@ int mac::snr_info(uint32_t tti_rx, uint16_t rnti, uint32_t enb_cc_idx, float snr return SRSRAN_ERROR; } - rrc_h->set_radiolink_ul_state(rnti, snr > 0); + rrc_h->set_radiolink_ul_state(rnti, snr >= args.rlf_min_ul_snr_estim); return scheduler.ul_snr_info(tti_rx, rnti, enb_cc_idx, snr, (uint32_t)ch); }