The implementation for Ping shell command.\r
\r
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
- Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>\r
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
\r
This program and the accompanying materials\r
Status = Private->ProtocolPointers.Receive (Private->IpProtocol, &Private->RxToken);\r
\r
if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_PING_RECEIVE), gShellNetwork1HiiHandle, Status);\r
Private->Status = EFI_ABORTED;\r
}\r
} else {\r
\r
Private->RxToken.Status = EFI_NOT_READY;\r
\r
- return (Private->ProtocolPointers.Receive (Private->IpProtocol, &Private->RxToken));\r
+ Status = Private->ProtocolPointers.Receive (Private->IpProtocol, &Private->RxToken);\r
+ if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_PING_RECEIVE), gShellNetwork1HiiHandle, Status);\r
+ }\r
+ return Status;\r
}\r
\r
/**\r
UINTN HandleNum;\r
EFI_HANDLE *HandleBuffer;\r
BOOLEAN UnspecifiedSrc;\r
- BOOLEAN MediaPresent;\r
+ EFI_STATUS MediaStatus;\r
EFI_SERVICE_BINDING_PROTOCOL *EfiSb;\r
VOID *IpXCfg;\r
EFI_IP6_CONFIG_DATA Ip6Config;\r
\r
HandleBuffer = NULL;\r
UnspecifiedSrc = FALSE;\r
- MediaPresent = TRUE;\r
+ MediaStatus = EFI_SUCCESS;\r
EfiSb = NULL;\r
IpXInterfaceInfo = NULL;\r
IfInfoSize = 0;\r
//\r
// Check media.\r
//\r
- NetLibDetectMedia (HandleBuffer[HandleIndex], &MediaPresent);\r
- if (!MediaPresent) {\r
+ NetLibDetectMediaWaitTimeout (HandleBuffer[HandleIndex], 0, &MediaStatus);\r
+ if (MediaStatus != EFI_SUCCESS) {\r
//\r
// Skip this one.\r
//\r
}\r
\r
//\r
- // Parse the paramter of count number.\r
+ // Parse the parameter of count number.\r
//\r
ValueStr = ShellCommandLineGetValue (ParamPackage, L"-n");\r
if (ValueStr != NULL) {\r
SendNumber = DEFAULT_SEND_COUNT;\r
}\r
//\r
- // Parse the paramter of buffer size.\r
+ // Parse the parameter of buffer size.\r
//\r
ValueStr = ShellCommandLineGetValue (ParamPackage, L"-l");\r
if (ValueStr != NULL) {\r
ZeroMem (&DstAddress, sizeof (EFI_IPv6_ADDRESS));\r
\r
//\r
- // Parse the paramter of source ip address.\r
+ // Parse the parameter of source ip address.\r
//\r
ValueStr = ShellCommandLineGetValue (ParamPackage, L"-s");\r
if (ValueStr == NULL) {\r
}\r
}\r
//\r
- // Parse the paramter of destination ip address.\r
+ // Parse the parameter of destination ip address.\r
//\r
NonOptionCount = ShellCommandLineGetCount(ParamPackage);\r
if (NonOptionCount < 2) {\r