Attention is currently required from: pespin.
fixeria has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email )
Change subject: power_control: lchan_ms_pwr_ctrl(): always log input values
......................................................................
Patch Set 2:
(1 comment)
File src/common/power_control.c:
https://gerrit.osmocom.org/c/osmo-bts/+/42061/comment/ce48ffd3_c87009de?usp… :
PS1, Line 233: LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Rx UL Measurement Report: "
> Good catch. `LOGL_DEBUG` was my original intention but I forgot to change it.
Acknowledged
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I3b8466f062624fc8a2ea6f8220c057d3812f2c35
Gerrit-Change-Number: 42061
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 05 Feb 2026 14:53:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: power_control: lchan_ms_pwr_ctrl(): always log input values
......................................................................
power_control: lchan_ms_pwr_ctrl(): always log input values
Depending on the power control interval (P_Con_INTERVAL), the MS power
loop may delay the power control decision for a certain amount of SACCH
block periods. In this case lchan_ms_pwr_ctrl() returns early and no
logging is printed at all.
Let's always log the input values (reported level, UL measurements)
early in lchan_ms_pwr_ctrl(). This is useful for debugging, and
this is exactly what lchan_bs_pwr_ctrl() does.
Change-Id: I3b8466f062624fc8a2ea6f8220c057d3812f2c35
---
M src/common/power_control.c
M tests/power/ms_power_loop_test.err
2 files changed, 82 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/61/42061/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I3b8466f062624fc8a2ea6f8220c057d3812f2c35
Gerrit-Change-Number: 42061
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
fixeria has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email )
Change subject: power_control: lchan_ms_pwr_ctrl(): always log input values
......................................................................
Patch Set 1:
(1 comment)
File src/common/power_control.c:
https://gerrit.osmocom.org/c/osmo-bts/+/42061/comment/a5139c51_2079a79d?usp… :
PS1, Line 233: LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Rx UL Measurement Report: "
> shouldn't this be LOGL_DEBUG?
Good catch. `LOGL_DEBUG` was my original intention but I forgot to change it.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/42061?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I3b8466f062624fc8a2ea6f8220c057d3812f2c35
Gerrit-Change-Number: 42061
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 05 Feb 2026 14:51:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42062?usp=email )
Change subject: lm: Initialize layer manager also on role=SG
......................................................................
lm: Initialize layer manager also on role=SG
Right now the LM will stay in IDLE for role=SG, but it already provides
with an easier logic where all xUA ASPs (no matter their role) have an
associated FSM object, which can be extnded later on.
This way we already valdiate the FSM instance lifecycle wroks as
expected.
It also allows in the future more easily integrating the LM in role
IPSP, where it will need to be extended.
Change-Id: I1f25cf8371ba72d710796e01a9a967d3fafffb99
---
M src/ss7_asp.c
M src/xua_default_lm_fsm.c
2 files changed, 6 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/62/42062/1
diff --git a/src/ss7_asp.c b/src/ss7_asp.c
index e69ffd1..6d73a32 100644
--- a/src/ss7_asp.c
+++ b/src/ss7_asp.c
@@ -919,8 +919,7 @@
}
/* Apply default LM FSM for client ASP */
- if (asp->cfg.proto != OSMO_SS7_ASP_PROT_IPA &&
- asp->cfg.role == OSMO_SS7_ASP_ROLE_ASP)
+ if (asp->cfg.proto != OSMO_SS7_ASP_PROT_IPA)
asp->lm = xua_layer_manager_default_alloc(asp);
if ((rc = xua_asp_fsm_start(asp, LOGL_DEBUG)) < 0)
diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c
index bfd00e9..5d275c0 100644
--- a/src/xua_default_lm_fsm.c
+++ b/src/xua_default_lm_fsm.c
@@ -167,9 +167,11 @@
switch (event) {
case LM_E_SCTP_EST_IND:
- /* Try to transition to ASP-UP, wait to receive message for a few seconds */
- lm_fsm_state_chg(fi, S_WAIT_ASP_UP);
- osmo_fsm_inst_dispatch(lmp->asp->fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
+ if (lmp->asp->cfg.role == OSMO_SS7_ASP_ROLE_ASP) {
+ /* Try to transition to ASP-UP, wait to receive message for a few seconds */
+ lm_fsm_state_chg(fi, S_WAIT_ASP_UP);
+ osmo_fsm_inst_dispatch(lmp->asp->fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
+ }
break;
}
}
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42062?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I1f25cf8371ba72d710796e01a9a967d3fafffb99
Gerrit-Change-Number: 42062
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42060?usp=email )
Change subject: xua_default_lm_fsm: Move timer_cb further below
......................................................................
xua_default_lm_fsm: Move timer_cb further below
As usually done in osmo_fsm implemnetations.
Change-Id: Ibdc04d9ece0b3955da44849755a87ec28c17f140
---
M src/xua_default_lm_fsm.c
1 file changed, 51 insertions(+), 52 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/60/42060/1
diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c
index aa60db2..bfd00e9 100644
--- a/src/xua_default_lm_fsm.c
+++ b/src/xua_default_lm_fsm.c
@@ -185,58 +185,6 @@
}
}
-
-static int lm_timer_cb(struct osmo_fsm_inst *fi)
-{
- struct xua_layer_manager_default_priv *lmp = fi->priv;
- struct osmo_xlm_prim *prim;
- struct osmo_ss7_as *as;
-
- switch (fi->T) {
- case SS7_ASP_LM_T_WAIT_ASP_UP:
- /* we have been waiting for the ASP to come up, but it
- * failed to do so */
- LOGPFSML(fi, LOGL_NOTICE, "Peer didn't send any ASP_UP in time! Restarting ASP\n");
- ss7_asp_disconnect_stream(lmp->asp);
- break;
- case SS7_ASP_LM_T_WAIT_NOTIFY:
- if (lmp->asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_NO_NOTIFY) {
- /* some implementations don't send the NOTIFY which they SHOULD
- * according to RFC4666 (see OS#5145) */
- LOGPFSM(fi, "quirk no_notify active; locally emulate AS-INACTIVE.ind\n");
- osmo_fsm_inst_dispatch(fi, LM_E_AS_INACTIVE_IND, NULL);
- break;
- }
- /* No AS has reported via NOTIFY that is was
- * (statically) configured at the SG for this ASP, so
- * let's dynamically register */
- lm_fsm_state_chg(fi, S_RKM_REG);
- prim = xua_xlm_prim_alloc(OSMO_XLM_PRIM_M_RK_REG, PRIM_OP_REQUEST);
- OSMO_ASSERT(prim);
- as = find_first_as_in_asp(lmp->asp);
- if (!as) {
- LOGPFSML(fi, LOGL_ERROR, "Unable to find AS!\n");
- ss7_asp_disconnect_stream(lmp->asp);
- return 0;
- }
- /* Fill in settings from first AS (TODO: multiple AS support) */
- prim->u.rk_reg.key = as->cfg.routing_key;
- prim->u.rk_reg.traf_mode = as->cfg.mode;
- osmo_xlm_sap_down(lmp->asp, &prim->oph);
- break;
- case SS7_ASP_LM_T_WAIT_NOTIY_RKM:
- /* No AS has reported via NOTIFY even after dynamic RKM
- * configuration */
- ss7_asp_disconnect_stream(lmp->asp);
- break;
- case SS7_ASP_LM_T_WAIT_RK_REG_RESP:
- /* timeout of registration of routing key */
- ss7_asp_disconnect_stream(lmp->asp);
- break;
- }
- return 0;
-}
-
static void lm_wait_notify(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct xua_layer_manager_default_priv *lmp = fi->priv;
@@ -327,6 +275,57 @@
}
}
+static int lm_timer_cb(struct osmo_fsm_inst *fi)
+{
+ struct xua_layer_manager_default_priv *lmp = fi->priv;
+ struct osmo_xlm_prim *prim;
+ struct osmo_ss7_as *as;
+
+ switch (fi->T) {
+ case SS7_ASP_LM_T_WAIT_ASP_UP:
+ /* we have been waiting for the ASP to come up, but it
+ * failed to do so */
+ LOGPFSML(fi, LOGL_NOTICE, "Peer didn't send any ASP_UP in time! Restarting ASP\n");
+ ss7_asp_disconnect_stream(lmp->asp);
+ break;
+ case SS7_ASP_LM_T_WAIT_NOTIFY:
+ if (lmp->asp->cfg.quirks & OSMO_SS7_ASP_QUIRK_NO_NOTIFY) {
+ /* some implementations don't send the NOTIFY which they SHOULD
+ * according to RFC4666 (see OS#5145) */
+ LOGPFSM(fi, "quirk no_notify active; locally emulate AS-INACTIVE.ind\n");
+ osmo_fsm_inst_dispatch(fi, LM_E_AS_INACTIVE_IND, NULL);
+ break;
+ }
+ /* No AS has reported via NOTIFY that is was
+ * (statically) configured at the SG for this ASP, so
+ * let's dynamically register */
+ lm_fsm_state_chg(fi, S_RKM_REG);
+ prim = xua_xlm_prim_alloc(OSMO_XLM_PRIM_M_RK_REG, PRIM_OP_REQUEST);
+ OSMO_ASSERT(prim);
+ as = find_first_as_in_asp(lmp->asp);
+ if (!as) {
+ LOGPFSML(fi, LOGL_ERROR, "Unable to find AS!\n");
+ ss7_asp_disconnect_stream(lmp->asp);
+ return 0;
+ }
+ /* Fill in settings from first AS (TODO: multiple AS support) */
+ prim->u.rk_reg.key = as->cfg.routing_key;
+ prim->u.rk_reg.traf_mode = as->cfg.mode;
+ osmo_xlm_sap_down(lmp->asp, &prim->oph);
+ break;
+ case SS7_ASP_LM_T_WAIT_NOTIY_RKM:
+ /* No AS has reported via NOTIFY even after dynamic RKM
+ * configuration */
+ ss7_asp_disconnect_stream(lmp->asp);
+ break;
+ case SS7_ASP_LM_T_WAIT_RK_REG_RESP:
+ /* timeout of registration of routing key */
+ ss7_asp_disconnect_stream(lmp->asp);
+ break;
+ }
+ return 0;
+}
+
static const struct osmo_fsm_state lm_states[] = {
[S_IDLE] = {
.in_event_mask = S(LM_E_SCTP_EST_IND),
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42060?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Ibdc04d9ece0b3955da44849755a87ec28c17f140
Gerrit-Change-Number: 42060
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>