osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/39546?usp=email )
Change subject: jenkins.sh: No need to build libosmo-sigtran with doxygen
......................................................................
jenkins.sh: No need to build libosmo-sigtran with doxygen
Change-Id: Iab3d1b2e1591e66702a01def6c322f4a11970ead
(cherry picked from commit df44350b4b6fbc3922308fae18501ff11d546d9a)
---
M contrib/jenkins.sh
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/46/39546/1
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index ced8367..d3c7616 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -38,7 +38,7 @@
osmo-build-dep.sh osmo-hlr
if [ "x$IU" = "x--enable-iu" ]; then
- osmo-build-dep.sh libosmo-sigtran
+ osmo-build-dep.sh libosmo-sigtran "" --disable-doxygen
osmo-build-dep.sh libasn1c
#osmo-build-dep.sh asn1c aper-prefix # only needed for make regen in osmo-iuh
osmo-build-dep.sh osmo-iuh
--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/39546?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-sgsn
Gerrit-Branch: pespin/base
Gerrit-Change-Id: Iab3d1b2e1591e66702a01def6c322f4a11970ead
Gerrit-Change-Number: 39546
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/39545?usp=email )
Change subject: sgsn_vty: Drop unneeded use of abis/ipa.h header
......................................................................
sgsn_vty: Drop unneeded use of abis/ipa.h header
The header is not needed and will eventually be deprecated.
Change-Id: I48a513b8ea63dadbc6d6d571380980f55ff04a06
(cherry picked from commit 7a45b5748582594d8113c24d7de03dd4740ccb4e)
---
M src/sgsn/sgsn_vty.c
1 file changed, 0 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/45/39545/1
diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c
index 113fdd1..2d41009 100644
--- a/src/sgsn/sgsn_vty.c
+++ b/src/sgsn/sgsn_vty.c
@@ -53,7 +53,6 @@
#include <osmocom/vty/misc.h>
#include <osmocom/crypt/gprs_cipher.h>
#include <osmocom/crypt/utran_cipher.h>
-#include <osmocom/abis/ipa.h>
#include <osmocom/gprs/gprs_bssgp.h>
--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/39545?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-sgsn
Gerrit-Branch: pespin/base
Gerrit-Change-Id: I48a513b8ea63dadbc6d6d571380980f55ff04a06
Gerrit-Change-Number: 39545
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/39548?usp=email )
Change subject: gprs_ms_net_cap_gea_mask(): protect against empty MS Network Capabilities
......................................................................
gprs_ms_net_cap_gea_mask(): protect against empty MS Network Capabilities
When the MS Network Capability is empty, expect to support at least
unencrypted communications.
This shouldn't be empty at all, as the minimum length of it is 2 when
the MS/UE is doing an Attach Request.
But when receiving a MS/UE SGSN Context via Gn, the field
is optional.
The MS/UE shall include it into the Routing Area Request,
but not must.
Change-Id: Ieef2e3eeaaadc90c35fff6f20d47bd36aaa4b9e6
(cherry picked from commit d3b037ccfae542807b7602c2163f11fa0eb3b885)
---
M src/sgsn/gprs_gmm.c
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/48/39548/1
diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c
index 9aae62b..7a4ea20 100644
--- a/src/sgsn/gprs_gmm.c
+++ b/src/sgsn/gprs_gmm.c
@@ -1229,6 +1229,10 @@
static uint8_t gprs_ms_net_cap_gea_mask(const uint8_t *ms_net_cap, uint8_t cap_len)
{
uint8_t mask = (1 << GPRS_ALGO_GEA0);
+
+ if (cap_len == 0)
+ return mask;
+
mask |= (0x80 & ms_net_cap[0]) ? (1 << GPRS_ALGO_GEA1) : 0;
if (cap_len < 2)
--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/39548?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-sgsn
Gerrit-Branch: pespin/base
Gerrit-Change-Id: Ieef2e3eeaaadc90c35fff6f20d47bd36aaa4b9e6
Gerrit-Change-Number: 39548
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria.
pespin has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/libosmocore/+/39540?usp=email )
Change subject: gsmtap: fix outdated header version in comment
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/39540?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iee4cbd5f8699ed7da28a0f9ac5856b435e76b86a
Gerrit-Change-Number: 39540
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 13 Feb 2025 14:09:58 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39539?usp=email )
Change subject: s1gw: f_ConnHdlr_session_delete(): respect any order
......................................................................
s1gw: f_ConnHdlr_session_delete(): respect any order
It's not guranteed (nor required) that PFCP Session Deletion Request
PDUs are sent in the same order as their respective ERab records are
organized in the given ERabList. They can be emitted in any order.
Make f_ConnHdlr_session_delete() more flexible:
* Expect to receive N PFCP Session Deletion Request PDUs;
* For each received PFCP PDU, find the matching E-RAB;
* Make sure that an E-RAB is never released twice;
* Send PFCP Session Deletion Response.
This patch fixes the following TCs:
* TC_ue_ctx_release_req3
* TC_ue_ctx_release_cmd_compl3
Change-Id: I93d3d38829b1f425d18d59464894da239e3511eb
Related: 75cb01b7 ("s1gw: add TCs for UE CONTEXT RELEASE procedures")
Related: SYS#7310
---
M s1gw/S1GW_ConnHdlr.ttcn
1 file changed, 34 insertions(+), 8 deletions(-)
Approvals:
fixeria: Looks good to me, approved
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
pespin: Looks good to me, but someone else must approve
diff --git a/s1gw/S1GW_ConnHdlr.ttcn b/s1gw/S1GW_ConnHdlr.ttcn
index be9f9d7..3f79e47 100644
--- a/s1gw/S1GW_ConnHdlr.ttcn
+++ b/s1gw/S1GW_ConnHdlr.ttcn
@@ -302,6 +302,20 @@
private const LIN4_BO_LAST c_PFCP_FAR_ID_C2A := 1; /* Core -> Access */
private const LIN4_BO_LAST c_PFCP_FAR_ID_A2C := 2; /* Access -> Core */
+/* look-up an E-RAB in the given list by SEID of the received PFCP PDU */
+private function f_ERabList_find_by_pdu(in ERabList erabs, in PDU_PFCP rsp)
+return integer {
+ for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
+ if (erabs[i].pfcp_loc_seid == rsp.seid) {
+ return i;
+ }
+ }
+
+ setverdict(fail, __SCOPE__, "(): no matching E-RAB found");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ return -1; /* make compiler happy */
+}
+
function f_ConnHdlr_tx_erab_setup_req(in ERabList erabs)
runs on ConnHdlr {
var template (value) E_RABToBeSetupListBearerSUReq items;
@@ -747,15 +761,27 @@
function f_ConnHdlr_session_delete(inout ERabList erabs)
runs on ConnHdlr {
- for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
- log("UPF <- S1GW: PFCP Session Deletion Request for E-RAB ID ", erabs[i].erab_id);
- var PDU_PFCP pdu := f_ConnHdlr_rx_session_delete_req(erabs[i]);
- log("UPF -> S1GW: PFCP Session Deletion Response for E-RAB ID ", erabs[i].erab_id);
- f_ConnHdlr_tx_session_delete_resp(erabs[i], pdu);
- /* ask PFCPEM to *not* route PDUs with this SEID to us */
- f_PFCPEM_unsubscribe_seid(erabs[i].pfcp_loc_seid);
+ var integer pending_erabs := lengthof(erabs);
+
+ while (pending_erabs > 0) {
+ var PDU_PFCP pdu := f_ConnHdlr_pfcp_expect(tr_PFCP_Session_Del_Req);
+ var integer idx := f_ERabList_find_by_pdu(erabs, pdu);
+
+ log("UPF <- S1GW: PFCP Session Deletion Request for E-RAB ID ", erabs[idx].erab_id);
+ /* make sure that an E-RAB is never released twice */
+ if (not ispresent(erabs[idx].pfcp_rem_seid)) {
+ setverdict(fail, __SCOPE__, "(): PFCP Session Deletion Request ",
+ "was not expected for E-RAB ID ", erabs[idx].erab_id);
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ }
+ log("UPF -> S1GW: PFCP Session Deletion Response for E-RAB ID ", erabs[idx].erab_id);
+ f_ConnHdlr_tx_session_delete_resp(erabs[idx], pdu);
+ /* ask PFCPEM to *not* route PDUs with the local SEID to us */
+ f_PFCPEM_unsubscribe_seid(erabs[idx].pfcp_loc_seid);
/* peer's SEID is no longer valid, invalidate it */
- erabs[i].pfcp_rem_seid := omit;
+ erabs[idx].pfcp_rem_seid := omit;
+
+ pending_erabs := pending_erabs - 1;
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39539?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I93d3d38829b1f425d18d59464894da239e3511eb
Gerrit-Change-Number: 39539
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>