dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/34100 )
Change subject: pcuif_proto: rename tlli to msg_id
......................................................................
pcuif_proto: rename tlli to msg_id
To confirm downlink IMMEDIATE ASSIGNMENT messages, we use the TLLI as an
identifier and the related struct member is also called "tlli".
Unfortunately this is misleading since the message identifier does not
necessarly have to be a TLLI. It is just an implementation detail that
osmo-pcu uses the TLLI as a message identifier.
To make that clear, lets rename the tlli member (and variable and
parameter names where it is passed on) to "msg_id".
(Since this change only renames variables and struct members it will not
break compatibility with other programs that use the PCUIF)
Related: OS#5927
Change-Id: I4a25039dfe329e68879bc68936e49c4b190625e6
---
M include/osmocom/pcu/pcuif_proto.h
M src/pcu_l1_if.cpp
M src/pcu_l1_if.h
3 files changed, 33 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/34100/1
diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h
index 1dda160..5f07fe5 100644
--- a/include/osmocom/pcu/pcuif_proto.h
+++ b/include/osmocom/pcu/pcuif_proto.h
@@ -18,7 +18,7 @@
#define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */
#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to transmit APP INFO via PACCH */
#define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */
-#define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */
+#define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (using message id) */
#define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */
#define PCU_IF_MSG_INFO_IND 0x32 /* retrieve BTS info */
#define PCU_IF_MSG_E1_CCU_IND 0x33 /* retrieve E1 CCU comm. parameters */
@@ -41,6 +41,7 @@
#define PCU_IF_SAPI_PDTCH 0x05 /* packet data/control/ccch block */
#define PCU_IF_SAPI_PRACH 0x06 /* packet random access channel */
#define PCU_IF_SAPI_PTCCH 0x07 /* packet TA control channel */
+#define PCU_IF_SAPI_PCH_DT 0x08 /* assignment on PCH (confirmed using message id) */
#define PCU_IF_SAPI_PCH_DT 0x08 /* assignment on PCH (confirmed using TLLI) */
/* flags */
@@ -93,10 +94,10 @@
int16_t lqual_cb; /* !< \brief Link quality in centiBel */
} __attribute__ ((packed));
-/* data confirmation with direct tlli (instead of raw mac block with tlli) */
+/* data confirmation with message id (instead of raw mac block) */
struct gsm_pcu_if_data_cnf_dt {
uint8_t sapi;
- uint32_t tlli;
+ uint32_t msg_id;
uint32_t fn;
uint16_t arfcn;
uint8_t trx_nr;
@@ -274,8 +275,8 @@
/* Struct to send a (confirmed) IMMEDIATE ASSIGNMENT message via PCH. The struct is sent as a data request
* (data_req) under SAPI PCU_IF_SAPI_PCH_DT. */
struct gsm_pcu_if_pch_dt {
- /* TLLI as reference for confirmation */
- uint32_t tlli;
+ /* message id as reference for confirmation */
+ uint32_t msg_id;
/* IMSI (to derive paging group) */
char imsi[OSMO_IMSI_BUF_SIZE];
/* GSM mac-block (with immediate assignment message) */
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index ed64cc1..8597dd4 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -300,11 +300,11 @@
/* Send a MAC block via the paging channel. This will (obviously) only work for MAC blocks that contain an
* IMMEDIATE ASSIGNMENT or a PAGING COMMAND message. In case the MAC block contains an IMMEDIATE ASSIGNMENT
* message, the receiving end is required to confirm when the IMMEDIATE ASSIGNMENT has been sent. */
-void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, struct bitvec *block, int plen, const char *imsi, uint32_t tlli)
+void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, struct bitvec *block, int plen, const char *imsi, uint32_t msg_id)
{
struct gsm_pcu_if_pch_dt pch_dt = { 0 };
- pch_dt.tlli = tlli;
+ pch_dt.msg_id = msg_id;
if (imsi)
OSMO_STRLCPY_ARRAY(pch_dt.imsi, imsi);
/* OS#6097: if strlen(pch_dt.imsi) == 0: We assume the MS is in non-DRX
@@ -563,7 +563,7 @@
switch (data_cnf_dt->sapi) {
case PCU_IF_SAPI_PCH_DT:
- bts_rcv_imm_ass_cnf(bts, NULL, data_cnf_dt->tlli, data_cnf_dt->fn);
+ bts_rcv_imm_ass_cnf(bts, NULL, data_cnf_dt->msg_id, data_cnf_dt->fn);
break;
default:
LOGP(DL1IF, LOGL_ERROR, "Received PCU data confirm with unsupported sapi %d\n", data_cnf_dt->sapi);
@@ -789,7 +789,7 @@
/* NOTE: The classic way to confirm an IMMEDIATE assignment is to send the whole MAC block payload back to the
* PCU. So it is the MAC block itsself that serves a reference for the confirmation. This method has certain
- * disadvantages so it was replaced with a method that uses the TLLI as a reference ("Direct TLLI"). This new
+ * disadvantages so it was replaced with a method that uses the TLLI as a reference (msg_id). This new
* method will replace the old one. The code that handles the old method will be removed in the foreseeable
* future. (see also OS#5927) */
if (info_ind->version == 0x0a) {
diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h
index bc036bf..3ff17dc 100644
--- a/src/pcu_l1_if.h
+++ b/src/pcu_l1_if.h
@@ -156,7 +156,7 @@
int pcu_tx_neigh_addr_res_req(struct gprs_rlcmac_bts *bts, const struct neigh_cache_entry_key *neigh_key);
void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, struct bitvec *block, int plen, const char *imsi);
-void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, struct bitvec *block, int plen, const char *imsi, uint32_t tlli);
+void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, struct bitvec *block, int plen, const char *imsi, uint32_t msg_id);
int pcu_rx(struct gsm_pcu_if *pcu_prim, size_t pcu_prim_length);
int pcu_l1if_open(void);
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/34100
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I4a25039dfe329e68879bc68936e49c4b190625e6
Gerrit-Change-Number: 34100
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/34098 )
Change subject: osmo_io: Ensure correct ownership of msgb when sending
......................................................................
osmo_io: Ensure correct ownership of msgb when sending
Use talloc_steal() if a msg is passed in to osmo_io when sending. This
avoids the message being free()d early in case the original parent is
free()d.
Change-Id: Ie36bd68a8bd63e67d76fb41996f8fdf99f51d96c
---
M src/core/osmo_io.c
1 file changed, 15 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/src/core/osmo_io.c b/src/core/osmo_io.c
index 37127c1..f9d04fd 100644
--- a/src/core/osmo_io.c
+++ b/src/core/osmo_io.c
@@ -102,6 +102,8 @@
talloc_free(hdr);
return NULL;
}
+ } else {
+ talloc_steal(iofd->msgb_alloc.ctx, msg);
}
hdr->action = action;
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/34098
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ie36bd68a8bd63e67d76fb41996f8fdf99f51d96c
Gerrit-Change-Number: 34098
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: pespin, fixeria.
Hello Jenkins Builder, neels, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-msc/+/33735
to look at the new patch set (#2).
Change subject: trans_lcls_compose(): Set PLMN fron cell currently in use
......................................................................
trans_lcls_compose(): Set PLMN fron cell currently in use
The MS in general provides the Selected PLMN ID (IE) in the Complete
Layer 3 Information message. osmo-msc handles that message in
msc_a_ran_dec_from_msc_i() and stores the information of the PLMN in
msc_a->via_cell. If no PLMN information is provided in the message, then
at that same place the PLMN configured in the VTY is taken as an implicit
default.
This patch changes trans_lcls_compose() to use the PLMN stored in
msc_a->via_cell instead of the VTY configured one, meaning the PLMN
provided by the MS (through the RAN in use) is used if available
(otherwise the VTY-configure one is still used, as before).
With this patch the PLMN VTY config option use is relegated to a single
point of use in msc_a_ran_dec_from_msc_i() where the Complete Layer 3
Information is used. As a result, it becomes clear now that the VTY
config is only applied in the scenario where no PLMN is provided at that
time.
Related: SYS#6360
Change-Id: Ibad0005a1d7cef64dd8fefa3e554ba99a06c3666
---
M src/libmsc/transaction.c
1 file changed, 29 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/35/33735/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33735
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ibad0005a1d7cef64dd8fefa3e554ba99a06c3666
Gerrit-Change-Number: 33735
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: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin, fixeria.
Hello osmith, Jenkins Builder, neels, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-msc/+/33732
to look at the new patch set (#2).
Change subject: Tx Loc UPD ACC: Use PLMN provided by subscr
......................................................................
Tx Loc UPD ACC: Use PLMN provided by subscr
The MS in general provides the Selected PLMN ID (IE) in the Complete
Layer 3 Information message. osmo-msc handles that message in
msc_a_ran_dec_from_msc_i() and stores the information of the PLMN in
msc_a->via_cell. If no PLMN information is provided in the message, then
at that same place the PLMN configured in the VTY is taken as an implicit
default.
The PLMN information stored in msc_a->via_cell is then finally stored
into vsub->cgi in evaluate_acceptance_outcome().
This patch changes gsm0408_loc_upd_acc() to avoid re-applying the PLMN
configured at the VTY again, and instead use whatever is already in
vsub->cgi. This is more correct since the PLMN provided by the MS takes
precedence over the implicitly configured one, meaning several PLMNs can
be handled. Otherwise, the code is always overwriting the PLMN announced
by the network on a specific RAN with the one in the MSC, which may end
up with unexpected results.
Related: SYS#6360
Change-Id: I421bd63a264db2bf6e1c4a4eea976f389e87b332
---
M src/libmsc/gsm_04_08.c
1 file changed, 29 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/33732/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33732
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I421bd63a264db2bf6e1c4a4eea976f389e87b332
Gerrit-Change-Number: 33732
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: daniel.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/34099 )
Change subject: osmo_io: Use MSG_NOSIGNAL to avoid SIGPIPE on write
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/34099
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I85433124a8e80fc2aa19b551bdaf2655ef1eea2c
Gerrit-Change-Number: 34099
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 08 Aug 2023 13:33:50 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: daniel.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/34098 )
Change subject: osmo_io: Ensure correct ownership of msgb when sending
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/34098
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ie36bd68a8bd63e67d76fb41996f8fdf99f51d96c
Gerrit-Change-Number: 34098
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 08 Aug 2023 13:33:34 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: pespin.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34066 )
Change subject: PCUIF: Add support for PCU_IF_SAPI_AGCH_DT
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
> We agreed on IRC to rename the SAPI and don't pass "tlli" but a "msg_id".
I am currently working on this. Unfortunately this generates some merge conflicts with the AGCH confirmation stuff. Let's focus on the field renaming now and when it is done I will rebase the AGCH confirmation patches.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34066
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I40e05a2e68cca77d3c2f41df9af8d35762488abf
Gerrit-Change-Number: 34066
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 08 Aug 2023 13:33:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/34098 )
Change subject: osmo_io: Ensure correct ownership of msgb when sending
......................................................................
osmo_io: Ensure correct ownership of msgb when sending
Use talloc_steal() if a msg is passed in to osmo_io when sending. This
avoids the message being free()d early in case the original parent is
free()d.
Change-Id: Ie36bd68a8bd63e67d76fb41996f8fdf99f51d96c
---
M src/core/osmo_io.c
1 file changed, 15 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/98/34098/1
diff --git a/src/core/osmo_io.c b/src/core/osmo_io.c
index 37127c1..f9d04fd 100644
--- a/src/core/osmo_io.c
+++ b/src/core/osmo_io.c
@@ -102,6 +102,8 @@
talloc_free(hdr);
return NULL;
}
+ } else {
+ talloc_steal(iofd->msgb_alloc.ctx, msg);
}
hdr->action = action;
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/34098
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ie36bd68a8bd63e67d76fb41996f8fdf99f51d96c
Gerrit-Change-Number: 34098
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: newchange