Change in libosmo-sccp[master]: ipa_asp_fsm: Fix AS lookup from IPA ASP

laforge gerrit-no-reply at lists.osmocom.org
Sun Apr 25 15:33:04 UTC 2021


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23891 )


Change subject: ipa_asp_fsm: Fix AS lookup from IPA ASP
......................................................................

ipa_asp_fsm: Fix AS lookup from IPA ASP

Contrary to proper SIGTRAN, IPA/SCCPlite cannot support multiple
AS within one AS.  When looking up the AS from the ASP, we cannot
blindly use routing context 0 to find the AS, as there may very well
be multiple IPA AS, and all of those have routing context 0.

As a result, the exiting look-up by osmo_ss7_as_find_by_rctx(inst, 0)
will return the wrong AS, and we will try to add/delete routes for
a completely different AS when ASPs are coming up or going down.

Instead, we need to use xua_find_as_for_asp() in order do the look-up:
It will resolve the single AS within the ASP.

Change-Id: Id295daf84f6ba1cc56cbe1761f874bea329e17ea
Cloess: SYS#5422
---
M src/xua_asp_fsm.c
1 file changed, 5 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/91/23891/1

diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index 4630f5b..f8683d5 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -29,6 +29,7 @@
 
 #include "xua_asp_fsm.h"
 #include "xua_as_fsm.h"
+#include "xua_internal.h"
 
 #define S(x)	(1 << (x))
 
@@ -941,9 +942,9 @@
 	struct ipa_asp_fsm_priv *iafp = fi->priv;
 	struct osmo_ss7_asp *asp = iafp->asp;
 	struct osmo_ss7_instance *inst = asp->inst;
-	/* We use routing-context '0' here, as that's the only one we support in IPA */
-	struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0);
+	struct osmo_ss7_as *as;
 
+	xua_find_as_for_asp(&as, asp, NULL);
 	OSMO_ASSERT(as);
 
 	switch (event) {
@@ -1015,10 +1016,10 @@
 	struct ipa_asp_fsm_priv *iafp = fi->priv;
 	struct osmo_ss7_asp *asp = iafp->asp;
 	struct osmo_ss7_instance *inst = asp->inst;
-	/* We use routing-context '0' here, as that's the only one we support in IPA */
-	struct osmo_ss7_as *as = osmo_ss7_as_find_by_rctx(inst, 0);
+	struct osmo_ss7_as *as;
 	struct osmo_ss7_route *rt;
 
+	xua_find_as_for_asp(&as, asp, NULL);
 	OSMO_ASSERT(as);
 
 	/* find the route which we have created if we ever reached ipa_asp_fsm_wait_id_ack2 */

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

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: Id295daf84f6ba1cc56cbe1761f874bea329e17ea
Gerrit-Change-Number: 23891
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210425/60fff997/attachment.htm>


More information about the gerrit-log mailing list