Re: [PATCH] net:ipv4: send an ack when seg.ack > snd.nxt

From: Zhouyi Zhou
Date: Sat Mar 19 2022 - 06:34:57 EST


Dear Florian

Thank you for reviewing my patch ;-)

On Sat, Mar 19, 2022 at 6:04 PM Florian Westphal <fw@xxxxxxxxx> wrote:
>
> zhouzhouyi@xxxxxxxxx <zhouzhouyi@xxxxxxxxx> wrote:
> > - if (after(ack, tp->snd_nxt))
> > + if (after(ack, tp->snd_nxt)) {
> > + tcp_send_ack(sk);
> > return -1;
> > + }
>
> If we really need to do this we need to
> if (!(flag & FLAG_NO_CHALLENGE_ACK))
Yes, we need to check FLAG_NO_CHALLENGE_ACK here to avoid two acks.
> tcp_send_challenge_ack(sk);
>
> ... else this might result in two acks?
> Whats the problem thats being fixed here?
We fix the code to let it match what RFC 793 page 72 has described. I
guess this is also what the intermediate internet devices (routers,
firewalls for example) expect us to do ;-)

Thanks again
Zhouyi