Re: RSTs being marked as invalid because of wrong td_maxack value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.04.2021 18:26, Florian Westphal wrote:
> What is generating this sequence of events?  Is #3 just delayed?

Yes.

> Is this after we let a SYN through while conntrack is still in
> established state?

Yes.

> That would imply #1 was ignored too, else this should have destroyed
> the entry.
> 
> Yes, be_liberal is good for this, but nevertheless I'd like to have it
> behave correctly out-of-the-box.
> 
> Consider sending a new patch to add a be-liberal check for this.

Ok perfect, will send a patch later then.

> Problem is that if #1 is ignored, then at #3 we can't easily know if
> the syn was bogus (ack is for established connection, still alive)
> or if there was re-use (ack is delayed).
> Do these problematic connections support tcp timestamps?
> If so, we might want to track those so we can check if the segment
> is older than what we last saw.
> 
> Only problem is that this increases conn size by 16 bytes, but that
> would be acceptable if that solves the problem.

Yes, they do support timestamps, but I'm not sure if that will solve
the problem, as the problematic out of order frame #5 has more recent
timestamps.

1: 703 → 2049 [ACK] Seq=1132947682 Ack=1202969688 Win=2661 Len = 0
TSval=3506781692 TSecr=1717385629

2: 2049 → 703 [RST, ACK] Seq=1202969688 Ack=1132949130 Win=69120 Len=0
TSval=1717385630 TSecr=3506781692

3: 2049 → 703 [ACK] Seq=1202969688 Ack=1132947682 Win=70400 Len=0
TSval=1717385630 TSecr=3506781692

4: 703 → 2049 [SYN] Seq=1433611541 Win=29200 Len=0 MSS=1460 SACK_PERM=1
TSval=3506781693 TSecr=0

5: [PSH, ACK] Seq=1132949130 Ack=1202969688 Win=1362432 Len=604
TSval=3506781693 TSecr=1717385629

6: 2049 → 703 [RST, ACK] Seq=0 Ack=1433611542 Win=0 Len=0


Regards,

-- 
Ali Abdallah | SUSE Linux L3 Engineer
GPG fingerprint: 51A0 F4A0 C8CF C98F 842E  A9A8 B945 56F8 1C85 D0D5




[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux