(In reply to Nikos Mavrogiannopoulos from comment #10)
> (In reply to David Woodhouse from comment #8)
> > Not sure I understand DTLS_WINDOW_RECEIVED() being conditional. Assuming you
> > only act on this when a packet passes the MAC validation, why do you not
> > *always* advance the window so that it ends at the latest-received packet?
>
> What if first packet is 1 and you receive 3, 6, 5, 4, 2. If window is
> advanced to the latest 5, 4, 2 would be discarded.
The way this usually works is the window advances so that the *END* of the window is the last-received packet.
So the *end* of the window is advanced to the latest 6. The bitmap then represents the packets leading up to that.
(In reply to Nikos Mavrogiannopoulos from comment #10) RECEIVED( ) being conditional. Assuming you
> (In reply to David Woodhouse from comment #8)
> > Not sure I understand DTLS_WINDOW_
> > only act on this when a packet passes the MAC validation, why do you not
> > *always* advance the window so that it ends at the latest-received packet?
>
> What if first packet is 1 and you receive 3, 6, 5, 4, 2. If window is
> advanced to the latest 5, 4, 2 would be discarded.
The way this usually works is the window advances so that the *END* of the window is the last-received packet.
So the *end* of the window is advanced to the latest 6. The bitmap then represents the packets leading up to that.
cf. http:// git.infradead. org/users/ dwmw2/openconne ct.git/ blob/HEAD: /esp.c# l33