diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-03-24 14:45:43 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-03-24 17:16:29 +0100 |
commit | 0b998b15da4bb4e4c6ce35316218c47daa190004 (patch) | |
tree | f09c3629d92da385d342375c3087b9c5fc9edd06 /src/tbf_ul.cpp | |
parent | c1f38c7f0b72c7cf701cb8d9a0a0ed996538d1f6 (diff) |
Properly implement N3101
N3101 is incremented by unanswered USF requests, not from unanswered
POLLs.
Related: OS#5033
Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r-- | src/tbf_ul.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index f226b290..ba491f6d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -772,6 +772,15 @@ gprs_rlc_window *gprs_rlcmac_ul_tbf::window() return &m_window; } +void gprs_rlcmac_ul_tbf::usf_timeout() +{ + if (n_inc(N3101)) { + TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); + T_START(this, T3169, 3169, "MAX N3101 reached", false); + return; + } +} + struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) { if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) @@ -779,3 +788,8 @@ struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) else return NULL; } + +void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf) +{ + tbf->usf_timeout(); +} |