arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30313 )
Change subject: ttcn3-tcpdump-stop.sh: Don't use lsof
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
I understand, I misunderstood this as a case of
> * it is very trivial, like a typo fix in a comment or log string, so that it is not worth wasting review time on.
plus getting a +1 seemed to reinforce that particular case for me.
I won't do it again
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30313
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: I38e132f49b0711d611d08b61c28b3092c991a191
Gerrit-Change-Number: 30313
Gerrit-PatchSet: 1
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 29 Nov 2022 15:33:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: msuraev <msuraev(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30347 )
Change subject: paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
......................................................................
Patch Set 6:
(1 comment)
Patchset:
PS2:
> Don't merge this yet, I'll rebase it on top of another patch I submitted splitting the current queue […]
This is fine again now, I rewrote the patch as mentioned.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30347
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Idfd93254ae456b1ee08416e05479488299dd063d
Gerrit-Change-Number: 30347
Gerrit-PatchSet: 6
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 29 Nov 2022 15:28:49 +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/+/30374 )
Change subject: pcu: TC_paging_cs_from_sgsn_*: Fix race condition between BSSGP tx and RLCMAC rx
......................................................................
pcu: TC_paging_cs_from_sgsn_*: Fix race condition between BSSGP tx and RLCMAC rx
It can happen that the RLCMAC req arrives at osmo-pcu before the
CS_PAGING we send to it over BSSGP, in which case osmo-pcu will schedule
an RLCMAC DL Dummy Block. Take into account this scenario to avoid
failing id it occurs.
Change-Id: I30da93835c7738aefcd84691d83f39759dd4b599
---
M pcu/PCU_Tests.ttcn
1 file changed, 21 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/30374/1
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 385ebf6..b2c9aff 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -3638,6 +3638,8 @@
var hexstring imsi := f_gen_imsi(42);
var GsmTmsi tmsi;
var GprsMS ms;
+ var uint32_t dl_fn;
+ var integer i;
/* Initialize NS/BSSGP side */
f_init_bssgp();
@@ -3663,8 +3665,25 @@
BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi));
}
- /* Receive it on BTS side towards MS */
- f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block);
+ /* Now receive it on BTS side towards MS.
+ * Skip any dummy blocks in case the PCUIF req arrives before the BSSP CS_PAGING:
+ */
+ for (i := 0; i < 10; i := i + 1) {
+ f_rx_rlcmac_dl_block(dl_block, dl_fn);
+ if (not match(dl_block, tr_RLCMAC_DL_DUMMY_CTRL)) {
+ /* Received first data, starting processing: */
+ break;
+ }
+ }
+ if (i == 10) {
+ setverdict(fail, "Didn't receive CS_PAGING on RLCMAC");
+ f_shutdown(__BFILE__, __LINE__);
+ }
+ if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) {
+ setverdict(fail, "Failed to match Packet Paging Request: ",
+ dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ());
+ f_shutdown(__BFILE__, __LINE__);
+ }
/* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */
var PacketPagingReq req := dl_block.ctrl.payload.u.paging;
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30374
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: I30da93835c7738aefcd84691d83f39759dd4b599
Gerrit-Change-Number: 30374
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30371
to look at the new patch set (#2).
Change subject: pcu: TC_cs_max_dl: Fix race condition waiting for first DL data after X2002
......................................................................
pcu: TC_cs_max_dl: Fix race condition waiting for first DL data after X2002
Since recently osmo-pcu arms the X2002 in a more fitting place (later,
when paging.cnf is received from osmo-bts over PCUIF).
Since we use same X2002 value in TTCN3 to wait for the timer to trigger,
in the past it was always fine (the X2002 at osmo-pcu always already had
triggered before the one in ttcn3 after receiving the ImmAss).
However, now the timer is roughly set at the same time in both places (ttcn3 and
osmo-pcu) and hence there may be race conditions where we request a
DL data block before the X2002 triggered at osmo-pcu, in which case we
receive a DL dummy block because the TBF is not yet in the FLOW state.
Change-Id: If7121473a3580b40d3a658dc38b9bb1421196127
---
M pcu/PCU_Tests.ttcn
1 file changed, 17 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/30371/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30371
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: If7121473a3580b40d3a658dc38b9bb1421196127
Gerrit-Change-Number: 30371
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: newpatchset
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30372 )
Change subject: pcu: TC_dl_flow_more_blocks: Fix race condition waiting for first DL data after X2002
......................................................................
pcu: TC_dl_flow_more_blocks: Fix race condition waiting for first DL data after X2002
Since recently osmo-pcu arms the X2002 in a more fitting place (later,
when paging.cnf is received from osmo-bts over PCUIF).
Since we use same X2002 value in TTCN3 to wait for the timer to trigger,
in the past it was always fine (the X2002 at osmo-pcu always already had
triggered before the one in ttcn3 after receiving the ImmAss).
However, now the timer is roughly set at the same time in both places (ttcn3 and
osmo-pcu) and hence there may be race conditions where we request a
DL data block before the X2002 triggered at osmo-pcu, in which case we
receive a DL dummy block because the TBF is not yet in the FLOW state
Change-Id: I67483bc423567d1fc98eb912ece1cf5cda746119
---
M pcu/PCU_Tests.ttcn
1 file changed, 15 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/30372/1
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 4ab35c0..a8a4c8a 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -2762,6 +2762,7 @@
var uint32_t ack_fn;
var uint32_t fn;
var GprsMS ms;
+ var integer i;
timer T := 5.0;
/* Initialize NS/BSSGP side */
@@ -2785,9 +2786,22 @@
/* Wait timer X2002 and DL block is available after CCCH IMM ASS */
f_sleep(X2002);
+ /* Skip potential dummy blocks before X2002 triggers at PCU after us: */
+ for (i := 0; i < 10; i := i + 1) {
+ f_rx_rlcmac_dl_block(dl_block, fn);
+
+ if (not match(dl_block, tr_RLCMAC_DL_DUMMY_CTRL)) {
+ /* Received first data, starting processing: */
+ break;
+ }
+ }
+ if (i == 10) {
+ setverdict(fail, "Didn't receive DL data for the DL-TBF");
+ f_shutdown(__BFILE__, __LINE__);
+ }
/* Expect the first (GPRS DL) block with bsn=0 and rrbp_valid=1 */
- f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, 0);
+ f_rlcmac_dl_block_exp_data(dl_block, data, 0);
f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block);
/* TDMA frame number on which we are supposed to send the ACK */
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30372
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: I67483bc423567d1fc98eb912ece1cf5cda746119
Gerrit-Change-Number: 30372
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30373 )
Change subject: pcu: TC_mt_ping_pong*: Fix race condition waiting for first DL data after X2002
......................................................................
pcu: TC_mt_ping_pong*: Fix race condition waiting for first DL data after X2002
Since recently osmo-pcu arms the X2002 in a more fitting place (later,
when paging.cnf is received from osmo-bts over PCUIF).
Since we use same X2002 value in TTCN3 to wait for the timer to trigger,
in the past it was always fine (the X2002 at osmo-pcu always already had
triggered before the one in ttcn3 after receiving the ImmAss).
However, now the timer is roughly set at the same time in both places (ttcn3 and
osmo-pcu) and hence there may be race conditions where we request a
DL data block before the X2002 triggered at osmo-pcu, in which case we
receive a DL dummy block because the TBF is not yet in the FLOW state
Change-Id: Icc94eb0544226facddcd65be65a8a41bcfc662cc
---
M pcu/PCU_Tests.ttcn
1 file changed, 16 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/30373/1
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index a8a4c8a..385ebf6 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -2565,6 +2565,7 @@
var uint32_t sched_fn;
var uint32_t dl_fn;
var GprsMS ms;
+ var integer i;
/* Initialize NS/BSSGP side */
f_init_bssgp();
@@ -2585,7 +2586,21 @@
/* Wait timer X2002 and DL block is available after CCCH IMM ASS: */
f_sleep(X2002);
- f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs);
+ /* Skip potential dummy blocks before X2002 triggers at PCU after us: */
+ for (i := 0; i < 10; i := i + 1) {
+ f_rx_rlcmac_dl_block(dl_block, dl_fn);
+
+ if (not match(dl_block, tr_RLCMAC_DL_DUMMY_CTRL)) {
+ /* Received first data, starting processing: */
+ break;
+ }
+ }
+ if (i == 10) {
+ setverdict(fail, "Didn't receive DL data for the DL-TBF");
+ f_shutdown(__BFILE__, __LINE__);
+ }
+
+ f_rlcmac_dl_block_exp_data(dl_block, data, 0, exp_cs_mcs);
/* ACK the DL block, and request UL TBF at the same time */
f_dltbf_ack_block(ms.dl_tbf, dl_block, '1'B);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30373
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: Icc94eb0544226facddcd65be65a8a41bcfc662cc
Gerrit-Change-Number: 30373
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30371 )
Change subject: pcu: Fix race condition in TC_cs_max_dl waiting for timer first DL data after X2002
......................................................................
pcu: Fix race condition in TC_cs_max_dl waiting for timer first DL data after X2002
Since recently osmo-pcu arms the X2002 in a more fitting place (later,
when paging.cnf is received from osmo-bts over PCUIF).
Since we use same X2002 value in TTCN3 to wait for the timer to trigger,
in the past it was always fine (the X2002 at osmo-pcu always already had
triggered before the one in ttcn3 after receiving the ImmAss).
However, now the timer is roughly set at the same time in both places (ttcn3 and
osmo-pcu) and hence there may be race conditions where we request a
DL data block before the X2002 triggered at osmo-pcu, in which case we
receive a DL dummy block because the TBF is not yet in the FLOW state.
Change-Id: If7121473a3580b40d3a658dc38b9bb1421196127
---
M pcu/PCU_Tests.ttcn
1 file changed, 17 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/30371/1
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index af84821..4ab35c0 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -1067,6 +1067,7 @@
var boolean using_egprs := f_rlcmac_cs_mcs_is_mcs(valueof(exp_final_cs));
var integer bsn_mod;
var template (present) CodingScheme exp_tmp_csmcs;
+ var integer i;
if (using_egprs) {
exp_tmp_csmcs := mcs_egprs_any;
@@ -1089,10 +1090,23 @@
/* Wait timer X2002 and DL block is available after CCCH IMM ASS */
f_sleep(X2002);
- for (var integer i := 0; i < 800; i := i + 1) {
- bsn := i mod bsn_mod;
+ /* Skip potential dummy blocks before X2002 triggers at PCU after us: */
+ for (i := 0; i < 10; i := i + 1) {
f_rx_rlcmac_dl_block(dl_block, fn);
+ if (not match(dl_block, tr_RLCMAC_DL_DUMMY_CTRL)) {
+ /* Received first data, starting processing: */
+ break;
+ }
+ }
+ if (i == 10) {
+ setverdict(fail, "Didn't receive DL data for the DL-TBF");
+ f_shutdown(__BFILE__, __LINE__);
+ }
+
+ for (i := 0; i < 800; i := i + 1) {
+ bsn := i mod bsn_mod;
+
if (match(dl_block, tr_RLCMAC_DL_DUMMY_CTRL)) {
/* No more data to receive, done */
break;
@@ -1114,6 +1128,7 @@
}
}
prev_dl_block := dl_block;
+ f_rx_rlcmac_dl_block(dl_block, fn);
}
bsn := (bsn + (bsn_mod-1)) mod bsn_mod; /* previous bsn: bsn -1 */
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30371
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: If7121473a3580b40d3a658dc38b9bb1421196127
Gerrit-Change-Number: 30371
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/30347
to look at the new patch set (#6).
Change subject: paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
......................................................................
paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
If queue size (in transmit delay of requests) is too long (above
threshold) when a new initial incoming request arrives, instead of
directly discarding it, see if we can drop a pending retransmission and
insert the new one instead, in order to avoid losing initial requests.
This is done under the assumption that it is more important to transmit
intial requests than to retransmit already transmitted ones. The
rationale is that there's lower chances that an MS which didn't answer
lately will answer now (aka being reachable at the cell), so it's better
to allocate resources for new requests (new MS) which may be available
in the cell.
Change-Id: Idfd93254ae456b1ee08416e05479488299dd063d
Related: OS#5552
---
M src/osmo-bsc/net_init.c
M src/osmo-bsc/paging.c
M tests/timer.vty
3 files changed, 18 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/30347/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30347
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Idfd93254ae456b1ee08416e05479488299dd063d
Gerrit-Change-Number: 30347
Gerrit-PatchSet: 6
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/30347
to look at the new patch set (#5).
Change subject: paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
......................................................................
paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
If queue size (in transmit delay of requests) is too long (above
threshold) when a new initial incoming request arrives, instead of
directly discarding it, see if we can drop a pending retransmission and
insert the new one instead, in order to avoid losing initial requests.
This is done under the assumption that it is more important to transmit
intial requests than to retransmit already transmitted ones. The
rationale is that there's lower chances that an MS which didn't answer
lately will answer now (aka being reachable at the cell), so it's better
to allocate resources for new requests (new MS) which may be available
in the cell.
Change-Id: Idfd93254ae456b1ee08416e05479488299dd063d
Related: OS#5552
---
M src/osmo-bsc/net_init.c
M src/osmo-bsc/paging.c
2 files changed, 16 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/30347/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30347
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Idfd93254ae456b1ee08416e05479488299dd063d
Gerrit-Change-Number: 30347
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newpatchset
pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/30370 )
Change subject: paging: Optimize retrieving number of request per paging group
......................................................................
paging: Optimize retrieving number of request per paging group
This patch caches the counts of initial paging requests for each paging
group. This count is needed to estimate T3113 when a new incoming paging
request is received and it has to be inserted into the queue.
With this there's no need to traverse the whole initial_req_list every
time a new incoming paging request is receiving, potentially saving lots
of iteration and hence lots of CPU when the queue is long.
Related: SYS#6200
Change-Id: I6994127827d120a0b4dd3de51e1ddde39f2fe531
---
M include/osmocom/bsc/paging.h
M src/osmo-bsc/paging.c
2 files changed, 17 insertions(+), 20 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/30370/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30370
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I6994127827d120a0b4dd3de51e1ddde39f2fe531
Gerrit-Change-Number: 30370
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset