Revision: 18167
http://sourceforge.net/p/edk2/code/18167
Author: jiaxinwu
Date: 2015-08-06 05:45:32 +0000 (Thu, 06 Aug 2015)
Log Message:
-----------
ShellPkg: Fix issue about ping fail with IPv4
Fix issue about ping fail with IPv4, which is caused by the incorrect
checksum in request message.
Cc: Fu Siyuan <[email protected]>
Cc: Ye Ting <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <[email protected]>
Reviewed-by: Fu Siyuan <[email protected]>
Reviewed-by: Ye Ting <[email protected]>
Reviewed-by: Qiu Shumin <[email protected]>
Modified Paths:
--------------
trunk/edk2/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
Modified: trunk/edk2/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
===================================================================
--- trunk/edk2/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
2015-08-05 12:45:21 UTC (rev 18166)
+++ trunk/edk2/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
2015-08-06 05:45:32 UTC (rev 18167)
@@ -598,8 +598,7 @@
//
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 @@
// 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 @@
((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));
}
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits