Attention is currently required from: laforge, neels, pespin.
Hello Jenkins Builder, laforge, neels, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35212?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Code-Review-1 by pespin, Verified+1 by Jenkins Builder
Change subject: ecu: force alignment of member data in struct osmo_ecu_state
......................................................................
ecu: force alignment of member data in struct osmo_ecu_state
The member data[0] in struct osmo_ecu_state is used as an anchor to
attach private structs for a concrete ECU implementation. This works by
allocating more memory then struct osmo_ecu_state actually needs and
then using the excess memory to store the private struct of the concrete
ECU implementation.
However, this poses a problem since data[0] is at the end of the struct
it may land in an unaligned position. This also means that the struct we
store there is also unaligned. We should fix this enclosing the public
struct osmo_ecu_state into our private struct fr_ecu_state. Then we can
simply cast from osmo_ecu_state to fr_ecu_state and correct alignment is
ensured as well.
Related: OS#6286
Change-Id: I28672856e8e8f47e04ffe09ee3e07b577108cdc7
---
M TODO-RELEASE
M src/codec/ecu_fr.c
2 files changed, 31 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/35212/3
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35212?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I28672856e8e8f47e04ffe09ee3e07b577108cdc7
Gerrit-Change-Number: 35212
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria, laforge, pespin.
Hello Jenkins Builder, fixeria, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/35347?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by fixeria, Verified+1 by Jenkins Builder
Change subject: ipa_ccm_tlv_to_unitdata(): free previous string if present before allocating new one
......................................................................
ipa_ccm_tlv_to_unitdata(): free previous string if present before allocating new one
Change-Id: I66cbd900676875145810ad1d5c07e719311852fb
---
M src/gsm/ipa.c
1 file changed, 30 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/35347/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35347?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I66cbd900676875145810ad1d5c07e719311852fb
Gerrit-Change-Number: 35347
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35352?usp=email )
Change subject: filesystem: fix typo
......................................................................
filesystem: fix typo
Change-Id: I721875d302ab69340d56b33102297b56c070465f
---
M pySim/filesystem.py
1 file changed, 10 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/35352/1
diff --git a/pySim/filesystem.py b/pySim/filesystem.py
index 35863a8..0e72921 100644
--- a/pySim/filesystem.py
+++ b/pySim/filesystem.py
@@ -147,7 +147,7 @@
return inter_path
"""Build the relative sequence of files we need to traverse to get from us to 'target'."""
- # special-case handling for selecting MF while we MF is selected
+ # special-case handling for selecting MF while the MF is selected
if target == target.get_mf():
return [target]
cur_fqpath = self.fully_qualified_path_fobj()
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35352?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I721875d302ab69340d56b33102297b56c070465f
Gerrit-Change-Number: 35352
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35351?usp=email )
Change subject: filesystem: use sort path when selecting an application
......................................................................
filesystem: use sort path when selecting an application
The method build_select_path_to uses the internal file system tree model
to find the path to a given file. This works the same for applications
(ADF) as it works for normal files (EF/DF). However, an application can
be selected anytime from any location in the filesystem tree. There is
no need to select a specific path leading to that application first.
This means that if there is an ADF somewhere in the resulting
inter_path, we may clip everything before that ADF.
Related: OS#5418
Change-Id: I838a99bb47afc73b4274baecb04fff31abf7b2e2
---
M pySim/filesystem.py
1 file changed, 29 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/51/35351/1
diff --git a/pySim/filesystem.py b/pySim/filesystem.py
index d39162c..35863a8 100644
--- a/pySim/filesystem.py
+++ b/pySim/filesystem.py
@@ -136,6 +136,16 @@
return ret
def build_select_path_to(self, target: 'CardFile') -> Optional[List['CardFile']]:
+
+ # special-case handling for applications. Applications may be selected
+ # any time from any location. If there is an ADF somewhere in the path,
+ # we may clip everything before that ADF.
+ def clip_path(inter_path):
+ for i in reversed(range(0, len(inter_path))):
+ if isinstance(inter_path[i], CardADF):
+ return inter_path[i:]
+ return inter_path
+
"""Build the relative sequence of files we need to traverse to get from us to 'target'."""
# special-case handling for selecting MF while we MF is selected
if target == target.get_mf():
@@ -152,7 +162,7 @@
for te2 in target_fqpath[i+1:]:
inter_path.append(te2)
# we found our common ancestor
- return inter_path[1:]
+ return clip_path(inter_path[1:])
return None
def get_mf(self) -> Optional['CardMF']:
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35351?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I838a99bb47afc73b4274baecb04fff31abf7b2e2
Gerrit-Change-Number: 35351
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: fixeria, laforge.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/34932?usp=email )
Change subject: runtime: refactor file selection methods select and select_file
......................................................................
Patch Set 4:
This change is ready for review.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/34932?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I9ae213f3b078983f3e6d4c11db38fdbe504c84f2
Gerrit-Change-Number: 34932
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 13 Dec 2023 11:48:22 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: fixeria, laforge, osmith.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/35338?usp=email )
Change subject: Revert "Revert "pdch_ul_controller: migrate from fn_cmp() to gsm0502_fncmp()""
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
> We could have avoided having to revert a revert if we branched from master, so that we would have cl […]
that's precisely what I wanted to avoid, having the tag out of master branch.
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/35338?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Idd113e328a693df2e8f2f5d172eaf5bf2bfcf009
Gerrit-Change-Number: 35338
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(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-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 13 Dec 2023 11:44:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/35335?usp=email )
Change subject: cosmetic: Fix typo in function doc
......................................................................
cosmetic: Fix typo in function doc
Change-Id: I1c4fe7d1b3a5cdd4c2c9c942e292a7135467d9e2
---
M src/xua_asp_fsm.c
1 file changed, 10 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index cc94ac7..cc9a13a 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -1180,7 +1180,7 @@
};
-/*! \brief Start a new ASP finite stae machine for given ASP
+/*! \brief Start a new ASP finite state machine for given ASP
* \param[in] asp Application Server Process for which to start FSM
* \param[in] role Role (ASP, SG, IPSP) of this FSM
* \param[in] log_level Logging Level for ASP FSM logging
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/35335?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I1c4fe7d1b3a5cdd4c2c9c942e292a7135467d9e2
Gerrit-Change-Number: 35335
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/35348?usp=email )
Change subject: ipa: Use ASP name as ipa_unit_name on dynamic ASPs
......................................................................
ipa: Use ASP name as ipa_unit_name on dynamic ASPs
A recent patch fixed a long problem where the ASP name (instead of
expected AS name) was used as ipa_unit_name in IPA based ASPs.
For server side it doesn't matter much, sense anyway the ipa_unit_name
is actually restored on the struct with what's received in IPA GET_RESP
message (see ipa_asp_fsm_wait_id_resp()). So the fix was actually for
the client side in the scenario where a non-dynamic ASP with an assigned
AS was configured in the VTY.
However, dynamic ASPs usually have no assigned AS (because in general it
is really not created/configured, as the ASP is created on the flight).
As a result, the recent patch (see "Fixes" below), broke dynamic ASPs
case because from then one ipa_asp_fsm_start() would fail and terminate
the FSM because ipa_find_as_for_asp() was returning NULL.
So improve the recent patch by applying the previous logic for dynamic
ASPs:
* On the server side, it really doesn't matter since as mentioned, the
field will be repopulated later on, but allows the code to avoid
terminating the FSM and hence be brought up and be ready to receive
clients.
* On the client case, this is how dynamic IPA ASPs were ment to be used
when they were introduced anyway (use ASP as ipa_unit_id, meaning
"AS name" == "ASP name").
Furthermore, on the client side, the non-dynamic IPA ASPs need their
bring up be delayed until assigned to an AS, because the AS name is sent
in ipa_unit_name field in Tx IPA ID RESP.
This usually happens at a later point than ASP (FSM) creation, because
first the ASP object is created (through VTY or API) and then assigned
to an AS through osmo_ss7_as_add_asp() usually from a later "asp" vty
command in the "as" node.
Fixes: 65741dca056e3a16973ad156dd4c09760a6a945b
Change-Id: I0a741449450c998253b1e44a76a3b7fc224e0903
Related: SYS#5914
---
M src/osmo_ss7_as.c
M src/xua_asp_fsm.c
M src/xua_asp_fsm.h
3 files changed, 86 insertions(+), 8 deletions(-)
Approvals:
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/src/osmo_ss7_as.c b/src/osmo_ss7_as.c
index 34baf52..9d78897 100644
--- a/src/osmo_ss7_as.c
+++ b/src/osmo_ss7_as.c
@@ -35,6 +35,7 @@
#include "ss7_internal.h"
#include "xua_as_fsm.h"
+#include "xua_asp_fsm.h"
/***********************************************************************
* SS7 Application Server
@@ -114,6 +115,7 @@
for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) {
if (!as->cfg.asps[i]) {
as->cfg.asps[i] = asp;
+ osmo_fsm_inst_dispatch(asp->fi, XUA_ASP_E_AS_ASSIGNED, as);
return 0;
}
}
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index cc9a13a..701e081 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -65,6 +65,8 @@
{ XUA_ASP_E_ASPSM_BEAT, "ASPSM_BEAT" },
{ XUA_ASP_E_ASPSM_BEAT_ACK, "ASPSM_BEAT_ACK" },
+ { XUA_ASP_E_AS_ASSIGNED, "AS_ASSIGNED" },
+
{ IPA_ASP_E_ID_RESP, "IPA_CCM_ID_RESP" },
{ IPA_ASP_E_ID_GET, "IPA_CCM_ID_GET" },
{ IPA_ASP_E_ID_ACK, "IPA_CCM_ID_ACK" },
@@ -687,6 +689,9 @@
case XUA_ASP_E_ASPSM_BEAT_ACK:
/* FIXME: stop timer, if any */
break;
+ case XUA_ASP_E_AS_ASSIGNED:
+ /* Ignore, only used in IPA asps so far. */
+ break;
default:
break;
}
@@ -1058,6 +1063,7 @@
static void ipa_asp_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct ipa_asp_fsm_priv *iafp = fi->priv;
+ struct osmo_ss7_as *as;
int fd;
switch (event) {
@@ -1077,6 +1083,15 @@
/* stop timer, if any */
osmo_timer_del(&iafp->pong_timer);
break;
+ case XUA_ASP_E_AS_ASSIGNED:
+ as = data;
+ osmo_talloc_replace_string(iafp->ipa_unit, &iafp->ipa_unit->unit_name, as->cfg.name);
+ /* Now that the AS is known, start the client side: */
+ if (iafp->role == OSMO_SS7_ASP_ROLE_ASP && fi->state == IPA_ASP_S_DOWN) {
+ LOGPFSML(fi, LOGL_NOTICE, "Bringing up ASP now once it has been assigned to an AS\n");
+ osmo_fsm_inst_dispatch(fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
+ }
+ break;
default:
break;
}
@@ -1175,7 +1190,8 @@
.allstate_event_mask = S(XUA_ASP_E_SCTP_COMM_DOWN_IND) |
S(XUA_ASP_E_SCTP_RESTART_IND) |
S(XUA_ASP_E_ASPSM_BEAT) |
- S(XUA_ASP_E_ASPSM_BEAT_ACK),
+ S(XUA_ASP_E_ASPSM_BEAT_ACK) |
+ S(XUA_ASP_E_AS_ASSIGNED),
.allstate_action = ipa_asp_allstate,
};
@@ -1191,30 +1207,44 @@
struct osmo_fsm_inst *fi;
struct ipa_asp_fsm_priv *iafp;
struct osmo_ss7_as *as = ipa_find_as_for_asp(asp);
+ const char *unit_name;
+ bool can_start = true;
/* allocate as child of AS? */
fi = osmo_fsm_inst_alloc(&ipa_asp_fsm, asp, NULL, log_level, asp->cfg.name);
- if (!as) {
- osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL);
- return NULL;
- }
-
iafp = talloc_zero(fi, struct ipa_asp_fsm_priv);
if (!iafp) {
osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL);
return NULL;
}
+
+ if (as) {
+ unit_name = as->cfg.name;
+ } else if (asp->dyn_allocated) {
+ LOGPFSML(fi, LOGL_INFO, "Dynamic ASP is not assigned to any AS, "
+ "using ASP name instead of AS name as ipa_unit_name\n");
+ unit_name = asp->cfg.name;
+ } else {
+ /* ASP in client mode will be brought up when this ASP is added
+ * to an AS, see XUA_ASP_E_AS_ASSIGNED. */
+ if (role == OSMO_SS7_ASP_ROLE_ASP) {
+ LOGPFSML(fi, LOGL_NOTICE, "ASP is not assigned to any AS. ASP bring up delayed\n");
+ can_start = false;
+ }
+ unit_name = asp->cfg.name;
+ }
+
iafp->role = role;
iafp->asp = asp;
iafp->ipa_unit = talloc_zero(iafp, struct ipaccess_unit);
- iafp->ipa_unit->unit_name = talloc_strdup(iafp->ipa_unit, as->cfg.name);
+ iafp->ipa_unit->unit_name = talloc_strdup(iafp->ipa_unit, unit_name);
iafp->pong_timer.cb = ipa_pong_timer_cb;
iafp->pong_timer.data = fi;
fi->priv = iafp;
- if (role == OSMO_SS7_ASP_ROLE_ASP)
+ if (can_start && role == OSMO_SS7_ASP_ROLE_ASP)
osmo_fsm_inst_dispatch(fi, XUA_ASP_E_M_ASP_UP_REQ, NULL);
return fi;
diff --git a/src/xua_asp_fsm.h b/src/xua_asp_fsm.h
index 2b36220..ca44514 100644
--- a/src/xua_asp_fsm.h
+++ b/src/xua_asp_fsm.h
@@ -28,6 +28,9 @@
XUA_ASP_E_ASPSM_BEAT,
XUA_ASP_E_ASPSM_BEAT_ACK,
+ /* The ASP was added to an AS. data: (struct osmo_ss7_as *) */
+ XUA_ASP_E_AS_ASSIGNED,
+
/* IPA specific */
IPA_ASP_E_ID_RESP,
IPA_ASP_E_ID_ACK,
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/35348?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I0a741449450c998253b1e44a76a3b7fc224e0903
Gerrit-Change-Number: 35348
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(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, neels.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/34900?usp=email )
Change subject: add fmtp string to ptmap: allow all possible fmtp
......................................................................
Patch Set 10:
(1 comment)
File src/libosmo-mgcp-client/mgcp_client.c:
https://gerrit.osmocom.org/c/osmo-mgw/+/34900/comment/67fc76e4_e93b0851
PS9, Line 1290: && (mgcp_msg->ptmap[i].codec == CODEC_AMR_8000_1
> - it's much more efficient to read the condition with operators at the start. […]
sure, just wanted to point thsi out since it appeared here.
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/34900?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: If58590bda8627519ff07e0b6f43aa47a274f052b
Gerrit-Change-Number: 34900
Gerrit-PatchSet: 10
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 13 Dec 2023 11:40:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment