diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2020-05-01 23:44:46 +0200 | 
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2020-05-02 11:34:28 +0200 | 
| commit | 4ba228a8b373f64de541baab1f11449448cb7be2 (patch) | |
| tree | f8256805ac6e3f54c662060bed1dd2e430a4a099 /src/lib | |
| parent | 25d1721e7dc9fa15c8a7c5513f30e636e9bda397 (diff) | |
| download | ouroboros-4ba228a8b373f64de541baab1f11449448cb7be2.tar.gz ouroboros-4ba228a8b373f64de541baab1f11449448cb7be2.zip  | |
lib: Fix retransmission DRF update
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>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/rxmwheel.c | 4 | 
1 files changed, 0 insertions, 4 deletions
diff --git a/src/lib/rxmwheel.c b/src/lib/rxmwheel.c index dbdd9377..9602c5f9 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)) {  | 
