pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/33455 )

Change subject: tbf_dl_fsm: Ignore DL_ACKNACK_MISS events in 
WAIT_{RELEASE,REUSE_TFI} states
......................................................................

tbf_dl_fsm: Ignore DL_ACKNACK_MISS events in WAIT_{RELEASE,REUSE_TFI} states

If in those states, we already left the FINISHED step which means we
already received a FinalACk previously, hence it means we are missing
requested retransmissions of the last DL ACK/NACK due to fn-advance
(several DL blocks in transit before receiving UL response).

Change-Id: Ib0f23a9cc3c614fe428b682e01502930cd2e478f
---
M src/tbf_dl_fsm.c
1 file changed, 26 insertions(+), 0 deletions(-)

Approvals:
  osmith: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/src/tbf_dl_fsm.c b/src/tbf_dl_fsm.c
index 557fb7a..d604f6f 100644
--- a/src/tbf_dl_fsm.c
+++ b/src/tbf_dl_fsm.c
@@ -286,6 +286,11 @@
        case TBF_EV_FINAL_ACK_RECVD:
                /* ignore, duplicate ACK, we already know about since we left 
ST_FINISHED */
                break;
+       case TBF_EV_DL_ACKNACK_MISS:
+               /* ignore, miss for retransmitted ACK, but a previous one was
+                * already ACKED since we left ST_FINISHED. This happens due to
+                * fn-advance scheduling several DL blocks in advance. */
+               break;
        default:
                OSMO_ASSERT(0);
        }
@@ -320,6 +325,11 @@
        case TBF_EV_FINAL_ACK_RECVD:
                /* ignore, duplicate ACK, we already know about since we left 
ST_FINISHED */
                break;
+       case TBF_EV_DL_ACKNACK_MISS:
+               /* ignore, miss for retransmitted ACK, but a previous one was
+                * already ACKED since we left ST_FINISHED. This happens due to
+                * fn-advance scheduling several DL blocks in advance. */
+               break;
        default:
                OSMO_ASSERT(0);
        }
@@ -450,6 +460,7 @@
        },
        [TBF_ST_WAIT_RELEASE] = {
                .in_event_mask =
+                       X(TBF_EV_DL_ACKNACK_MISS) |
                        X(TBF_EV_FINAL_ACK_RECVD) |
                        X(TBF_EV_MAX_N3105),
                .out_state_mask =
@@ -461,6 +472,7 @@
        },
        [TBF_ST_WAIT_REUSE_TFI] = {
                .in_event_mask =
+                       X(TBF_EV_DL_ACKNACK_MISS) |
                        X(TBF_EV_FINAL_ACK_RECVD),
                .out_state_mask =
                        X(TBF_ST_RELEASING),

--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/33455
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Ib0f23a9cc3c614fe428b682e01502930cd2e478f
Gerrit-Change-Number: 33455
Gerrit-PatchSet: 4
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to