neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/35088?usp=email )
Change subject: use X6 timer for REL ACK, not T3111 ...................................................................... use X6 timer for REL ACK, not T3111 The lchan FSM timers were originally implemented to model earlier code as closely as possible. Now it has come up that T3111 is used in the wrong place: 3GPP TS 44.018 says: T3111: This timer is used to delay the channel deactivation after disconnection of the main signalling link. Its purpose is to let some time for possible repetition of the disconnection. Its value is equal to the value of T3110. Before this patch, we use it also to time the RF REL ACK message. That is pretty bad, because T3111 is only 2 seconds by default, making RF CHAN REL vulnerable for timeout. When a user increased T3111 to alleviate the problem, the result is that each lchan also delays its normal channel release procedure by the configured amount of time. Very inelegant. Instead, use the X6 timer for REL ACK, because X6 already times the CHAN ACTIV ACK, which is semantically identical. Compatibility / user impact: No negative impact expected. We can assume that every user out there has X6 configured to work for CHAN ACTIV ACK. From that logic, switching channel release ACK to the same timer is guaranteed to be what the user intends. We could instruct users in the release notes that they may now choose T3111 freely (as short as 2 seconds) without jeopardising channel release anymore. Related: SYS#6655 Change-Id: Ibd118fa23e5deb4381bc31b11a7b495f57901d6c --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 40 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1b012bd..d6dfe3a 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -330,7 +330,7 @@ [LCHAN_ST_WAIT_RLL_RTP_ESTABLISH] = { .T = 3101 }, [LCHAN_ST_WAIT_RLL_RTP_RELEASED] = { .T = 3109 }, [LCHAN_ST_WAIT_BEFORE_RF_RELEASE] = { .T = 3111 }, - [LCHAN_ST_WAIT_RF_RELEASE_ACK] = { .T = 3111 }, + [LCHAN_ST_WAIT_RF_RELEASE_ACK] = { .T = -6 }, [LCHAN_ST_WAIT_AFTER_ERROR] = { .T = -3111 }, [LCHAN_ST_WAIT_RR_CHAN_MODE_MODIFY_ACK] = { .T = -13 }, [LCHAN_ST_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = { .T = -14 }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/35088?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibd118fa23e5deb4381bc31b11a7b495f57901d6c Gerrit-Change-Number: 35088 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofm...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de> Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-Reviewer: neels <nhofm...@sysmocom.de> Gerrit-Reviewer: osmith <osm...@sysmocom.de> Gerrit-MessageType: merged