pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmo-sigtran/+/42569?usp=email )


Change subject: xua_lm: Handle rx of unsolicited ASPIA ACK
......................................................................

xua_lm: Handle rx of unsolicited ASPIA ACK

Related: OS#6752
Change-Id: Ica4fbaefd08cdb5c4ca2e2a608606ddbec85297c
---
M src/xua_default_lm_fsm.c
1 file changed, 12 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran 
refs/changes/69/42569/1

diff --git a/src/xua_default_lm_fsm.c b/src/xua_default_lm_fsm.c
index dbca526..dbe88e1 100644
--- a/src/xua_default_lm_fsm.c
+++ b/src/xua_default_lm_fsm.c
@@ -62,6 +62,7 @@
        LM_E_ASP_UP_CONF,
        LM_E_ASP_UP_IND,
        LM_E_ASP_ACT_IND,
+       LM_E_ASP_INACT_CONF,
        LM_E_ASP_INACT_IND,
        LM_E_NOTIFY_IND,
        LM_E_ERROR_IND,
@@ -77,6 +78,7 @@
        { LM_E_ASP_UP_CONF,     "ASP-UP.conf" },
        { LM_E_ASP_UP_IND,      "ASP-UP.ind" },
        { LM_E_ASP_ACT_IND,     "ASP-ACT.ind" },
+       { LM_E_ASP_INACT_CONF,  "ASP-INACT.conf" },
        { LM_E_ASP_INACT_IND,   "ASP-INACT.ind" },
        { LM_E_NOTIFY_IND,      "NOTIFY.ind" },
        { LM_E_ERROR_IND,       "ERROR.ind" },
@@ -328,6 +330,14 @@
                /* This may come in IPSP if we received ASPAC from peer before 
it answered our ASPAC: */
                ENSURE_IPSP(fi, event);
                break;
+       case LM_E_ASP_INACT_CONF:
+               ENSURE_ASP_OR_IPSP(fi, event);
+               /* RFC 4666 RFC4666 4.3.4.4: Rx unsolicited ASPIA ACK, usually 
triggered because
+                * peer's ASP became administratively blocked.
+                * Try to re-activate, if peer's ASP is indeed blocked we'll 
probably receive an
+                * ERR msg and continue from there in the case LM_E_ERROR_IND 
below. */
+               xlm_sap_down_simple(lmp->asp, OSMO_XLM_PRIM_M_ASP_ACTIVE, 
PRIM_OP_REQUEST);
+               break;
        case LM_E_AS_INACTIVE_IND:
                /* request the ASP to go into active state */
                xlm_sap_down_simple(lmp->asp, OSMO_XLM_PRIM_M_ASP_ACTIVE, 
PRIM_OP_REQUEST);
@@ -442,6 +452,7 @@
        },
        [S_ACTIVE] = {
                .in_event_mask = S(LM_E_ASP_ACT_IND) |
+                                S(LM_E_ASP_INACT_CONF) |
                                 S(LM_E_AS_INACTIVE_IND) |
                                 S(LM_E_NOTIFY_IND) |
                                 S(LM_E_ERROR_IND),
@@ -459,6 +470,7 @@
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_ASP_UP, PRIM_OP_CONFIRM, LM_E_ASP_UP_CONF 
},
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_ASP_UP, PRIM_OP_INDICATION, 
LM_E_ASP_UP_IND },
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_ASP_ACTIVE, PRIM_OP_INDICATION, 
LM_E_ASP_ACT_IND },
+       { XUA_SAP_LM, OSMO_XLM_PRIM_M_ASP_INACTIVE, PRIM_OP_CONFIRM, 
LM_E_ASP_INACT_CONF },
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_ASP_INACTIVE, PRIM_OP_INDICATION, 
LM_E_ASP_INACT_IND },
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_AS_STATUS, PRIM_OP_INDICATION, 
LM_E_AS_STATUS_IND },
        { XUA_SAP_LM, OSMO_XLM_PRIM_M_NOTIFY, PRIM_OP_INDICATION, 
LM_E_NOTIFY_IND },

--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42569?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Ica4fbaefd08cdb5c4ca2e2a608606ddbec85297c
Gerrit-Change-Number: 42569
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to