Attention is currently required from: laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27958 )
Change subject: bsc: f_TC_paging_500req: Improve logging and checks
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
> I think this becoems _very_ specific for implementatoin details. […]
We can test this kind of stuff in osmo-bsc unit tests (tsts/paging) now, so dropping this patch.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27958
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: I08f93ad3170c218bf5e1847613f36e7690dc0908
Gerrit-Change-Number: 27958
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: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Tue, 03 May 2022 09:10:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27970 )
Change subject: bsc: Introduce test TC_paging_450req_no_paging_load_ind
......................................................................
bsc: Introduce test TC_paging_450req_no_paging_load_ind
Change-Id: I787cba895f1cb6c5bfef95259bcf69b4291a9237
---
M bsc/BSC_Tests.ttcn
M library/General_Types.ttcn
2 files changed, 35 insertions(+), 13 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
fixeria: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 26d47b6..f514c43 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -3582,28 +3582,29 @@
f_shutdown_helper();
}
-/* Verify BSC can schedule 500 paging requests under one minute if BTS buffer is good enough */
-testcase TC_paging_500req() runs on test_CT {
+/* Verify BSC can schedule N paging requests under one minute if BTS buffer is good enough */
+function f_TC_paging_Nreq(integer num_subscribers, boolean send_pag_load_ind) runs on test_CT {
var ASP_RSL_Unitdata rx_rsl_ud;
- const integer num_subscribers := 500;
- var hexstring imsis[num_subscribers];
- var boolean rx_paging_done[num_subscribers];
+ var Hexstrings imsis := {};
+ var Booleans rx_paging_done := {};
var integer rx_paging_num := 0;
var integer i;
timer T_rx := 60.0;
timer T_load_ind := 1.0;
for (i := 0; i < num_subscribers; i := i + 1) {
- imsis[i] := f_gen_imsi(i);
- rx_paging_done[i] := false;
+ imsis := imsis & {f_gen_imsi(i)};
+ rx_paging_done := rx_paging_done & { false };
}
f_init(1, guard_timeout := 100.0);
/* Clear the queue, it might still contain stuff like BCCH FILLING */
IPA_RSL[0].clear;
- /* Tell there's plenty of space at the BTS (UINT16_MAX): */
- f_ipa_tx(0, ts_RSL_PAGING_LOAD_IND(65535));
+ if (send_pag_load_ind) {
+ /* Tell there's plenty of space at the BTS (UINT16_MAX): */
+ f_ipa_tx(0, ts_RSL_PAGING_LOAD_IND(65535));
+ }
for (i := 0; i < num_subscribers; i := i + 1) {
BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap[0].sccp_addr_peer, g_bssap[0].sccp_addr_own,
@@ -3622,7 +3623,7 @@
rx_paging_done[imsi_idx] := true;
rx_paging_num := rx_paging_num + 1;
} else {
- setverdict(fail, "Retrans happened before Rx initial trans for all reqs. ", rx_paging_num);
+ setverdict(fail, "Retrans of ", imsi_str, " happened before Rx initial trans for all reqs. rx_paging_num=", rx_paging_num);
mtc.stop;
}
if (rx_paging_num < num_subscribers) {
@@ -3631,8 +3632,10 @@
}
[] IPA_RSL[0].receive { repeat; }
[] T_load_ind.timeout {
- log("Tx CCH Load Ind, received paging requests so far: ", rx_paging_num);
- f_ipa_tx(0, ts_RSL_PAGING_LOAD_IND(40));
+ log("[CCH Load Ind timer] received paging requests so far: ", rx_paging_num);
+ if (send_pag_load_ind) {
+ f_ipa_tx(0, ts_RSL_PAGING_LOAD_IND(40));
+ }
T_load_ind.start;
repeat;
}
@@ -3644,6 +3647,17 @@
f_shutdown_helper();
}
+/* Verify BSC can schedule 500 paging requests under one minute if BTS buffer is good enough */
+testcase TC_paging_500req() runs on test_CT {
+ f_TC_paging_Nreq(500, true);
+}
+/* Same as TC_paging_500req, but without sending CCCH Load Indication, which
+ * means BTS is always under CCH Load Threshold, aka capable of sending tons of requests.
+ * Since No CCCH Load Ind, BSC uses a conservative estimation of BTS load, which
+ * for current config yields ~8req/sec, so 480req/min maximum. */
+testcase TC_paging_450req_no_paging_load_ind() runs on test_CT {
+ f_TC_paging_Nreq(450, false);
+}
/* Test RSL link drop causes counter increment */
testcase TC_rsl_drop_counter() runs on test_CT {
@@ -11531,6 +11545,7 @@
execute( TC_paging_counter() );
execute( TC_paging_resp_unsol() );
execute( TC_paging_500req() );
+ execute( TC_paging_450req_no_paging_load_ind() );
execute( TC_rsl_drop_counter() );
execute( TC_rsl_unknown_unit_id() );
diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn
index 40f0770..9a8489f 100644
--- a/library/General_Types.ttcn
+++ b/library/General_Types.ttcn
@@ -175,6 +175,8 @@
type hexstring HEX1_20n length(1..20) with { variant "" };
type hexstring HEX1_34n length(1..34) with { variant "" };
+ type record of hexstring Hexstrings with { variant "" };
+
//****************************************************
// Integers
//****************************************************
@@ -194,6 +196,12 @@
type integer INT13nbp (0..8191) with { variant "" };
type integer INT15nbp (0..32767) with { variant "" };
+ //****************************************************
+ // Booleans
+ //****************************************************
+
+ type record of boolean Booleans with { variant "" };
+
} // end group NativeTypes
//****************************************************
@@ -328,4 +336,3 @@
} // end group CompositeTypes
} with { encode "RAW" } /* End of module General_Types */
-
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27970
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: I787cba895f1cb6c5bfef95259bcf69b4291a9237
Gerrit-Change-Number: 27970
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
pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/27996 )
Change subject: ttcn3-ggsn-test-ogs: set CAP_NET_RAW for open5gs-upfd
......................................................................
ttcn3-ggsn-test-ogs: set CAP_NET_RAW for open5gs-upfd
The SO_BINDTODEVICE feature (used for VRF) requires CAP_NET_RAW. Since
we run open5gs-upfd as user "osmocom", that seems to be causing some
permission problems under some systems (like jenkins). Let's make sure
we add the capabilitites to the binary before launching it as user
"osmocom".
Change-Id: I51ee6954a6c019a41cfcd50b2d99166316989d9b
---
M open5gs-master/Dockerfile
M ttcn3-ggsn-test/ogs/upfd.sh
2 files changed, 5 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile
index dd6cfd8..0e73559 100644
--- a/open5gs-master/Dockerfile
+++ b/open5gs-master/Dockerfile
@@ -12,6 +12,7 @@
sudo \
iproute2 \
iputils-ping \
+ libcap2-bin \
net-tools && \
apt-get clean
diff --git a/ttcn3-ggsn-test/ogs/upfd.sh b/ttcn3-ggsn-test/ogs/upfd.sh
index 694df35..9089701 100755
--- a/ttcn3-ggsn-test/ogs/upfd.sh
+++ b/ttcn3-ggsn-test/ogs/upfd.sh
@@ -2,5 +2,7 @@
set -e
set -x
/data/upfd-setup.sh
-#du -lha / | grep freeDiameter
-su - osmocom -c "open5gs-upfd $*"
+upfd_bin="$(command -v open5gs-upfd)"
+# so_bindtodevice cfg requires CAP_NET_RAW:
+setcap cap_net_raw+ep "$upfd_bin"
+su - osmocom -c "$upfd_bin $*"
--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/27996
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I51ee6954a6c019a41cfcd50b2d99166316989d9b
Gerrit-Change-Number: 27996
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
Attention is currently required from: pespin.
Hello osmith, Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28001
to look at the new patch set (#6).
Change subject: tests: Introduce paging_test
......................................................................
tests: Introduce paging_test
Add unit test env to easily test several paging scenarios.
Change-Id: Iab61bf6a6eece5f439a19f7a5a0dc068a808ae8a
---
M configure.ac
M tests/Makefile.am
A tests/paging/Makefile.am
A tests/paging/paging_test.c
A tests/paging/paging_test.ok
M tests/testsuite.at
6 files changed, 8,323 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/28001/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28001
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Iab61bf6a6eece5f439a19f7a5a0dc068a808ae8a
Gerrit-Change-Number: 28001
Gerrit-PatchSet: 6
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/28002 )
Change subject: paging: Take into account extra delay of all paging groups in BSC queue
......................................................................
Patch Set 3: Code-Review+1
(3 comments)
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/28002/comment/cfc17c6a_5496a2c6
PS2, Line 347: reqs_before_same_pgroup
> (group vs pgroup inconsistent?)
Done
https://gerrit.osmocom.org/c/osmo-bsc/+/28002/comment/4fd96358_4a87d942
PS2, Line 664: If don't
> "If we don't"?
Done
https://gerrit.osmocom.org/c/osmo-bsc/+/28002/comment/ce7b2ceb_b0cd74a1
PS2, Line 671: GSM51_MFRAME_DURATION_us
> Yes. […]
Ack
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28002
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib55f947c5d3490b27e1d08d39392992919512f9a
Gerrit-Change-Number: 28002
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 03 May 2022 08:51:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28000
to look at the new patch set (#2).
Change subject: abis_rsl: Use proper struct in rsl_paging_cmd
......................................................................
abis_rsl: Use proper struct in rsl_paging_cmd
Use the same one as used to decode the message in osmo-bts.
This patch doesn't cause a change in logic since both headers are binary
identical.
Change-Id: Ideb863fdaedf77caac1a320de6696ba4f507a398
---
M src/osmo-bsc/abis_rsl.c
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/28000/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28000
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ideb863fdaedf77caac1a320de6696ba4f507a398
Gerrit-Change-Number: 28000
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: fixeria <vyanitskiy(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: pespin.
Hello Jenkins Builder, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28003
to look at the new patch set (#2).
Change subject: bts: Properly free ctr/stat when bts object is freed
......................................................................
bts: Properly free ctr/stat when bts object is freed
This was so far workarounded in tests by manually freeing the fields.
However, in follow-up patch the paging queue will also be properly
freed, so free of the counters needs to be previously fixed too so that
counters are freed at the right point of time.
Otherwise, during paging queue flush, counters are used and would crash
because they were freed before the BTS object in each test's bts_del().
Change-Id: Id213e21cf9bfc5439021e459c22ba4704d8cae2b
---
M src/osmo-bsc/bts.c
M tests/acc/acc_test.c
M tests/gsm0408/gsm0408_test.c
3 files changed, 3 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/28003/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28003
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id213e21cf9bfc5439021e459c22ba4704d8cae2b
Gerrit-Change-Number: 28003
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset