Re: TCP_DEFER_ACCEPT possible bug + documentation patch for tcp.7

From: bert hubert (ahu@ds9a.nl)
Date: Sun Oct 22 2000 - 08:16:04 EST


On Sun, Oct 22, 2000 at 04:56:41PM +0400, kuznet@ms2.inr.ac.ru wrote:
> Hello!
>
> > Connection established, and I send no data
>
> But why did you set DEFER_ACCEPT then? 8)

I was just experimenting.

> It becomes legal, as soon as we do not enter ESTABLISHED
> state. Your ACK is just ignored and we continue to retransmit
> SYN-ACK being in SYN-RECV.

With my patch applied:

43.392834 l.1311 > l.2500: S 3232293621:3232293621(0) win 32280 <mss 16152,sackOK,timestamp 336478 0,nop,wscale 0> (DF) [tos 0x10]
43.392948 l.2500 > l.1311: S 3229276625:3229276625(0) ack 3232293622 win 32280 <mss 16152,sackOK,timestamp 336478 336478,nop,wscale 0> (DF)
43.393018 l.1311 > l.2500: . ack 1 win 32280 <nop,nop,timestamp 336478 336478> (DF) [tos 0x10]

(time passes, and I send some data)

51.370011 l.1311 > l.2500: P 1:3(2) ack 1 win 32280 <nop,nop,timestamp 373276 336478> (DF) [tos 0x10]
51.370102 l.2500 > l.1311: R 3229276626:3229276626(0) win 0 (DF) [tos 0x10]

Ok, this surely is incorrect. However, sending spurious SYNACK packets
doesn't seem like the way to solve this problem. I know it complicates the
kernel, but if we do connection preprocessing, shouldn't we also do teardown
in case of timeout?

Thanks for the explanation.

Regards,

bert hubert

-- 
PowerDNS                     Versatile DNS Services  
Trilab                       The Technology People   
'SYN! .. SYN|ACK! .. ACK!' - the mating call of the internet
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:19 EST