Attention is currently required from: laforge.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/32323 )
Change subject: sccp: allow separate cs7 for IuPS and IuCS
......................................................................
Patch Set 3:
(2 comments)
This change is ready for review.
File src/osmo-hnbgw/hnbgw_cn.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/32323/comment/b3ff89d3_4d55d0f2
PS2, Line 570: hsi = talloc(cnlink, struct hnbgw_sccp_inst);
> no zero-initialization
full init of all members follows right in the next line.
https://gerrit.osmocom.org/c/osmo-hnbgw/+/32323/comment/5227b3dd_8455a020
PS2, Line 571: *
> Based on my understanding, the compiler is permitted to only set those member fields explicitly stat […]
i've been using the idiom of
*foo = (struct foo){
.something = 123,
};
as a way to reliably initialize all members of foo with zero a lot, for a long long time now. If that is wrong then we may have a bit of a problem...
For example in osmo-bsc, in lchan_reset(), i use above idiom to clear out all stale lchan state. It works. But is that just incidental?
We have discussed this idiom a lot on and off, and I am actually pretty sure it is defined to zero-initialize all members. It does/may not initialize the padding, but i almost never care about that, only when going to use memcmp(). Also we discussed 'foo = {}' vs 'foo = {0}', but so far each time I end up being right on that topic. I think Pau or was it Vadim had an interesting link on a discussion among C language developers?
anyhow, I accept your premature-optimization argument, and I want to get this merged as quickly as possible to help out a customer.
(Still I am quite certain that I'm right with that way of initialization.)
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/32323
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Iea1824f1c586723d989c80a909bae16bd2866e08
Gerrit-Change-Number: 32323
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sun, 16 Apr 2023 00:22:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32331 )
Change subject: sccp: set titan.SCCP commit: use fix for localRef == 0
......................................................................
sccp: set titan.SCCP commit: use fix for localRef == 0
Use this fix in our tests:
https://github.com/osmocom/titan.ProtocolEmulations.SCCP/commit/17a894fc662…
This allows osmo-hnbgw to start out with SCCP local reference == 0
without that causing test failure.
'Related' patch below happens to have that effect, and it was *really*
hard to find out why th the tests failed. It seemed like I had messed up
osmo-hnbgw, but then I found out it wasn't my fault at all.
Related: Iea1824f1c586723d989c80a909bae16bd2866e08 osmo-hnbgw
Change-Id: Idb3f2398c934a1d785e8ee7913c12c0f289c1f18
---
M deps/Makefile
1 file changed, 21 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/32331/1
diff --git a/deps/Makefile b/deps/Makefile
index 277bd67..9bdfb8e 100644
--- a/deps/Makefile
+++ b/deps/Makefile
@@ -86,7 +86,7 @@
# file changed.
titan.Libraries.TCCUsefulFunctions_commit= R.35.B-6-gb3687da
titan.ProtocolEmulations.M3UA_commit= f086e78d74defa044d864f17adaad9433fedc961
-titan.ProtocolEmulations.SCCP_commit= R.7.A-11-gd4b7a6d
+titan.ProtocolEmulations.SCCP_commit= 17a894fc6620a0df11d0d98c897fb66168276b16
titan.ProtocolModules.BSSAPP_v7.3.0_commit= R.2.A-4-g20cfaf8
titan.ProtocolModules.BSSGP_v13.0.0_commit= e97d92a8b66bec399babea52f593771b76cb175a
titan.ProtocolModules.BSSMAP_commit= 24f967b2f77bfdd2e6eabf1e82fa76239095f772
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32331
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: Idb3f2398c934a1d785e8ee7913c12c0f289c1f18
Gerrit-Change-Number: 32331
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange
neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/32274 )
Change subject: TODO-RELEASE: add note on osmo-sip-connector and SDP
......................................................................
TODO-RELEASE: add note on osmo-sip-connector and SDP
Change-Id: I37fb5e18f06a5379d0320ee7d47885c9283cbd06
---
M TODO-RELEASE
1 file changed, 10 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/TODO-RELEASE b/TODO-RELEASE
index a2695f2..a2c7f6a 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -8,3 +8,4 @@
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library what description / commit summary line
libosmo-mgcp-client > 1.11.0 mgcp_client_pool_empty()
+ MNCC osmo-sip-connector should do full SDP via MNCC and be released at the same time as the next osmo-msc, ask neels, thanks
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/32274
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I37fb5e18f06a5379d0320ee7d47885c9283cbd06
Gerrit-Change-Number: 32274
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/32329 )
Change subject: ASPAC/ASPIA: Don't add routing context IE in ASP-role if routing context 0
......................................................................
ASPAC/ASPIA: Don't add routing context IE in ASP-role if routing context 0
If there is only one routing key (and hence routing context, and hence
AS) within one ASP, *and* the routing context is configured as 0 (zero),
we should not include the routing context IE. This is the way how
libosmo-sigtran has always been special-casing routing context 0 meaning
"routing context is not used". However, that was only working in SG
role (typical STP use case). When operating in ASP role, the
special-case handling was missing, causing a routing context IE
containing zero to be included in the related transmitted M3UA ASPAC
and ASPIA messages.
Change-Id: I5ce89b393a3b950ab7fd1eace9038718c9efcc51
Closes: OS#6003
---
M src/xua_asp_fsm.c
1 file changed, 28 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/29/32329/1
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index a93dbd2..0080497 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -181,8 +181,15 @@
}
}
/* add xUA IE with routing contests to the message (if any) */
- if (i)
+ if (i) {
+ /* bail out (and not add the IE) if there's only one routing context (and hence
+ * only one AS) within this ASP, and that routing context is zero, meaning no routing
+ * context IE shall be used */
+ if (i == 1 && rctx[0] == 0)
+ return 0;
+
xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, i*sizeof(uint32_t), (uint8_t *)rctx);
+ }
/* return count of routing contexts added */
return i;
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/32329
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I5ce89b393a3b950ab7fd1eace9038718c9efcc51
Gerrit-Change-Number: 32329
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32326 )
Change subject: stp: Discard any ASP-UP retransmissions
......................................................................
stp: Discard any ASP-UP retransmissions
In some cases, there's some time between accepting the SCTP connection
and the execution of f_M3UA_CLNT_asp_up(). This may cause the
client sending re-transmitted ASP-UP messages. Let's simply flush
and ignore those, rather than failing the test case.
Change-Id: Iea39e9543535977a3004b150e222ce8c7f4d821a
---
M stp/STP_Tests_M3UA.ttcn
1 file changed, 33 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/32326/1
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 08fc9c9..41b2e2c 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -148,6 +148,22 @@
}
}
+/* flush any number of queued messages matching 'msg' */
+friend function f_M3UA_flush(integer idx, template (present) PDU_M3UA msg) runs on RAW_M3UA_CT {
+ var M3UA_RecvFrom rx;
+ timer T := 0.01;
+ T.start;
+ alt {
+ /* this should normally be possible with something like M3UA[idx].check(receive(...)) but somehow
+ * TITAN complains about the 'check' token, so it looks that feature of TTCN3 is not supported? */
+ [] M3UA[idx].receive(t_M3UA_RecvFrom(msg)) {
+ repeat;
+ }
+ [] T.timeout {
+ }
+ }
+}
+
private template (value) Socket ts_Socket(HostName hostName, PortNumber portNumber) := {
hostName := hostName,
portNumber := portNumber
@@ -672,6 +688,9 @@
/* expect/perform an inbound ASP-UP procedure */
friend function f_M3UA_CLNT_asp_up(integer idx, template OCT4 aspid := omit) runs on RAW_M3UA_CT {
f_M3UA_exp(idx, tr_M3UA_ASPUP(aspid));
+ /* there might have been multiple re-transmissions that have queued up in the ATS between
+ * the SCTP connection establishment and this function execution, so let's flush those copies. */
+ f_M3UA_flush(idx, tr_M3UA_ASPUP(aspid));
f_M3UA_send(idx, ts_M3UA_ASPUP_ACK);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32326
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: Iea39e9543535977a3004b150e222ce8c7f4d821a
Gerrit-Change-Number: 32326
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32327 )
Change subject: stp: Add tests for setups with multiple "routing context 0" ASPs
......................................................................
stp: Add tests for setups with multiple "routing context 0" ASPs
These two test cases verify that
* libosmo-sigtran doesn't include a routing context IE even in ASP
role when using a ASP with a single routing context 0 configured
* osmo-stp can route between a single SG-role ASP with routing context
to two ASP-role ASPs which both have routing context 0 (i.e. no
routing context IE in use)
The tests do not pass with current libosmo-sigtran until OS#6003 is
fixed, presumably by Change-Id I5ce89b393a3b950ab7fd1eace9038718c9efcc51
Change-Id: I81052ece7d1cc8b43da6155356ed1c4d9620acdc
Related: OS#6003
---
M stp/STP_Tests_M3UA.ttcn
M stp/osmo-stp.cfg
2 files changed, 110 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/32327/1
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 41b2e2c..5af894a 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -35,7 +35,7 @@
import from STP_Tests_Common all;
private const integer NR_M3UA := 3; /* number of M3UA clients in ATS */
-private const integer NR_M3UA_SRV := 1; /* number of M3UA servres in ATS */
+private const integer NR_M3UA_SRV := 3; /* number of M3UA servres in ATS */
modulepar {
/* STP-side IP addresses */
@@ -68,6 +68,20 @@
local_sctp_port := 10002,
point_code := 55,
routing_ctx := 1055
+ },
+ /* as-client60-norctx */
+ {
+ remote_sctp_port := 2907,
+ local_sctp_port := 11060,
+ point_code := 60,
+ routing_ctx := -
+ },
+ /* as-client61-norctx */
+ {
+ remote_sctp_port := 2907,
+ local_sctp_port := 11061,
+ point_code := 61,
+ routing_ctx := -
}
};
integer mp_recovery_timeout_msec := 2000;
@@ -793,6 +807,60 @@
f_clear_m3ua();
}
+/* Test traffic being routed through "server" side STP (M3UA SG), coming back in "client"
+ * side STP (M3UA ASP) which has no routing context set */
+testcase TC_clnt_sg_to_asp_norctx() runs on RAW_M3UA_CT {
+ var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4);
+ var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4);
+ var OCT4 pc_receiver := int2oct(mp_m3ua_configs[M3UA_SRV(1)].point_code, 4);
+ var OCT4 pc_receiver2 := int2oct(mp_m3ua_configs[M3UA_SRV(2)].point_code, 4);
+
+ /* activate the sender side (ATS is client to STP in SG role) */
+ f_init_m3ua();
+ f_M3UA_asp_up_act(0);
+
+ /* activate the receiver side (ATS is server to STP in ASP role) */
+ f_init_m3ua_srv();
+ f_M3UA_CLNT_asp_up_act(M3UA_SRV(1), rctx := omit);
+ /* activate another instance of STP in ASP role with no routing context */
+ f_M3UA_CLNT_asp_up_act(M3UA_SRV(2), rctx := omit);
+
+ f_sleep(1.0);
+
+ /* verify traffic is routed from sender to [sole] receiver for each PC */
+ f_test_traffic(0, rctx_sender, pc_sender, M3UA_SRV(1), omit, pc_receiver);
+ f_test_traffic(0, rctx_sender, pc_sender, M3UA_SRV(2), omit, pc_receiver2);
+
+ f_clear_m3ua();
+}
+
+/* Test traffic being routed through "server" side STP (M3UA SG), coming back in "client"
+ * side STP (M3UA ASP) which has no routing context set */
+testcase TC_clnt_asp_to_sg_norctx() runs on RAW_M3UA_CT {
+ var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[0].routing_ctx, 4);
+ var OCT4 pc_receiver := int2oct(mp_m3ua_configs[0].point_code, 4);
+ var OCT4 pc_sender := int2oct(mp_m3ua_configs[M3UA_SRV(1)].point_code, 4);
+ var OCT4 pc_sender2 := int2oct(mp_m3ua_configs[M3UA_SRV(2)].point_code, 4);
+
+ /* activate the sender side (ATS is client to STP in SG role) */
+ f_init_m3ua();
+ f_M3UA_asp_up_act(0);
+
+ /* activate the receiver side (ATS is server to STP in ASP role) */
+ f_init_m3ua_srv();
+ f_M3UA_CLNT_asp_up_act(M3UA_SRV(1), rctx := omit);
+ /* activate another instance of STP in ASP role with no routing context */
+ f_M3UA_CLNT_asp_up_act(M3UA_SRV(2), rctx := omit);
+
+ f_sleep(1.0);
+
+ /* verify traffic is routed from sender to [sole] receiver for each PC */
+ f_test_traffic(M3UA_SRV(1), omit, pc_sender, 0, rctx_receiver, pc_receiver);
+ f_test_traffic(M3UA_SRV(2), omit, pc_sender2, 0, rctx_receiver, pc_receiver);
+
+ f_clear_m3ua();
+}
+
/* Test if ASPAC / ASPIA of one ASP generates DAVA / DUNA on other ASP */
testcase TC_ssnm_aspac_dava_aspia_duna() runs on RAW_M3UA_CT {
var OCT4 rctx0 := int2oct(mp_m3ua_configs[0].routing_ctx, 4);
@@ -1050,6 +1118,9 @@
execute( TC_clnt_sg_to_asp() );
execute( TC_clnt_asp_to_sg() );
+ execute( TC_clnt_sg_to_asp_norctx() );
+ execute( TC_clnt_asp_to_sg_norctx() );
+
execute( TC_clnt_quirk_no_notify_asp_act() );
execute( TC_clnt_no_daud_in_asp() );
execute( TC_clnt_quirk_daud_in_asp() );
diff --git a/stp/osmo-stp.cfg b/stp/osmo-stp.cfg
index 50c80d3..427eb34 100644
--- a/stp/osmo-stp.cfg
+++ b/stp/osmo-stp.cfg
@@ -53,6 +53,16 @@
remote-ip 127.0.0.1
sctp-role client
role asp
+ asp asp-client60-norctx0 11060 2907 m3ua
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ sctp-role client
+ role asp
+ asp asp-client61-norctx0 11061 2907 m3ua
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ sctp-role client
+ role asp
as as-sender m3ua
asp asp-sender
routing-key 1023 23
@@ -63,6 +73,12 @@
as as-client m3ua
routing-key 1055 55
asp asp-client0
+ as as-client60-norctx m3ua
+ routing-key 0 60
+ asp asp-client60-norctx0
+ as as-client61-norctx m3ua
+ routing-key 0 61
+ asp asp-client61-norctx0
!
! IPA AS/ASP:
!
@@ -116,6 +132,8 @@
update route 23 16777215 linkset as-sender
update route 42 16777215 linkset as-receiver
update route 55 16777215 linkset as-client
+ update route 60 16777215 linkset as-client60-norctx
+ update route 61 16777215 linkset as-client61-norctx
update route 31 16777215 linkset ipa-as-loadshare-receiver
update route 33 16777215 linkset ipa-as-override-receiver
update route 5 16777215 linkset ipa-as-dynamic-asp
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32327
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: I81052ece7d1cc8b43da6155356ed1c4d9620acdc
Gerrit-Change-Number: 32327
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
Attention is currently required from: msuraev.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/32276 )
Change subject: abis_rsl: include osmo_ortp.h explicitly
......................................................................
Patch Set 5:
(1 comment)
File src/osmo-bsc/abis_rsl.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/32276/comment/69b14e52_4053608f
PS5, Line 49: osmocom/netif/rtp.h
> Weird, why do we have it in 2 separate places?
No idea.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/32276
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I11297f2ba2ff431153e541c745cf59b7fbb733c0
Gerrit-Change-Number: 32276
Gerrit-PatchSet: 5
Gerrit-Owner: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: msuraev <msuraev(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 15 Apr 2023 12:01:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: msuraev <msuraev(a)sysmocom.de>
Gerrit-MessageType: comment
msuraev has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/32275 )
Change subject: ctrl: drop deprecated neighbor resolution interface
......................................................................
Set Ready For Review
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/32275
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Iff008c77ab49dd8855d54d2d44198475086012e4
Gerrit-Change-Number: 32275
Gerrit-PatchSet: 3
Gerrit-Owner: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Sat, 15 Apr 2023 11:44:41 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment