pespin has uploaded this change for review.

View Change

Create missing LayerManager fsm in dynamic srv xua asps

Dynamic xUA ASPs in transport_role=server where missing initialization
+start of its LayerManager, meaning they had no xua_default_lm_fsm
instance attached.
Previous the xua_default_lm_fsm didn't do anything internally, but since
recently ir properly transitions through states in SG role too, so
we want to handle blocking/unblocking, etc.

Change-Id: Id01e7a24e92aecc61aa2850632b3712bb338e9f2
---
M src/ss7_asp.c
M src/ss7_asp.h
M src/ss7_xua_srv.c
3 files changed, 3 insertions(+), 1 deletion(-)

git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/74/42574/1
diff --git a/src/ss7_asp.c b/src/ss7_asp.c
index f30375f..6efd9f4 100644
--- a/src/ss7_asp.c
+++ b/src/ss7_asp.c
@@ -693,7 +693,7 @@
return NULL;
}

-static void ss7_asp_xua_layer_manager_start(struct osmo_ss7_asp *asp)
+void ss7_asp_xua_layer_manager_start(struct osmo_ss7_asp *asp)
{
OSMO_ASSERT(!asp->lm);
/* No LM in IPA */
diff --git a/src/ss7_asp.h b/src/ss7_asp.h
index 3012e5e..a4e0e2f 100644
--- a/src/ss7_asp.h
+++ b/src/ss7_asp.h
@@ -194,6 +194,7 @@

void ss7_asp_set_blocked(struct osmo_ss7_asp *asp, bool blocked);
void ss7_asp_restart_after_reconfigure(struct osmo_ss7_asp *asp);
+void ss7_asp_xua_layer_manager_start(struct osmo_ss7_asp *asp);

unsigned int ss7_asp_get_all_rctx(const struct osmo_ss7_asp *asp, uint32_t *rctx, unsigned int rctx_size,
const struct osmo_ss7_as *excl_as);
diff --git a/src/ss7_xua_srv.c b/src/ss7_xua_srv.c
index 0d095ee..c080f63 100644
--- a/src/ss7_xua_srv.c
+++ b/src/ss7_xua_srv.c
@@ -179,6 +179,7 @@
oxs->cfg.local.host_cnt);
ss7_asp_peer_set_hosts(&asp->cfg.remote, asp,
&hostbuf_ptr, 1);
+ ss7_asp_xua_layer_manager_start(asp);
if ((rc = xua_asp_fsm_start(asp, LOGL_DEBUG)) < 0) {
talloc_free(sock_name);
osmo_ss7_asp_destroy(asp);

To view, visit change 42574. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Id01e7a24e92aecc61aa2850632b3712bb338e9f2
Gerrit-Change-Number: 42574
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>