Attention is currently required from: fixeria, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39147?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: erab_fsm: implement E-RAB MODIFY Ind/Cnf procedure
......................................................................
erab_fsm: implement E-RAB MODIFY Ind/Cnf procedure
The eNB-initiated E-RAB modification procedure is defined
in 3GPP TS 36.413 section 8.2.4. This is pretty much the same
as the MME-initiated E-RAB modification.
Change-Id: I750ada0a5a21edc8bc06d567c8000b6304966474
---
M src/erab_fsm.erl
M test/erab_fsm_test.erl
M test/pfcp_mock.hrl
3 files changed, 119 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/47/39147/2
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39147?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I750ada0a5a21edc8bc06d567c8000b6304966474
Gerrit-Change-Number: 39147
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: fixeria.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39525?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
The change is no longer submittable: Verified is unsatisfied now.
Change subject: erab_fsm: handle RELEASE.ind in state erab_wait_release_rsp
......................................................................
erab_fsm: handle RELEASE.ind in state erab_wait_release_rsp
This can happen if both MME and eNB initiate the E-RAB RELEASE
procedures simultaneously. Ignore subsequent release requests.
Change-Id: I68efecf56866e04c71571165f61648d9c37fc173
Related: SYS#7318, SYS#7310
---
M src/erab_fsm.erl
M test/erab_fsm_test.erl
2 files changed, 22 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/25/39525/2
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39525?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I68efecf56866e04c71571165f61648d9c37fc173
Gerrit-Change-Number: 39525
Gerrit-PatchSet: 2
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>
Attention is currently required from: pespin.
kirr has posted comments on this change by kirr. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email )
Change subject: trx_toolkit/*: Try to avoid copying burst data where possible
......................................................................
Patch Set 2:
(3 comments)
Patchset:
PS2:
(amended the patch with suggested changes)
File src/target/trx_toolkit/data_msg.py:
https://gerrit.osmocom.org/c/osmocom-bb/+/39537/comment/33ecf10a_bf5d84e5?u… :
PS1, Line 230: msg_burst = memoryview(msg)[self.HDR_LEN:]
> Not sure if it's really noticeable, you may even skip the memoryview/slice here by checking: […]
Indeed, this will save a bit for nope indication. Thanks.
https://gerrit.osmocom.org/c/osmocom-bb/+/39537/comment/27ca53c7_7667f852?u… :
PS1, Line 336: burst = burst[:EDGE_BURST_LEN]
> Can you maybe use the memoryview() thing here too?
Indeed, thanks. (but I did not touch this lines because I verified that they do not get executed in my test)
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
Gerrit-Change-Number: 39537
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Feb 2025 22:00:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: kirr, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: trx_toolkit/*: Try to avoid copying burst data where possible
......................................................................
trx_toolkit/*: Try to avoid copying burst data where possible
Conveying burst data is the primary flow in data place of what fake_trx
does, so the less copies we do, the less we make CPU loaded.
After this change I can finally run 1 BTS + 2 Mobile + 1 ccch_scan
without hitting "Stale message ..." on fake_trx side. However fake_trx
cpu load is close to 100% and there are internal clock overruns often:
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1385us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -2657us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1264us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -2913us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1836us; resetting the clock
...
This suggests that even though fake_trx.py + tx-queue started to work
somehow, the rewrite of fake_trx in C, as explained in OS#6672, is still
better to do.
Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
---
M src/target/trx_toolkit/data_if.py
M src/target/trx_toolkit/data_msg.py
2 files changed, 27 insertions(+), 37 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/37/39537/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
Gerrit-Change-Number: 39537
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: kirr <kirr(a)nexedi.com>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/39536?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by pespin
Change subject: trx_toolkit/*: Represent bursts as arrays instead of lists
......................................................................
trx_toolkit/*: Represent bursts as arrays instead of lists
Continuing fake_trx profiling story I noticed that on rx path a
noticeable time is spent in converting from ubits to sbits via list
comprehensions. By changing burst representation from py list, which
stores each item as full python object, to an array, which stores each
item as just byte, and by leveraging bytearray.translate, we can speed
up that conversion by ~ 10x:
before:
In [1]: from data_msg import Msg
In [2]: burst = [0, 1] * (142//2)
In [3]: burst
Out[3]:
[0,
1,
0,
1,
0,
...
0,
1]
In [4]: Msg.ubit2sbit(burst)
Out[4]:
[127,
-127,
127,
-127,
...
127,
-127]
In [5]: %timeit Msg.ubit2sbit(burst)
3.01 µs ± 43.3 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
after:
In [2]: burst = bytearray([0, 1] * (142//2))
In [3]: burst
Out[3]: bytearray(b'\x00\x01\x00\x01...\x00\x01')
In [4]: Msg.ubit2sbit(burst)
Out[4]: array('b', [127, -127, 127, -127, ... 127, -127])
In [5]: %timeit Msg.ubit2sbit(burst)
325 ns ± 12.1 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
Change-Id: I7314e9e79752e06fa86b9e346a9beacc5e59579e
---
M src/target/trx_toolkit/data_msg.py
M src/target/trx_toolkit/gsm_shared.py
M src/target/trx_toolkit/rand_burst_gen.py
M src/target/trx_toolkit/test_data_msg.py
4 files changed, 36 insertions(+), 25 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/36/39536/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39536?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I7314e9e79752e06fa86b9e346a9beacc5e59579e
Gerrit-Change-Number: 39536
Gerrit-PatchSet: 2
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Attention is currently required from: pespin.
fixeria has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39523?usp=email )
Change subject: erab_fsm: make erab_release_{cmd,ind}/1 non-blocking
......................................................................
Set Ready For Review
--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39523?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: If519334359c3ef331720cb87bdba2d969601816e
Gerrit-Change-Number: 39523
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Feb 2025 21:56:54 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
fixeria has uploaded this change for review. ( 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(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/39539/1
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: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I93d3d38829b1f425d18d59464894da239e3511eb
Gerrit-Change-Number: 39539
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: pespin.
kirr has posted comments on this change by kirr. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39536?usp=email )
Change subject: trx_toolkit/*: Represent bursts as arrays instead of lists
......................................................................
Patch Set 1:
(4 comments)
Commit Message:
https://gerrit.osmocom.org/c/osmocom-bb/+/39536/comment/af32cb51_b0f67ed2?u… :
PS1, Line 13: item as just byte, and by leveraging bytearray.translate, we can sped
> sped -> speed up?
Acknowledged
File src/target/trx_toolkit/data_msg.py:
https://gerrit.osmocom.org/c/osmocom-bb/+/39536/comment/33f4f7e5_cd3c26ed?u… :
PS1, Line 71: self.burst = burst # bytes|bytearray for ubit, array[b] for sbit, array[B] for usbit
> I don't really understand what you mean with this comment here.
this comment says that the type of self.burst is either bytes or bytearray for unpacked bits, array with typecode='b' for signed soft-bits, and array with typecode='B' for unsigned soft-bits.
https://gerrit.osmocom.org/c/osmocom-bb/+/39536/comment/01dd689b_59d3136d?u… :
PS1, Line 134: def usbit2sbit(bits): # array[B] -> array[b]
> sou one cannot declare a param type for an array as done previously by List?
seems no: https://stackoverflow.com/questions/69200339/type-hinting-an-array . But I do not use typehints with python beside the very basic cases, so might be missing something.
https://gerrit.osmocom.org/c/osmocom-bb/+/39536/comment/aa05eca1_50812634?u… :
PS1, Line 672: burst = array('B', burst)
> I wonder whether we'll probably want to have all this encapsulated into eg. SBits, UBits, etc. […]
Maybe. My primary goal for now was/is to study the system, so I did not pushed hard with optimizing/refactoring things.
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39536?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I7314e9e79752e06fa86b9e346a9beacc5e59579e
Gerrit-Change-Number: 39536
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Feb 2025 21:43:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>