[edk2] [Patch] ShellPkg: Fix issue about ping fail with IPv4

2015-08-05 Thread Jiaxin Wu
Fix issue about ping fail with IPv4, which is caused by the incorrect
checksum in request message.

Cc: Fu Siyuan 
Cc: Ye Ting 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index 643be23..cc3c0c3 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -596,19 +596,19 @@ PingGenerateToken (
   //
   // Assembly echo request packet.
   //
   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;
 
   //
   // 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;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->DataLength  = 
Private->BufferSize;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->FragmentCount   = 1;
@@ -626,10 +626,11 @@ PingGenerateToken (
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[1]  = 
Private->DstAddress[1];
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[2]  = 
Private->DstAddress[2];
 ((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));
   }
 
 
-- 
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch] ShellPkg: Fix issue about ping fail with IPv4

2015-08-05 Thread Fu, Siyuan
Reviewed-by: Fu Siyuan 



-Original Message-
From: Wu, Jiaxin 
Sent: Thursday, August 06, 2015 12:08 PM
To: edk2-devel@lists.01.org
Cc: Fu, Siyuan; Ye, Ting
Subject: [Patch] 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 
Cc: Ye Ting 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index 643be23..cc3c0c3 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -596,19 +596,19 @@ PingGenerateToken (
   //
   // Assembly echo request packet.
   //
   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;
 
   //
   // 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;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->DataLength  = 
Private->BufferSize;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->FragmentCount   = 1;
@@ -626,10 +626,11 @@ PingGenerateToken (
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[1]  = 
Private->DstAddress[1];
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[2]  = 
Private->DstAddress[2];
 ((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));
   }
 
 
--
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch] ShellPkg: Fix issue about ping fail with IPv4

2015-08-05 Thread Ye, Ting
Reviewed-by: Ye Ting  

-Original Message-
From: Fu, Siyuan 
Sent: Thursday, August 06, 2015 12:53 PM
To: Wu, Jiaxin; edk2-devel@lists.01.org
Cc: Ye, Ting
Subject: RE: [Patch] ShellPkg: Fix issue about ping fail with IPv4

Reviewed-by: Fu Siyuan 



-Original Message-
From: Wu, Jiaxin 
Sent: Thursday, August 06, 2015 12:08 PM
To: edk2-devel@lists.01.org
Cc: Fu, Siyuan; Ye, Ting
Subject: [Patch] 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 
Cc: Ye Ting 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index 643be23..cc3c0c3 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -596,19 +596,19 @@ PingGenerateToken (
   //
   // Assembly echo request packet.
   //
   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;
 
   //
   // 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;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->DataLength  = 
Private->BufferSize;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->FragmentCount   = 1;
@@ -626,10 +626,11 @@ PingGenerateToken (
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[1]  = 
Private->DstAddress[1];
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[2]  = 
Private->DstAddress[2];
 ((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));
   }
 
 
--
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch] ShellPkg: Fix issue about ping fail with IPv4

2015-08-05 Thread Qiu, Shumin
Reviewed-by: Qiu Shumin 

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jiaxin Wu
Sent: Thursday, August 06, 2015 12:08 PM
To: edk2-devel@lists.01.org
Cc: Ye, Ting; Fu, Siyuan
Subject: [edk2] [Patch] 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 
Cc: Ye Ting 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index 643be23..cc3c0c3 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -596,19 +596,19 @@ PingGenerateToken (
   //
   // Assembly echo request packet.
   //
   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;
 
   //
   // 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;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->DataLength  = 
Private->BufferSize;
 ((EFI_IP6_TRANSMIT_DATA*)TxData)->FragmentCount   = 1;
@@ -626,10 +626,11 @@ PingGenerateToken (
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[1]  = 
Private->DstAddress[1];
 ((EFI_IP4_TRANSMIT_DATA*)TxData)->DestinationAddress.Addr[2]  = 
Private->DstAddress[2];
 ((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));
   }
 
 
--
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel