Change in libosmo-sccp[master]: sccp_simple_client: only restart ASP if it was created

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Wed Jun 24 11:19:12 UTC 2020


neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18990 )

Change subject: sccp_simple_client: only restart ASP if it was created
......................................................................

sccp_simple_client: only restart ASP if it was created

In osmo_sccp_simple_client_on_ss7_id(), only call osmo_ss7_asp_restart() if the
ASP was created by that function. If a previously existing ASP was re-used, do
not restart it.

Background: Recently, osmo-bsc started calling
osmo_sccp_simple_client_on_ss7_id() multiple times, once for each configured
MSC in an MSC pool. Normally, that ends up re-using the same ASP and SCCP
client, so should not change anything.  Still, it turns out that the SCTP
association was re-launched for every configured MSC, which is obviously not
necessary when using the same SCCP connection and SCCP user for multiple MSCs.
That happened because osmo_sccp_simple_client_on_ss7_id() calls
osmo_ss7_asp_restart() even if a pre-existing ASP is re-used.

The rapid restarts also uncovered a problem in osmo-stp, causing it to crash --
that is a separate issue.

Independently from an osmo-stp fix, this change should in fact avoid the
osmo-stp crash and fix the sporadic massive ttcn3-bsc-test fallout we're seeing
since merging the MSC pooling feature to osmo-bsc.

Related: OS#4625
Change-Id: I62443edd681a2ec1b38f958520e907f9a7ef285e
---
M src/sccp_user.c
1 file changed, 9 insertions(+), 9 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  neels: Looks good to me, approved
  dexter: Looks good to me, but someone else must approve
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/src/sccp_user.c b/src/sccp_user.c
index d8a7357..1278fae 100644
--- a/src/sccp_user.c
+++ b/src/sccp_user.c
@@ -597,16 +597,16 @@
 			talloc_free(asp_name);
 
 		osmo_ss7_as_add_asp(as, asp->cfg.name);
+
+		/* Ensure that the ASP we use is set to client mode. */
+		asp->cfg.is_server = false;
+		asp->cfg.role = OSMO_SS7_ASP_ROLE_ASP;
+
+		/* Restart ASP */
+		if (prot != OSMO_SS7_ASP_PROT_IPA)
+			osmo_ss7_asp_use_default_lm(asp, LOGL_DEBUG);
+		osmo_ss7_asp_restart(asp);
 	}
-
-	/* Ensure that the ASP we use is set to client mode. */
-	asp->cfg.is_server = false;
-	asp->cfg.role = OSMO_SS7_ASP_ROLE_ASP;
-
-	/* Restart ASP */
-	if (prot != OSMO_SS7_ASP_PROT_IPA)
-		osmo_ss7_asp_use_default_lm(asp, LOGL_DEBUG);
-	osmo_ss7_asp_restart(asp);
 	LOGP(DLSCCP, LOGL_NOTICE, "%s: Using ASP instance %s\n", name,
 	     asp->cfg.name);
 

-- 
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18990
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I62443edd681a2ec1b38f958520e907f9a7ef285e
Gerrit-Change-Number: 18990
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Assignee: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200624/2468a657/attachment.htm>


More information about the gerrit-log mailing list