NetworkPkg: Addressing TCP Window Retraction when window scale factor is used.

The RFC1323 which defines the TCP window scale option has been obsoleted by RFC7323.
This patch is to follow the RFC7323 to address the TCP window retraction problem
when a non-zero scale factor is used.
The changes has been test in high packet loss rate network by using HTTP boot and
iSCSI file read/write.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
(cherry picked from commit 3696ceaecb)
This commit is contained in:
Fu Siyuan
2017-05-03 14:30:36 +08:00
parent 66dcf570a6
commit a28adad906
3 changed files with 37 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
/** @file
TCP protocol header file.
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -315,6 +315,12 @@ struct _TCP_CONTROL_BLOCK {
UINT8 LossTimes; ///< Number of retxmit timeouts in a row.
TCP_SEQNO LossRecover; ///< Recover point for retxmit.
//
// RFC7323
// Addressing Window Retraction for TCP Window Scale Option.
//
TCP_SEQNO RetxmitSeqMax; ///< Max Seq number in previous retransmission.
//
// configuration parameters, for EFI_TCP4_PROTOCOL specification
//