fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32540 )
Change subject: bts: st_op_enabled_on_enter(): resume C0 power reduction
......................................................................
bts: st_op_enabled_on_enter(): resume C0 power reduction
If power saving is enabled for a BTS, it should remain enabled even
if the BTS is restarted for whatever reason. This persistence can be
achieved by re-sending the configured power reduction value whenever
the BTS NM FSM enters the ENABLED state again (i.e. reconnects).
Separate gsm_bts_send_c0_power_red() from gsm_bts_set_c0_power_red()
and call the former from st_op_enabled_on_enter(). All we need to do
is to send the value that was configured before, per-timeslot power
reduction limits remain and need not to be updated.
Take a chance to move logging from BTS specific to the generic code.
Change-Id: Ic3f8a2ab0ffd049a8ed84361a3a588c1e1b23ac6
Related: SYS#6435
---
M include/osmocom/bsc/bts.h
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_osmobts.c
M src/osmo-bsc/nm_bts_fsm.c
4 files changed, 45 insertions(+), 10 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 9b2aaab..78fc6a0 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -822,6 +822,7 @@
int gsm_bts_set_system_infos(struct gsm_bts *bts);
+int gsm_bts_send_c0_power_red(const struct gsm_bts *bts, const uint8_t red);
int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red);
void gsm_bts_stats_reset(struct gsm_bts *bts);
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index f5936c7..be0516d 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -978,21 +978,30 @@
return 0;
}
+/* Send the given C0 power reduction value to the BTS */
+int gsm_bts_send_c0_power_red(const struct gsm_bts *bts, const uint8_t red)
+{
+ if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED))
+ return -ENOTSUP;
+ if (bts->model->power_ctrl_send_c0_power_red == NULL)
+ return -ENOTSUP;
+ return bts->model->power_ctrl_send_c0_power_red(bts, red);
+}
+
+/* Send the given C0 power reduction value to the BTS and update the internal state */
int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red)
{
struct gsm_bts_trx *c0 = bts->c0;
unsigned int tn;
int rc;
- if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED))
- return -ENOTSUP;
- if (bts->model->power_ctrl_send_c0_power_red == NULL)
- return -ENOTSUP;
-
- rc = bts->model->power_ctrl_send_c0_power_red(bts, red);
+ rc = gsm_bts_send_c0_power_red(bts, red);
if (rc != 0)
return rc;
+ LOG_BTS(bts, DRSL, LOGL_NOTICE, "%sabling BCCH carrier power reduction "
+ "operation mode (maximum %u dB)\n", red ? "En" : "Dis", red);
+
/* Timeslot 0 is always transmitting BCCH/CCCH */
c0->ts[0].c0_max_power_red_db = 0;
diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c
index 5f6f86f..ea0405b 100644
--- a/src/osmo-bsc/bts_osmobts.c
+++ b/src/osmo-bsc/bts_osmobts.c
@@ -168,10 +168,6 @@
if (msg == NULL)
return -ENOMEM;
- LOGP(DRSL, LOGL_NOTICE, "%sabling BCCH carrier power reduction "
- "operation mode for BTS%u (maximum %u dB)\n",
- red ? "En" : "Dis", bts->nr, red);
-
/* Abuse the standard BS POWER CONTROL message by specifying 'Common Channel'
* in the Protocol Discriminator field and 'BCCH' in the Channel Number IE. */
dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh));
diff --git a/src/osmo-bsc/nm_bts_fsm.c b/src/osmo-bsc/nm_bts_fsm.c
index 92728dc..ea9fa5c 100644
--- a/src/osmo-bsc/nm_bts_fsm.c
+++ b/src/osmo-bsc/nm_bts_fsm.c
@@ -286,6 +286,13 @@
bts->mo.get_attr_rep_received = false;
bts->mo.set_attr_sent = false;
bts->mo.set_attr_ack_received = false;
+
+ /* Resume power saving on the BCCH carrier, if was enabled */
+ if (bts->c0_max_power_red_db > 0) {
+ LOG_BTS(bts, DRSL, LOGL_NOTICE, "Resuming BCCH carrier power reduction "
+ "operation mode (maximum %u dB)\n", bts->c0_max_power_red_db);
+ gsm_bts_send_c0_power_red(bts, bts->c0_max_power_red_db);
+ }
}
static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/32540
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic3f8a2ab0ffd049a8ed84361a3a588c1e1b23ac6
Gerrit-Change-Number: 32540
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: laforge, daniel.
matanp has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32519 )
Change subject: ctrl: Add getting access control class
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS3:
> I'm not sure if we have a policy to only have one parameter in a given CTRL string? Maybe something […]
It is not exactly the same, but in my opinion "rf_states", "channel-load" and "neighbor-bts list" kind of return more than one parameter. I agree that it is less common and separation character changes (spaces in "channel-load", commas in "neighbor-bts list" and semicolons in "rf_states")
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/32519
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I279249f9047f5edacc9edf3d231e3e74023fc84e
Gerrit-Change-Number: 32519
Gerrit-PatchSet: 3
Gerrit-Owner: matanp <matan1008(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Sun, 30 Apr 2023 04:26:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
Attention is currently required from: pespin, lynxis lazus.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/32511 )
Change subject: hlr: use talloc for memory allocation in osmo_gsup_create_insert_subscriber_data_msg
......................................................................
Patch Set 3:
(1 comment)
File include/osmocom/hlr/gsup_server.h:
https://gerrit.osmocom.org/c/osmo-hlr/+/32511/comment/381b7d69_43470357
PS3, Line 71: osmo_gsup_create_insert_subscriber_data_msg
this looks like a public API function of libosmo-gsup to me? In that case, we cannot simply break ABI and API. We must introduce another function for the new behavior, keeping the old one for backwards compatibiliy.
--
To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/32511
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hlr
Gerrit-Branch: master
Gerrit-Change-Id: I00b5c2dfadcf6e0740e93b4c3292d2654d22e80c
Gerrit-Change-Number: 32511
Gerrit-PatchSet: 3
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: msuraev <msuraev(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Comment-Date: Sun, 30 Apr 2023 00:58:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: neels.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/32528 )
Change subject: less code dup in mem free of hnbgw_rx_ue_register_req()
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/32528
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I433127f90bf6f82baf33c516f327f84d081ad69c
Gerrit-Change-Number: 32528
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Sun, 30 Apr 2023 00:55:11 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment