Hugh 816a4f96c5 tcp: send challenge ACK for duplicate ACK in LAST-ACK
Per RFC 9293 §3.10.7.4, the only acceptable segment in LAST-ACK is an
acknowledgement of the local FIN. When a duplicate or stale ACK arrived
(ack_len == 0, ack_of_fin == false), smoltcp returned None with no
response, leaving the remote without feedback on the current sequence
state.

Add an else-if branch in the (State::LastAck, TcpControl::None) arm
that returns a challenge ACK via the existing challenge_ack_reply path.
This is symmetric with the handling for ACKs that exceed SND.NXT.
A partial ACK (ack_len > 0, ack_of_fin == false) is left on the
normal path so SND.UNA advances and the FIN is retransmitted by the
timer.

Fixes #1060
2026-03-04 18:58:17 -08:00
..
2025-09-03 16:16:46 +02:00
2026-01-31 01:33:32 +01:00