[PATCH] lib: Fix retransmission DRF update

  • From: Dimitri Staessens <dimitri@ouroboros.rocks>
  • To: ouroboros@xxxxxxxxxxxxx
  • Date: Fri, 1 May 2020 23:44:46 +0200

The retransmission was always disabling the DRF flag. This caused
problems with the loss of the first packet, which of course needs a
DRF flag set. The retransmitted packet will now contain a the original
DRF flag and an updated ack number.

Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
---
 src/lib/rxmwheel.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/lib/rxmwheel.c b/src/lib/rxmwheel.c
index dbdd937..9602c5f 100644
--- a/src/lib/rxmwheel.c
+++ b/src/lib/rxmwheel.c
@@ -199,15 +199,11 @@ static void rxmwheel_move(struct rxmwheel * rw)
                         head = shm_du_buff_head(sdb);
                         memcpy(head, r->head, r->tail - r->head);
 
-                        /* Release the old copy. */
                         ipcp_sdb_release(r->sdb);
 
-                        /* Disable using this seqno as rto probe. */
                         check_probe(r->frcti, r->seqno);
 
-                        /* Update ackno and make sure DRF is not set. */
                         ((struct frct_pci *) head)->ackno = ntoh32(rcv_lwe);
-                        ((struct frct_pci *) head)->flags &= ~FRCT_DRF;
 
                         /* Retransmit the copy. */
                         if (shm_rbuff_write_b(f->tx_rb, idx, NULL)) {
-- 
2.26.2


Other related posts:

  • » [PATCH] lib: Fix retransmission DRF update - Dimitri Staessens