Attention is currently required from: laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/30857 )
Change subject: MNCC data size check: allow trailing data
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/mncc-python/+/30857
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: mncc-python
Gerrit-Branch: master
Gerrit-Change-Id: Ic8c24e6988ae2d3c4278c4adccae46e248c893b8
Gerrit-Change-Number: 30857
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 04 Jan 2023 14:55:20 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/30490 )
Change subject: sndcp: Initial libosmo-gprs-sndcp support
......................................................................
sndcp: Initial libosmo-gprs-sndcp support
This commit follows a similar approach to Change-Id
I588eb576b2703262f4ab9566ec362920d8390cfd, this time targeting the SNDCP
layer, creating a new library for it.
This new library depends on headers from libosmo-gprs-llc since the
SNDCP spec takes the interface towards lower interfaces from same
llc_prim. It doesn't really call any API from the libosmo-gprs-llc
library to dispatch the primitive, that's left for the application, so
that it can be reused against other implementations.
Most of the SNDCP data structures and APIs are kept private and used
only internally. The Higher/lower layers are expected to interact with
it through the sndcp_prim API.
This commit also implements some of the code paths of the public API by
means on importing SNDCP code from osmo-sgsn.git commit
57b63875c762a784127a13becd1c2549ca6c5454.
The import of code cannot be done in a separate commit since existing code
in osmo-sgsn.git is low quality and has tons of layer violations in all
directions.
Hence, this commit aims at being an initial point of having some working
SNDCP stack by means of a few unit tests, but by no means aims to be a
total working implementation. Some code paths are missing; bugs are
expected at this point.
Change-Id: Ie05b5d721cf0a6147ed45c1feb75ad829865252b
---
M .checkpatch.conf
M Makefile.am
M configure.ac
M contrib/libosmo-gprs.spec.in
M debian/control
M include/osmocom/gprs/Makefile.am
M include/osmocom/gprs/llc/llc_private.h
A include/osmocom/gprs/sndcp/Makefile.am
A include/osmocom/gprs/sndcp/comp.h
A include/osmocom/gprs/sndcp/dcomp.h
A include/osmocom/gprs/sndcp/pcomp.h
A include/osmocom/gprs/sndcp/slhc.h
A include/osmocom/gprs/sndcp/sndcp.h
A include/osmocom/gprs/sndcp/sndcp_prim.h
A include/osmocom/gprs/sndcp/sndcp_private.h
A include/osmocom/gprs/sndcp/v42bis.h
A include/osmocom/gprs/sndcp/v42bis_private.h
A include/osmocom/gprs/sndcp/xid.h
A libosmo-gprs-sndcp.pc.in
M src/Makefile.am
A src/sndcp/Makefile.am
A src/sndcp/misc.c
A src/sndcp/slhc.c
A src/sndcp/sndcp.c
A src/sndcp/sndcp_comp.c
A src/sndcp/sndcp_dcomp.c
A src/sndcp/sndcp_pcomp.c
A src/sndcp/sndcp_prim.c
A src/sndcp/sndcp_xid.c
A src/sndcp/v42bis.c
M tests/Makefile.am
A tests/sndcp/Makefile.am
A tests/sndcp/slhc_test.c
A tests/sndcp/slhc_test.ok
A tests/sndcp/sndcp_prim_test.c
A tests/sndcp/sndcp_prim_test.err
A tests/sndcp/sndcp_prim_test.ok
A tests/sndcp/sndcp_xid_test.c
A tests/sndcp/sndcp_xid_test.ok
M tests/testsuite.at
40 files changed, 8,774 insertions(+), 9 deletions(-)
Approvals:
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
13 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/30490
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: Ie05b5d721cf0a6147ed45c1feb75ad829865252b
Gerrit-Change-Number: 30490
Gerrit-PatchSet: 15
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: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30851 )
Change subject: bsc_compl_l3(): Update documentation regarding no bsc_subscr in conn
......................................................................
bsc_compl_l3(): Update documentation regarding no bsc_subscr in conn
TTCN3 have been improved in osmo-ttcn3-hacks.git Change-Id
I6e99ac39f32c9a981420b73f8d7d1568d2fa1c54 to use valid l3 data.
Related: SYS#6280
Change-Id: I4918f1741d465abf8b06a9c65199a44b09778299
---
M src/osmo-bsc/gsm_08_08.c
1 file changed, 6 insertions(+), 5 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 3e0683c..a2bab4b 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -389,11 +389,10 @@
if (osmo_mobile_identity_decode_from_l3(&mi, msg, false)) {
LOG_COMPL_L3(pdisc, mtype, LOGL_ERROR, "Cannot extract Mobile Identity: %s\n",
msgb_hexdump_c(OTC_SELECT, msg));
- /* Likely this is an invalid Complete Layer 3 message that deserves to be rejected. However, the current
- * state of our ttcn3 tests does send invalid Layer 3 Info in some tests and expects osmo-bsc to not
- * care about that. So, changing the behavior to rejecting on missing MI causes test failure and, if at
- * all, should happen in a separate patch.
- * See e.g. BSC_Tests.TC_chan_rel_rll_rel_ind: "dt := * f_est_dchan('23'O, 23, '00010203040506'O);"
+ /* Likely this is an invalid Complete Layer 3 message that deserves to be rejected. However, the BSC is
+ * not expected to look at this layer so it's duty of the MSC to reject it.
+ * Hence, keep on going with the conn without an assigned bsc_subscr, forwarding the L3 to the MSC and
+ * letting it take decision on the matter.
*/
} else {
bsub = bsc_subscr_find_or_create_by_mi(bsc_gsmnet->bsc_subscribers, &mi, __func__);
@@ -440,6 +439,8 @@
paged_from_msc = NULL;
paging_reasons = BSC_PAGING_NONE;
if (pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) {
+ /* It only makes sense to attempt to find a pending paging request if the subscriber from the
+ * Paging Response can be identified (bsub != NULL). */
if (conn->bsub)
paging_request_stop(&paged_from_msc, &paging_reasons, bts, conn->bsub);
if (!paged_from_msc) {
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30851
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I4918f1741d465abf8b06a9c65199a44b09778299
Gerrit-Change-Number: 30851
Gerrit-PatchSet: 1
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-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30846 )
Change subject: bsc: Move BSSAP handling of emergency call to helper function
......................................................................
bsc: Move BSSAP handling of emergency call to helper function
Change-Id: I3a88efeae6710ba005496067ecb0c8f4035404ab
---
M bsc/BSC_Tests.ttcn
1 file changed, 14 insertions(+), 44 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 469d7b6..45c319d 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9156,15 +9156,13 @@
RSL.send(emerg_setup_data_ind);
}
-/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
- * CALLS are permitted by the BSC config. */
-private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+/* expect EmergencySetup on BSSAP after calling f_assignment_emerg_setup() */
+private function f_assignment_emerg_setup_exp_bssap()
+runs on MSC_ConnHdlr {
var PDU_BSSAP emerg_setup_data_ind_bssap;
var PDU_ML3_MS_NW emerg_setup;
timer T := 3.0;
- f_assignment_emerg_setup()
-
T.start;
alt {
[] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
@@ -9180,6 +9178,14 @@
setverdict(fail, "timout waiting for EMERGENCY SETUP!");
}
}
+}
+
+/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
+ * CALLS are permitted by the BSC config. */
+private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+
+ f_assignment_emerg_setup();
+ f_assignment_emerg_setup_exp_bssap();
setverdict(pass);
f_perform_clear();
@@ -9191,7 +9197,7 @@
var PDU_BSSAP emerg_setup_data_ind_bssap;
timer T := 3.0;
- f_assignment_emerg_setup()
+ f_assignment_emerg_setup();
T.start;
alt {
@@ -10468,25 +10474,7 @@
* another lchan. */
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not isbound(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Here would usually be a CC Call Proceeding from the MSC, but what does the BSC care about DTAP. */
@@ -10576,25 +10564,7 @@
{
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not ischosen(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Start a Location Request to locate the emergency */
f_bssap_le_register_imsi(g_pars.imsi, omit);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30846
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: I3a88efeae6710ba005496067ecb0c8f4035404ab
Gerrit-Change-Number: 30846
Gerrit-PatchSet: 1
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
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30844 )
Change subject: bsc: Use f_rnd_ra_emerg() instead of hardcoded value
......................................................................
bsc: Use f_rnd_ra_emerg() instead of hardcoded value
Change-Id: Id10d71868dc8ef427e0353ee4b7e51d5bebc6255
---
M bsc/BSC_Tests.ttcn
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index c3743df..909b71f 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -10466,7 +10466,7 @@
/* Make sure the CHAN RQD indicates an emergency call (0b101xxxxx). The difference is that osmo-bsc directly
* assigns a TCH lchan and establishing voice for the emergency call will use Mode Modify, not reassignment to
* another lchan. */
- g_pars.ra := 'b7'O;
+ g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
var PDU_BSSAP emerg_setup_data_ind_bssap;
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30844
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: Id10d71868dc8ef427e0353ee4b7e51d5bebc6255
Gerrit-Change-Number: 30844
Gerrit-PatchSet: 1
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