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