falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/39653?usp=email )
Change subject: cosmetic: add .gitignore to utils
......................................................................
cosmetic: add .gitignore to utils
The osmo-amr-inspect binary built in utils is not covered by any
previous .gitignore files, thus its presence adds noise to
'git status' output, making other work in this repository more
difficult.
Change-Id: I5fd24c19b00f3ea3a18d30d6ee1ccb621c28434c
---
A utils/.gitignore
1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/53/39653/1
diff --git a/utils/.gitignore b/utils/.gitignore
new file mode 100644
index 0000000..2f568da
--- /dev/null
+++ b/utils/.gitignore
@@ -0,0 +1 @@
+osmo-amr-inspect
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/39653?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: I5fd24c19b00f3ea3a18d30d6ee1ccb621c28434c
Gerrit-Change-Number: 39653
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
csaba.sipos has posted comments on this change by csaba.sipos. ( https://gerrit.osmocom.org/c/osmo-bsc/+/39652?usp=email )
Change subject: nokia_site: add function to unlock and reset TRXes
......................................................................
Set Ready For Review
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/39652?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I9042a1e24f0932a23a26185181481db2ceddbb7c
Gerrit-Change-Number: 39652
Gerrit-PatchSet: 5
Gerrit-Owner: csaba.sipos <metro4(a)freemail.hu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Sat, 01 Mar 2025 20:59:09 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/python/pyosmocom/+/39600?usp=email )
Change subject: utils: add unrpad()
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
It turns out there *is* a surprising difference!
The rstrip() version causes this error in pySim.esim.saip, can you guess why:
File "/home/moi/s/esim/sysmo_esim_mgr/venv/lib/python3.13/site-packages/pySim/esim/saip/personalization.py", line 560, in decimal_hex_to_str
return val.to_bytes().decode('ascii')
^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'to_bytes'
I stared for a while until I realized this code is using hexstr.to_bytes(). (hexstr is also here from pyosmocom.)
hexstr has a magic trick:
def __getitem__(self, val) -> 'hexstr':
# make sure slicing a hexstr will return a hexstr
return hexstr(super().__getitem__(val))
so with the unrpad() implementation from this patch, a hexstr stays a hexstr.
When using val.rstrip('f'), the hexstr becomes a str, and then there is no to_bytes() function.
For now I solved it in the calling code as a local function
def unrpad(s: hexstr, c='f') -> hexstr:
return hexstr(s.rstrip(c))
but something like this next to rpad() now seems useful again... what do you think?
--
To view, visit https://gerrit.osmocom.org/c/python/pyosmocom/+/39600?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: python/pyosmocom
Gerrit-Branch: master
Gerrit-Change-Id: I48c23390926f8c9412624edb4481e7f4cd3f4b46
Gerrit-Change-Number: 39600
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-Comment-Date: Sat, 01 Mar 2025 01:46:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: laforge.
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/python/pyosmocom/+/39600?usp=email )
Change subject: utils: add unrpad()
......................................................................
Patch Set 1:
(1 comment)
File src/osmocom/utils.py:
https://gerrit.osmocom.org/c/python/pyosmocom/+/39600/comment/2a325dac_eb17… :
PS1, Line 125: """unpad string on the right side -- reverse of rpad().
> in which way is this different from the python standard library string. […]
hmm indeed .. still find it nice to have something called "unrpad()", after all rpad() is just val + c * (l - len(val)) ... but will just use rstrip in pysim, then, and avoid trivial dependencies.
--
To view, visit https://gerrit.osmocom.org/c/python/pyosmocom/+/39600?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: python/pyosmocom
Gerrit-Branch: master
Gerrit-Change-Id: I48c23390926f8c9412624edb4481e7f4cd3f4b46
Gerrit-Change-Number: 39600
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-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Fri, 28 Feb 2025 22:55:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: daniel, fixeria, laforge, osmith.
Hello Jenkins Builder, daniel, fixeria, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/39650?usp=email
to look at the new patch set (#3).
Change subject: Fix setting traffic-mode 'round-robin' over VTY
......................................................................
Fix setting traffic-mode 'round-robin' over VTY
String in osmo_ss7_as_traffic_mode_vals[] is "round-robin" while string
in VTY command was "roundrobin", so it didn't really match when set over
VTY. This has apparently broken for really long, I couldn't find the
originating commit breaking this.
Change-Id: I61340549c596f1c04bc2269dbc165c327bf72037
---
M src/osmo_ss7_vty.c
M tests/vty/osmo_stp_test.vty
M tests/vty/ss7_asp_test.vty
3 files changed, 9 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/50/39650/3
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/39650?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I61340549c596f1c04bc2269dbc165c327bf72037
Gerrit-Change-Number: 39650
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Attention is currently required from: daniel, fixeria, laforge, osmith.
Hello Jenkins Builder, daniel, fixeria, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/39650?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: Fix setting traffic-mode 'round-robin' over VTY
......................................................................
Fix setting traffic-mode 'round-robin' over VTY
Change-Id: I61340549c596f1c04bc2269dbc165c327bf72037
---
M src/osmo_ss7_vty.c
M tests/vty/osmo_stp_test.vty
M tests/vty/ss7_asp_test.vty
3 files changed, 9 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/50/39650/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/39650?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I61340549c596f1c04bc2269dbc165c327bf72037
Gerrit-Change-Number: 39650
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39651?usp=email )
Change subject: stp: Fix brokeness in TC_tmt_loadshare
......................................................................
stp: Fix brokeness in TC_tmt_loadshare
The test was not even setting the traffic-mode in the UIT.
Furthermore, it was expecting pure round-robin behavior, which was the
older behavior of osmo-stp when loadshare traffic-mode was selected.
Actually split the test into 2, naming them properly (since round robin
is not a AS traffic mode in itself, but a possible implementation of the
loadshare traffic-mode.
The new test validates the usual loadshare traffic-mode based on SLS
distribution.
Related: SYS#7112
Depends: libosmo-sigtran.git Change-Id I61340549c596f1c04bc2269dbc165c327bf72037
Change-Id: I16d81cb2f88bb2927f248182ad4f8f27c8c24859
---
M stp/STP_Tests_M3UA.ttcn
M stp/expected-results.xml
2 files changed, 105 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/39651/1
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 3fb3fc0..063256b 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -585,24 +585,24 @@
}
}
-/* test "traffic-mode load-share" behavior */
-testcase TC_tmt_loadshare() runs on RAW_M3UA_CT {
+/* test "traffic-mode roundrobin" behavior (distributing within ASPs of a given AS in roundrobin fashion). */
+testcase TC_tmt_loadshare_roundrobin() runs on RAW_M3UA_CT {
var integer i;
f_init_m3ua();
+ f_vty_config2(VTY, {"cs7 instance 0", "as as-receiver m3ua"}, "traffic-mode round-robin");
+
var OCT4 rctx_sender := int2oct(f_m3ua_cli_config(0).routing_ctx, 4);
var OCT4 pc_sender := int2oct(f_m3ua_cli_config(0).point_code, 4);
var OCT4 rctx_receiver := int2oct(f_m3ua_cli_config(1).routing_ctx, 4);
var OCT4 pc_receiver := int2oct(f_m3ua_cli_config(1).point_code, 4);
- /* FIXME: configure the STP via VTY to set traffic-mode */
-
/* bring up the 'sender' side (single ASP in AS) */
f_M3UA_asp_up_act(0, omit, rctx_sender);
/* activate the first 'receiver' side ASP */
- f_M3UA_asp_up_act(1, c_M3UA_TMT_loadshare, omit); // TODO: rctx
+ f_M3UA_asp_up_act(1, omit, omit); // TODO: rctx
/* verify traffic is routed from sender to [sole] receiver */
for (i := 0; i < 10; i := i+1) {
@@ -610,12 +610,12 @@
}
/* activate the second 'receiver' side ASP (no NOTIFY) */
- f_M3UA_asp_up_act(2, c_M3UA_TMT_loadshare, omit, c_M3UA_ST_I_AS_ACTIVE, omit); // TODO: rctx
+ f_M3UA_asp_up_act(2, omit, omit, c_M3UA_ST_I_AS_ACTIVE, omit); // TODO: rctx
/* verify traffic is routed from sender to new receiver */
const integer iter_per_asp := 5;
var Integers num_rx := {};
- for (i := 0; i < g_m3ua_num_clients; i := i + 1) {
+ for (i := 0; i < 3; i := i + 1) {
num_rx := num_rx & {0};
}
for (i := 0; i < 2*iter_per_asp; i := i+1) {
@@ -640,6 +640,100 @@
setverdict(pass);
f_clear_m3ua();
+
+ f_vty_config2(VTY, {"cs7 instance 0", "as as-receiver m3ua"}, "no traffic-mode");
+}
+
+private altstep as_count_rx_sls(integer idx, template (present) PDU_M3UA exp, inout Integers sls_counter, inout integer rx_counter)
+runs on RAW_M3UA_CT {
+ var M3UA_RecvFrom rx;
+ [] M3UA[idx].receive(t_M3UA_RecvFrom(exp)) -> value rx {
+ var integer sls := oct2int(rx.msg.m3UA_DATA.messageParameters.protocol_Data.sLS);
+ sls_counter[sls] := sls_counter[sls] + 1;
+ rx_counter := rx_counter + 1;
+ }
+}
+
+/* test "traffic-mode load-share" behavior. Validates ASP Loadsharing scenario (distributing traffic within ASPs of one AS).
+ * NOTE: This test does not validate AS Loadsharing, (distributing traffic within linksets/ASs of a combined linkset). */
+testcase TC_tmt_loadshare_sls() runs on RAW_M3UA_CT {
+ var integer i;
+
+ f_init_m3ua();
+
+ f_vty_config2(VTY, {"cs7 instance 0", "as as-receiver m3ua"}, "traffic-mode loadshare");
+
+ var OCT4 rctx_sender := int2oct(f_m3ua_cli_config(0).routing_ctx, 4);
+ var OCT4 pc_sender := int2oct(f_m3ua_cli_config(0).point_code, 4);
+ var OCT4 rctx_receiver := int2oct(f_m3ua_cli_config(1).routing_ctx, 4);
+ var OCT4 pc_receiver := int2oct(f_m3ua_cli_config(1).point_code, 4);
+
+ /* bring up the 'sender' side (single ASP in AS) */
+ f_M3UA_asp_up_act(0, omit, rctx_sender);
+
+ /* activate the first 'receiver' side ASP */
+ f_M3UA_asp_up_act(1, c_M3UA_TMT_loadshare, omit); // TODO: rctx
+
+ /* verify traffic is routed from sender to [sole] receiver */
+ for (i := 0; i < 10; i := i+1) {
+ f_test_traffic(0, rctx_sender, pc_sender, 1, rctx_receiver, pc_receiver);
+ }
+
+ /* activate the second 'receiver' side ASP (no NOTIFY) */
+ f_M3UA_asp_up_act(2, c_M3UA_TMT_loadshare, omit, c_M3UA_ST_I_AS_ACTIVE, omit); // TODO: rctx
+
+ /* verify traffic is routed from sender to new receiver */
+ const integer iter_per_asp := 20;
+ const integer NUM_SLS := 16; /* SLS in ITU is 4 bits. */
+ var integer num_rx_1 := 0;
+ var integer num_rx_2 := 0;
+ var Integers sls_num_rx_1 := {};
+ var Integers sls_num_rx_2 := {};
+ for (i := 0; i < NUM_SLS; i := i + 1) {
+ sls_num_rx_1 := sls_num_rx_1 & {0};
+ sls_num_rx_2 := sls_num_rx_2 & {0};
+ }
+ for (i := 0; i < 2*iter_per_asp; i := i+1) {
+ var octetstring data := f_rnd_octstring_rnd_len(100);
+ var template (value) M3UA_Protocol_Data tx_pd;
+ var template (present) M3UA_Protocol_Data rx_pd;
+ /* Distribute traffic over ASPs based on SLS, since OPC is always the same.
+ * SLS in ITU is 4 bits. */
+ var OCT1 sls := int2oct(i mod 16, 1);
+ tx_pd := ts_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, sls, data);
+ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, '23'O, '00'O, '00'O, sls, data);
+ f_M3UA_send(0, ts_M3UA_DATA(rctx_sender, tx_pd), 1);
+ alt {
+ [] as_count_rx_sls(1, tr_M3UA_DATA(rctx_receiver, rx_pd), sls_num_rx_1, num_rx_1);
+ [] as_count_rx_sls(2, tr_M3UA_DATA(rctx_receiver, rx_pd), sls_num_rx_2, num_rx_2);
+ }
+ }
+
+ /* Make sure traffic was sent over both ASPs and that it was distributed: */
+ if (num_rx_1 == 0) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Rx 0 packets in 1st ASP!");
+ }
+ if (num_rx_2 == 0) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Rx 0 packets in 2nd ASP!");
+ }
+ if (num_rx_1 + num_rx_2 != 2*iter_per_asp) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ log2str("Rx ", num_rx_1 + num_rx_2 ," packets in total vs exp ", 2*iter_per_asp));
+ }
+
+ /* Check that a given SLS is not forwarded to both ASPs: */
+ for (i := 0; i < NUM_SLS; i := i+1) {
+ if (sls_num_rx_1[i] > 0 and sls_num_rx_2[i] > 0) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ log2str("Rx packets for SLS ", i, " in both ASPs!"));
+ }
+
+ }
+ setverdict(pass);
+
+ f_clear_m3ua();
+
+ f_vty_config2(VTY, {"cs7 instance 0", "as as-receiver m3ua"}, "no traffic-mode");
}
/* test "traffic-mode broadcast" behavior */
@@ -1414,7 +1508,8 @@
execute( TC_asp_act_loadshare() );
execute( TC_asp_act_broadcast() );
execute( TC_tmt_override() );
- execute( TC_tmt_loadshare() );
+ execute( TC_tmt_loadshare_roundrobin() );
+ execute( TC_tmt_loadshare_sls() );
execute( TC_tmt_broadcast() );
execute( TC_act_rctx_data_no_rctx() );
diff --git a/stp/expected-results.xml b/stp/expected-results.xml
index bc9c861..a764349 100644
--- a/stp/expected-results.xml
+++ b/stp/expected-results.xml
@@ -8,7 +8,8 @@
<testcase classname='STP_Tests_M3UA' name='TC_asp_act_loadshare' time='MASKED'/>
<testcase classname='STP_Tests_M3UA' name='TC_asp_act_broadcast' time='MASKED'/>
<testcase classname='STP_Tests_M3UA' name='TC_tmt_override' time='MASKED'/>
- <testcase classname='STP_Tests_M3UA' name='TC_tmt_loadshare' time='MASKED'/>
+ <testcase classname='STP_Tests_M3UA' name='TC_tmt_loadshare_roundrobin' time='MASKED'/>
+ <testcase classname='STP_Tests_M3UA' name='TC_tmt_loadshare_sls' time='MASKED'/>
<testcase classname='STP_Tests_M3UA' name='TC_tmt_broadcast' time='MASKED'/>
<testcase classname='STP_Tests_M3UA' name='TC_act_rctx_data_no_rctx' time='MASKED'/>
<testcase classname='STP_Tests_M3UA' name='TC_m3ua_tcp_cli' time='MASKED'/>
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39651?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: I16d81cb2f88bb2927f248182ad4f8f27c8c24859
Gerrit-Change-Number: 39651
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>