Attention is currently required from: fixeria, pespin.
Hello Jenkins Builder, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40195?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Code-Review+1 by fixeria, Verified+1 by Jenkins Builder
Change subject: stp: Introduce test TC_clnt_sctp_adm_shutdown
......................................................................
stp: Introduce test TC_clnt_sctp_adm_shutdown
Related: OS#6752
Change-Id: I8b1c8b633afc1515dedfccd43e642401896b167e
---
M stp/STP_Tests_M3UA.ttcn
M stp/expected-results.xml
2 files changed, 45 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/40195/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40195?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I8b1c8b633afc1515dedfccd43e642401896b167e
Gerrit-Change-Number: 40195
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40194?usp=email )
Change subject: asp: Make sure previous stream_srv is immediatelly destroyed when requested
......................................................................
Set Ready For Review
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40194?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I8edd64234654ba987f35de2d7ad610e96bda27eb
Gerrit-Change-Number: 40194
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 05 May 2025 08:56:13 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40174?usp=email )
Change subject: cosmetic: context_map.h: Document parameters of all map_sccp_fsm_event values
......................................................................
cosmetic: context_map.h: Document parameters of all map_sccp_fsm_event values
Change-Id: I53603ade5157ddbccb49864a2edab09376fe8979
---
M include/osmocom/hnbgw/context_map.h
1 file changed, 12 insertions(+), 7 deletions(-)
Approvals:
osmith: Looks good to me, approved
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
diff --git a/include/osmocom/hnbgw/context_map.h b/include/osmocom/hnbgw/context_map.h
index 7e288d7..f3d9e73 100644
--- a/include/osmocom/hnbgw/context_map.h
+++ b/include/osmocom/hnbgw/context_map.h
@@ -54,13 +54,14 @@
* MAP_SCCP_EV_TX_DATA_REQUEST, MAP_SCCP_EV_RAN_DISC.
*/
enum map_sccp_fsm_event {
- /* Receiving an SCCP CC from CN. */
+ /* Receiving an SCCP CC from CN.
+ * Parameter: struct msgb *ranap_msg, may be NULL or empty. */
MAP_SCCP_EV_RX_CONNECTION_CONFIRM,
/* Receiving some data from CN via SCCP, to forward via RUA to HNB.
- * Parameter: struct msgb *ranap_msg */
+ * Parameter: struct msgb *ranap_msg, may be NULL or empty. */
MAP_SCCP_EV_RX_DATA_INDICATION,
/* RUA has received some data from HNB to forward via SCCP to CN.
- * Parameter: struct msgb *ranap_msg */
+ * Parameter: struct msgb *ranap_msg. */
MAP_SCCP_EV_TX_DATA_REQUEST,
/* 3GPP TS 25.468 9.1.5: The RAN side received a RUA Disconnect.
* - Under normal conditions (cause=Normal) the RUA Disconnect contains a RANAP Iu-ReleaseComplete.
@@ -75,15 +76,19 @@
* happened under error or normal conditions, as per the above.
*/
MAP_SCCP_EV_RAN_DISC,
- /* The RAN released ungracefully. We will directly disconnect the SCCP connection, too. */
+ /* The RAN released ungracefully. We will directly disconnect the SCCP connection, too.
+ * Parameter: no parameter, NULL. */
MAP_SCCP_EV_RAN_LINK_LOST,
- /* Receiving an SCCP RLSD from CN, or libosmo-sigtran tells us about SCCP connection timeout. All done. */
+ /* Receiving an SCCP RLSD from CN, or libosmo-sigtran tells us about SCCP connection timeout. All done.
+ * Parameter: struct msgb *ranap_msg, may be NULL or empty. */
MAP_SCCP_EV_RX_RELEASED,
/* The human admin asks to drop the current SCCP connection, by telnet VTY 'apply sccp' in presence of SCCP
- * config changes. */
+ * config changes.
+ * Parameter: no parameter, NULL. */
MAP_SCCP_EV_USER_ABORT,
/* The CN link can no longer work, for example a RANAP RESET was received from the cnlink that hosts this
- * context map. */
+ * context map.
+ * Parameter: no parameter, NULL. */
MAP_SCCP_EV_CN_LINK_LOST,
};
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40174?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I53603ade5157ddbccb49864a2edab09376fe8979
Gerrit-Change-Number: 40174
Gerrit-PatchSet: 2
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-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40175?usp=email )
Change subject: Fix MAP_SCCP_EV_CN_LINK_LOST never dispatched
......................................................................
Fix MAP_SCCP_EV_CN_LINK_LOST never dispatched
Commit introducing event MAP_SCCP_EV_CN_LINK_LOST into the FSM actually
never dispatched it, and instead dispatched MAP_SCCP_EV_RAN_LINK_LOST,
probably a copy-paste typo.
At the same time, it becomes clear no param is passed to the FSM when
dispatching it, so update related code paths since it becomes clear no
ranap_msg is passed.
Regarding comment in map_sccp_connected_action() about sending a RANAP
RESET, that should be done previously through a
MAP_SCCP_EV_RX_DATA_INDICATION prior to dispatching the CN_LINK_LOST
event if needed, similar to how's done in the context_map_rua FSM.
Fixes: b1c0bb19e2bfbc48e05a89a5f09b476d1243b5f3
Change-Id: I3a37522da16d9a06764f58c2da9579b397d8a7f2
---
M src/osmo-hnbgw/context_map.c
M src/osmo-hnbgw/context_map_sccp.c
2 files changed, 1 insertion(+), 15 deletions(-)
Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
laforge: Looks good to me, but someone else must approve
diff --git a/src/osmo-hnbgw/context_map.c b/src/osmo-hnbgw/context_map.c
index 1f4c6a2..5a6d79b 100644
--- a/src/osmo-hnbgw/context_map.c
+++ b/src/osmo-hnbgw/context_map.c
@@ -186,7 +186,7 @@
void context_map_cnlink_lost(struct hnbgw_context_map *map)
{
- map_sccp_dispatch(map, MAP_SCCP_EV_RAN_LINK_LOST, NULL);
+ map_sccp_dispatch(map, MAP_SCCP_EV_CN_LINK_LOST, NULL);
}
void context_map_free(struct hnbgw_context_map *map)
diff --git a/src/osmo-hnbgw/context_map_sccp.c b/src/osmo-hnbgw/context_map_sccp.c
index 42a0e49..c8973ce 100644
--- a/src/osmo-hnbgw/context_map_sccp.c
+++ b/src/osmo-hnbgw/context_map_sccp.c
@@ -196,7 +196,6 @@
static void map_sccp_init_action(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
- struct hnbgw_context_map *map = fi->priv;
struct msgb *ranap_msg = NULL;
switch (event) {
@@ -212,10 +211,6 @@
case MAP_SCCP_EV_RAN_LINK_LOST:
case MAP_SCCP_EV_USER_ABORT:
case MAP_SCCP_EV_CN_LINK_LOST:
- ranap_msg = data;
- /* No CR has been sent yet, just go to disconnected state. */
- if (msg_has_l2_data(ranap_msg))
- LOG_MAP(map, DLSCCP, LOGL_ERROR, "SCCP not connected, cannot dispatch RANAP message\n");
map_sccp_fsm_state_chg(MAP_SCCP_ST_DISCONNECTED);
return;
@@ -259,10 +254,6 @@
case MAP_SCCP_EV_RAN_LINK_LOST:
case MAP_SCCP_EV_USER_ABORT:
case MAP_SCCP_EV_CN_LINK_LOST:
- ranap_msg = data;
- /* RUA connection was terminated. First wait for the CC before releasing the SCCP conn. */
- if (msg_has_l2_data(ranap_msg))
- LOGPFSML(fi, LOGL_ERROR, "Connection not yet confirmed, cannot forward RANAP to CN\n");
map->please_disconnect = true;
return;
@@ -341,12 +332,7 @@
case MAP_SCCP_EV_USER_ABORT:
/* The user is asking for disconnection, so there is no Iu Release in progress. Disconnect now. */
case MAP_SCCP_EV_CN_LINK_LOST:
- ranap_msg = data;
/* The CN peer has sent a RANAP RESET, so the old link that this map ran on is lost */
-
- /* There won't be any ranap_msg, but if a caller wants to dispatch a msg, forward it before
- * disconnecting. */
- tx_sccp_df1(fi, ranap_msg);
tx_sccp_rlsd(fi);
map_sccp_fsm_state_chg(MAP_SCCP_ST_DISCONNECTED);
return;
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40175?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I3a37522da16d9a06764f58c2da9579b397d8a7f2
Gerrit-Change-Number: 40175
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40176?usp=email )
Change subject: context_map_sccp: Queue RUA->SCCP RANAP msgs while in SCCP WAIT_CC state
......................................................................
context_map_sccp: Queue RUA->SCCP RANAP msgs while in SCCP WAIT_CC state
HNB transmits the first RANAP PDU over a RUA Connect msg, which creates
the session without need for any confirmation from HNBGW.
As a result, HNB is allowed to transmit more RANAP PDUs after that.
On the other side HNBGW, SCCP conn establishment towards CN consists of
a CREQ msg and then wait until CC (or CREF) is received. HNBGW is unable
to transmit any more data during that time, only the one appended to the
CREQ SCCP msg.
If the RAN transmits any more RANAP PDU over RUA while SCCP side is
still waiting for CC, we were discarding the message. Instead, queue it
and transmit it once finally the CC is received from the peer.
Related: SYS#7453
Change-Id: I307ded905901421f8228fab720b3989a2f94412b
---
M include/osmocom/hnbgw/context_map.h
M src/osmo-hnbgw/context_map_sccp.c
2 files changed, 33 insertions(+), 5 deletions(-)
Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
osmith: Looks good to me, but someone else must approve
diff --git a/include/osmocom/hnbgw/context_map.h b/include/osmocom/hnbgw/context_map.h
index f3d9e73..80b7e2b 100644
--- a/include/osmocom/hnbgw/context_map.h
+++ b/include/osmocom/hnbgw/context_map.h
@@ -168,6 +168,12 @@
uint32_t scu_conn_id;
/* FSM handling the SCCP state for scu_conn_id. */
struct osmo_fsm_inst *sccp_fi;
+ /* State context related to field sccp_fi above: */
+ struct {
+ /* List of cached packets received from RUA and to be forwarded
+ once SCCP CReq is CC'ed and move to CONNECTED state. */
+ struct llist_head wait_cc_tx_msg_list;
+ } sccp_fi_ctx;
/* False for CS, true for PS */
bool is_ps;
diff --git a/src/osmo-hnbgw/context_map_sccp.c b/src/osmo-hnbgw/context_map_sccp.c
index c8973ce..5ee584d 100644
--- a/src/osmo-hnbgw/context_map_sccp.c
+++ b/src/osmo-hnbgw/context_map_sccp.c
@@ -80,7 +80,7 @@
OSMO_ASSERT(map->sccp_fi == NULL);
map->sccp_fi = fi;
-
+ INIT_LLIST_HEAD(&map->sccp_fi_ctx.wait_cc_tx_msg_list);
/* trigger the timeout */
map_sccp_fsm_state_chg(MAP_SCCP_ST_INIT);
}
@@ -194,6 +194,20 @@
return hnbgw_ranap_rx_data_dl(map, ranap_msg);
}
+static void wait_cc_tx_msg_list_enqueue(struct hnbgw_context_map *map, struct msgb *ranap_msg)
+{
+ talloc_steal(map, ranap_msg);
+ msgb_enqueue(&map->sccp_fi_ctx.wait_cc_tx_msg_list, ranap_msg);
+}
+
+static struct msgb *wait_cc_tx_msg_list_dequeue(struct hnbgw_context_map *map)
+{
+ struct msgb *ranap_msg = msgb_dequeue(&map->sccp_fi_ctx.wait_cc_tx_msg_list);
+ if (ranap_msg)
+ talloc_steal(OTC_SELECT, ranap_msg);
+ return ranap_msg;
+}
+
static void map_sccp_init_action(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct msgb *ranap_msg = NULL;
@@ -247,8 +261,9 @@
return;
case MAP_SCCP_EV_TX_DATA_REQUEST:
- /* ranap_msg = data; */
- LOGPFSML(fi, LOGL_ERROR, "Connection not yet confirmed, cannot forward RANAP to CN\n");
+ ranap_msg = data;
+ LOGPFSML(fi, LOGL_INFO, "Caching RANAP msg from RUA while waiting for SCCP CC\n");
+ wait_cc_tx_msg_list_enqueue(map, ranap_msg);
return;
case MAP_SCCP_EV_RAN_LINK_LOST:
@@ -280,9 +295,15 @@
static void map_sccp_connected_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
struct hnbgw_context_map *map = fi->priv;
+ struct msgb *ranap_msg;
+
+ /* Now that SCCP conn is confirmed, forward pending msgs received from RUA side: */
+ while ((ranap_msg = wait_cc_tx_msg_list_dequeue(map)))
+ tx_sccp_df1(fi, ranap_msg);
+
if (map->please_disconnect) {
- /* SCCP has already been asked to disconnect, so disconnect now that the CC has been received. Send RLSD
- * to SCCP (without RANAP data) */
+ /* SCCP has already been asked to disconnect, so disconnect now that the
+ * CC has been received. Send RLSD to SCCP (without RANAP data) */
tx_sccp_rlsd(fi);
map_sccp_fsm_state_chg(MAP_SCCP_ST_DISCONNECTED);
}
@@ -470,6 +491,7 @@
{
struct hnbgw_context_map *map = fi->priv;
map->sccp_fi = NULL;
+ msgb_queue_free(&map->sccp_fi_ctx.wait_cc_tx_msg_list);
}
#define S(x) (1 << (x))
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40176?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I307ded905901421f8228fab720b3989a2f94412b
Gerrit-Change-Number: 40176
Gerrit-PatchSet: 4
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-Reviewer: pespin <pespin(a)sysmocom.de>