On Thu, 9 Apr 2015, Laszlo Ersek wrote:
> On 04/09/15 14:39, BALATON Zoltan wrote:
>> with http transfer commencing normally after this, while with OVMF and
>> syslinux.efi I get the following:
>>
>> TCP 1654 > http [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=64 TSval=1039 TSecr=0
>> TCP http > 1654 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=64
>> TSval=1151334911 TSecr=1039
>> TCP 1654 > http [ACK] Seq=1 Ack=1 Win=2097152 Len=0 TSval=1039 TSecr=0
>> TCP http > 1654 [RST] Seq=1 Win=0 Len=0
>
> After reading up on TSEcr a little bit in
> <http://tools.ietf.org/html/rfc1323>, I think TSecr=0 is wrong in the
> third packet (ie. the ACK that is sent by
> MdeModulePkg/Universal/Network/Tcp4Dxe).
>
> I think it should be TSecr=1151334911. Since it is not, I believe the
> server (FreeBSD) rightfully rejects the packet, and resets the connection.

Thanks a lot for your analysis and constant help, it is really very 
helpful. I was trying to find out what sets this option field and I think 
it should be set by TcpBuildOption function in Tcp4Option.c. There's 
another version used for Syn packets and this one used when sending other 
packets including the ACK in question. It has code to set the field to 
Tcb->TsRecent which is where the last TSVal from the peer appears to be 
stored but this part is conditional and may not be executed here. I'll do 
some more experiments to find out, but if this makes anyone remember 
anything please chime in.

Thank you,
BALATON Zoltan

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to