aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-04-29 18:48:03 +0200
committerHarald Welte <laforge@osmocom.org>2021-04-29 21:10:30 +0200
commit9c0fae14d105b64ec9e8ff7322fa4aca782e54d1 (patch)
tree4d2fe0dee95529aa343a841874c7993a533c0e0d
parentd9098703fadd46150139c717505f9032f5621b9d (diff)
xua_asp_fsm: Fix IPA client role
The IPA server worked as expected, but the IPA client has some clear logic bug that prevented it from working. It shows that we never really use any of that IPA/SCCPlite stuff after years in spec-compliant SIGTRAN land. A client now first waits for the IPA_REQ, sends its IPA_RESP, then waits for the ACK, ... Change-Id: Icfc32cad7d65c94dc21754b8f879afcf34d34a92
-rw-r--r--src/xua_asp_fsm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c
index ec85d21..dd1dddb 100644
--- a/src/xua_asp_fsm.c
+++ b/src/xua_asp_fsm.c
@@ -867,7 +867,7 @@ static void ipa_asp_fsm_down(struct osmo_fsm_inst *fi, uint32_t event, void *dat
}
} else {
/* Client: We simply wait for an ID GET */
- osmo_fsm_inst_state_chg(fi, IPA_ASP_S_WAIT_ID_ACK, 10, T_WAIT_ID_ACK);
+ osmo_fsm_inst_state_chg(fi, IPA_ASP_S_WAIT_ID_GET, 10, T_WAIT_ID_GET);
}
break;
}
@@ -1081,7 +1081,7 @@ static const struct osmo_fsm_state ipa_asp_states[] = {
[IPA_ASP_S_DOWN] = {
.in_event_mask = S(XUA_ASP_E_M_ASP_UP_REQ) |
S(XUA_ASP_E_SCTP_EST_IND),
- .out_state_mask = S(IPA_ASP_S_WAIT_ID_ACK) |
+ .out_state_mask = S(IPA_ASP_S_WAIT_ID_GET) |
S(IPA_ASP_S_WAIT_ID_RESP),
.name = "ASP_DOWN",
.action = ipa_asp_fsm_down,