diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c index 643be2304f..cc3c0c3db5 100644 --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c @@ -598,8 +598,7 @@ PingGenerateToken ( // Request->Type = (UINT8)(Private->IpChoice==PING_IP_CHOICE_IP6?ICMP_V6_ECHO_REQUEST:ICMP_V4_ECHO_REQUEST); Request->Code = 0; - Request->SequenceNum = SequenceNum; - Request->TimeStamp = TimeStamp; + Request->SequenceNum = SequenceNum; Request->Identifier = 0; Request->Checksum = 0; @@ -607,6 +606,7 @@ PingGenerateToken ( // Assembly token for transmit. // if (Private->IpChoice==PING_IP_CHOICE_IP6) { + Request->TimeStamp = TimeStamp; ((EFI_IP6_TRANSMIT_DATA*)TxData)->ExtHdrsLength = 0; ((EFI_IP6_TRANSMIT_DATA*)TxData)->ExtHdrs = NULL; ((EFI_IP6_TRANSMIT_DATA*)TxData)->OverrideData = 0; @@ -628,6 +628,7 @@ PingGenerateToken ( ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[3] = Private->DstAddress[3]; HeadSum = NetChecksum ((UINT8 *) Request, Private->BufferSize); + Request->TimeStamp = TimeStamp; TempChecksum = NetChecksum ((UINT8 *) &Request->TimeStamp, sizeof (UINT64)); Request->Checksum = (UINT16)(~NetAddChecksum (HeadSum, TempChecksum)); }