Change in libosmo-sccp[master]: ipa_asp_fsm_del_route(): Log what happens if we bail out early

laforge gerrit-no-reply at lists.osmocom.org
Mon Apr 26 08:54:42 UTC 2021


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

Change subject: ipa_asp_fsm_del_route(): Log what happens if we bail out early
......................................................................

ipa_asp_fsm_del_route(): Log what happens if we bail out early

Let's inform the user about situations in which we'd want to delete
the route for an IPA client, but we run into some problem and
bail out early.

Change-Id: Ie3f57d22901f169afb2c844476b5839cc36752aa
Related: SYS#5422
---
M src/xua_asp_fsm.c
1 file changed, 16 insertions(+), 6 deletions(-)

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



diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index c8dcac6..4630f5b 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -1010,8 +1010,9 @@
 	}
 }
 
-static void ipa_asp_fsm_del_route(struct ipa_asp_fsm_priv *iafp)
+static void ipa_asp_fsm_del_route(struct osmo_fsm_inst *fi)
 {
+	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 */
@@ -1023,11 +1024,20 @@
 	/* find the route which we have created if we ever reached ipa_asp_fsm_wait_id_ack2 */
 	rt = osmo_ss7_route_find_dpc_mask(inst->rtable_system, as->cfg.routing_key.pc, 0xffffff);
 	/* no route found, bail out */
-	if (!rt)
+	if (!rt) {
+		LOGPFSML(fi, LOGL_NOTICE, "Attempting to delete route for this IPA ASP, but cannot "
+			 "find route for DPC %s. Did you manually delete it?\n",
+			 osmo_ss7_pointcode_print(inst, as->cfg.routing_key.pc));
 		return;
+	}
+
 	/* route points to different AS, bail out */
-	if (rt->dest.as != as)
+	if (rt->dest.as != as) {
+		LOGPFSML(fi, LOGL_NOTICE, "Attempting to delete route for this IPA ASP, but found "
+			 "route for DPC %s points to different AS (%s)\n",
+			 osmo_ss7_pointcode_print(inst, as->cfg.routing_key.pc), rt->dest.as->cfg.name);
 		return;
+	}
 
 	osmo_ss7_route_destroy(rt);
 	/* FIXME: Why don't we also delete this timer if we return early above?
@@ -1041,7 +1051,7 @@
 	switch (event) {
 	case XUA_ASP_E_M_ASP_DOWN_REQ:
 	case XUA_ASP_E_M_ASP_INACTIVE_REQ:
-		ipa_asp_fsm_del_route(fi->priv);
+		ipa_asp_fsm_del_route(fi);
 		osmo_fsm_inst_state_chg(fi, IPA_ASP_S_DOWN, 0, 0);
 		break;
 	}
@@ -1051,7 +1061,7 @@
 {
 	switch (event) {
 	case XUA_ASP_E_M_ASP_DOWN_REQ:
-		ipa_asp_fsm_del_route(fi->priv);
+		ipa_asp_fsm_del_route(fi);
 		osmo_fsm_inst_state_chg(fi, IPA_ASP_S_DOWN, 0, 0);
 		break;
 	}
@@ -1178,7 +1188,7 @@
 
 static void ipa_asp_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
 {
-	ipa_asp_fsm_del_route(fi->priv);
+	ipa_asp_fsm_del_route(fi);
 }
 
 struct osmo_fsm ipa_asp_fsm = {

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

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: Ie3f57d22901f169afb2c844476b5839cc36752aa
Gerrit-Change-Number: 23889
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
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/20210426/ef52ea37/attachment.htm>


More information about the gerrit-log mailing list