pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42574?usp=email )
Change subject: Create missing LayerManager fsm in dynamic srv xua asps ......................................................................
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);