Attention is currently required from: neels, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27311 )
Change subject: bsc: inter-BSC HO in: expect codecs in HO Request ACK
......................................................................
Patch Set 1:
(1 comment)
File bsc/BSC_Tests.ttcn:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27311/comment/f12ca40a_a8b0…
PS1, Line 6033: mtc.stop;
> Misc_Helpers.f_shutdown() would fit better here (also in other additions below).
Ack
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27311
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: Ib2b4e27be241e2a92c0c3bffdf906bf22c09352b
Gerrit-Change-Number: 27311
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 23 Feb 2022 18:41:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27314 )
Change subject: ggsn: Support rx cause 'New PDP type due to network preference'
......................................................................
ggsn: Support rx cause 'New PDP type due to network preference'
Related: OS#5449
Change-Id: Iace6a4bd0c2372601dc43108ec4eb78602dbcf30
---
M ggsn_tests/GGSN_Tests.ttcn
1 file changed, 75 insertions(+), 34 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/27314/1
diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index bef7949..247e205 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -331,9 +331,15 @@
}
}
- function f_handle_create_req(inout PdpContext ctx, in Gtp1cUnitdata ud, in OCT1 exp_cause := '80'O) runs on GT_CT {
+ function f_handle_create_req(inout PdpContext ctx, in Gtp1cUnitdata ud, in template OCT1 exp_cause := '80'O) runs on GT_CT {
var CreatePDPContextResponse cpr := ud.gtpc.gtpc_pdu.createPDPContextResponse;
- if (exp_cause == '80'O and exp_cause == cpr.cause.causevalue) {
+
+ if (not match(cpr.cause.causevalue, exp_cause)) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "CreatePDPContextResp: cause expectancies didn't match");
+ }
+
+ if (cpr.cause.causevalue == '80'O) { /* Accepted */
/* Check if EUA type corresponds to requested type */
if (match(ctx.eua, t_EuaIPv4(?)) and
not match(cpr.endUserAddress, tr_EuaIPv4(?))){
@@ -350,34 +356,45 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
"EUAv4v6 expectancies didn't match");
}
- /* Check if PCO response corresponds to request */
- if (ispresent(ctx.pco_req)) {
- if (match(ctx.pco_req, ts_PCO_IPv4_DNS_CONT) and
- not match(cpr.protConfigOptions, tr_PCO_IPv4_DNS_CONT_resp(?))) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- "IPv4 DNS Container requested, but missing");
- }
- if (match(ctx.pco_req, ts_PCO_IPv6_DNS) and
- not match(cpr.protConfigOptions, tr_PCO_IPv6_DNS_resp(?))) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- "IPv6 DNS Container requested, but missing");
- }
+ } else if (cpr.cause.causevalue == '81'O) { /* Cause: New PDP type due to network preference */
+ /* ETSI TS 129 060 7.3.2 Create PDP Context Response. OS#5449 */
+ /* This should only happen if EUA requested type is v4v6: */
+ if (not ischosen(ctx.eua.endUserAddress.endUserAddressIPv4andIPv6)) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "Cause not expected when requesting a non v4v6 EUA");
}
- ctx.teid_remote := cpr.teidDataI.teidDataI;
- ctx.teic_remote := cpr.teidControlPlane.teidControlPlane;
- ctx.eua := cpr.endUserAddress;
- ctx.pco_neg := cpr.protConfigOptions;
- setverdict(pass);
- } else if (exp_cause != '80'O and exp_cause == cpr.cause.causevalue) {
- if (ispresent(cpr.endUserAddress)) {
- log("EUA received on createPDPContextResponse cause=" & oct2str(cpr.cause.causevalue));
- setverdict(fail);
+ if (not match(cpr.endUserAddress, tr_EuaIPv4(?)) and
+ not match(cpr.endUserAddress, tr_EuaIPv6(?))) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "Cause not expected when requesting+receiving EUAv4v6");
}
- setverdict(pass);
} else {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- "CreatePDPContextResp: cause expectancies didn't match");
+ if (ispresent(cpr.endUserAddress)) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "EUA received on createPDPContextResponse cause=" & oct2str(cpr.cause.causevalue));
+ }
+ setverdict(pass);
+ return;
}
+
+ /* Check if PCO response corresponds to request */
+ if (ispresent(ctx.pco_req)) {
+ if (match(ctx.pco_req, ts_PCO_IPv4_DNS_CONT) and
+ not match(cpr.protConfigOptions, tr_PCO_IPv4_DNS_CONT_resp(?))) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "IPv4 DNS Container requested, but missing");
+ }
+ if (match(ctx.pco_req, ts_PCO_IPv6_DNS) and
+ not match(cpr.protConfigOptions, tr_PCO_IPv6_DNS_resp(?))) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "IPv6 DNS Container requested, but missing");
+ }
+ }
+ ctx.teid_remote := cpr.teidDataI.teidDataI;
+ ctx.teic_remote := cpr.teidControlPlane.teidControlPlane;
+ ctx.eua := cpr.endUserAddress;
+ ctx.pco_neg := cpr.protConfigOptions;
+ setverdict(pass);
}
function f_handle_update_req(inout PdpContext ctx, in Gtp1cUnitdata ud, in OCT1 exp_cause := '80'O) runs on GT_CT {
@@ -420,8 +437,9 @@
}
/* send a PDP context activation */
- function f_pdp_ctx_act(inout PdpContext ctx, OCT1 exp_cause := '80'O) runs on GT_CT {
+ function f_pdp_ctx_act(inout PdpContext ctx, template OCT1 exp_cause := '80'O) runs on GT_CT return CreatePDPContextResponse {
var Gtp1cUnitdata ud;
+ var CreatePDPContextResponse cpr;
var default d;
log("sending CreatePDP");
@@ -436,10 +454,12 @@
alt {
[] GTPC.receive(tr_GTPC_MsgType(g_peer_c, createPDPContextResponse, ctx.teic)) -> value ud {
f_handle_create_req(ctx, ud, exp_cause);
+ cpr := ud.gtpc.gtpc_pdu.createPDPContextResponse;
}
}
deactivate(d);
T_default.stop;
+ return cpr;
}
function f_pdp_ctx_exp_del_req(PdpContext ctx, template (omit) OCT1 expect_cause := omit, boolean expect_teardown := false) runs on GT_CT {
@@ -1680,18 +1700,39 @@
/* Test IPv4v6 context activation for dynamic IPv4v6 EUA on a v4-only APN */
testcase TC_pdp46_act_deact_apn4() runs on GT_CT {
+ var CreatePDPContextResponse cpr;
+ var OCT1 cause_accept := '80'O; /* Normal accept cause */
+ var OCT1 cause_new_pdp_type := '81'O; /* Cause: New PDP type due to network preference */
+ var OCT1 cause_unknown_pdp := 'DC'O; /* Cause: Unknown PDP address or PDP type */
f_init();
- /* A typical MS first attempts v4v6, and if rejected, then tries v4 and v6 separetly */
var PdpContext ctx46 := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInternet, valueof(t_EuaIPv4Dynv6Dyn)));
- f_pdp_ctx_act(ctx46, 'DC'O); /* Cause: Unknown PDP address or PDP type */
+ cpr := f_pdp_ctx_act(ctx46, (cause_unknown_pdp, cause_new_pdp_type));
- var PdpContext ctx4 := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInternet, valueof(t_EuaIPv4Dyn)));
- f_pdp_ctx_act(ctx4, '80'O); /* Normal accept cause */
+ if (cpr.cause.causevalue == cause_new_pdp_type) {
+ /* 3GPP TS 23.060 sec 9.2.1: "If the MS requests PDP type IPv4v6,
+ * but the operator preferences dictate the use of a single IP
+ * version only, the PDP type shall be changed to a single address
+ * PDP type (IPv4 or IPv6) and a reason cause shall be returned to
+ * the MS indicating that only the assigned PDP type is allowed. In
+ * this case, the MS shall not request another PDP context for the
+ * other PDP type during the existence of the PDP context." */
+ f_pdp_ctx_del(ctx46, '1'B);
+ } else {
+ /* 3GPP TS 23.060 sec 9.2.1 NOTE 5: If the MS requests PDP type
+ * IPv4v6, and the PDP context is rejected due to "unknown PDP
+ * type", the MS can attempt to establish dual-stack connectivity
+ * by performing two PDP context request procedures to activate an
+ * IPv4 PDP context and an IPv6 PDP context, both to the same APN. A
+ * typical MS first attempts v4v6, and if rejected, then tries v4
+ * and v6 separetly */
+ var PdpContext ctx4 := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInternet, valueof(t_EuaIPv4Dyn)));
+ f_pdp_ctx_act(ctx4, '80'O); /* Normal accept cause */
- var PdpContext ctx6 := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInternet, valueof(t_EuaIPv6Dyn)));
- f_pdp_ctx_act(ctx6, 'DC'O); /* Cause: Unknown PDP address or PDP type */
+ var PdpContext ctx6 := valueof(t_DefinePDP(f_rnd_imsi('26242'H), '1234'O, c_ApnInternet, valueof(t_EuaIPv6Dyn)));
+ f_pdp_ctx_act(ctx6, 'DC'O); /* Cause: Unknown PDP address or PDP type */
- f_pdp_ctx_del(ctx4, '1'B);
+ f_pdp_ctx_del(ctx4, '1'B);
+ }
}
/* Validate if 2nd CtxCreateReq with increased Recovery IE causes ggsn to drop 1st one (while keeping 2nd one). */
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27314
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: Iace6a4bd0c2372601dc43108ec4eb78602dbcf30
Gerrit-Change-Number: 27314
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: osmith.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/27312 )
Change subject: mobile/subscriber.c: fix auth resp with test sim
......................................................................
Patch Set 2: Code-Review+2
(1 comment)
Patchset:
PS2:
Oh, so I broke the test card feature back in 2018... Thanks for fixing it!
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/27312
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I0ee910c171d383fb2cdcaf5eb54eafe18da3430b
Gerrit-Change-Number: 27312
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 23 Feb 2022 17:41:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: neels.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27309 )
Change subject: inter-BSC HO in: add Speech Codec (Chosen) IE to HO Req Ack
......................................................................
Patch Set 1: Code-Review-1
(1 comment)
File src/osmo-bsc/osmo_bsc_bssap.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27309/comment/abea5aba_2f76e018
PS1, Line 1449: return HO_RESULT_ERROR
Everywhere in this function I see -ERRNO returned, but here you return a positive integer from 'enum handover_result'. Then in ho_fsm_wait_rr_ho_detect_onenter() we're calling strerror(-rc). The error message in this case may look really confusing, so I suggest to use -ERRNO here too.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27309
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1d0b395c97145b5aa1af4ef67aec9338d2f8f43b
Gerrit-Change-Number: 27309
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(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: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 23 Feb 2022 17:25:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: iedemam, laforge.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27081 )
Change subject: New stats for lchan life duration.
......................................................................
Patch Set 11:
(1 comment)
Patchset:
PS11:
the build failure looks rather weird, haven't seen such before. no idea what's going on there... usually we get a concise error message. maybe it's from a segfault or something??
can't look closer now, will see later.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27081
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1b0670c47cb5e0b7776eda89d1e71545ba0e3347
Gerrit-Change-Number: 27081
Gerrit-PatchSet: 11
Gerrit-Owner: iedemam <michael(a)kapsulate.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: iedemam <michael(a)kapsulate.com>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 23 Feb 2022 17:14:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment