successfully.\r
@retval EFI_ACCESS_DENIED The IP_IO instance is configured; avoid \r
reopening it.\r
+ @retval EFI_UNSUPPORTED IPv4 RawData mode is no supported.\r
@retval Others An error condition occurred.\r
\r
**/\r
@retval EFI_INVALID_PARAMETER The input parameter is not correct.\r
@retval EFI_NOT_STARTED The IpIo is not configured.\r
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.\r
+ @retval Others Error condition occurred.\r
\r
**/\r
EFI_STATUS\r
@param[out] IsHard If TRUE, indicates that it is a hard error.\r
@param[out] Notify If TRUE, SockError needs to be notified.\r
\r
+ @retval EFI_UNSUPPORTED Unrecognizable ICMP error code\r
@return The ICMP Error Status, such as EFI_NETWORK_UNREACHABLE.\r
\r
**/\r
@retval EFI_INVALID_PARAMETER The Neighbor Address is invalid.\r
@retval EFI_NOT_FOUND The neighbor cache entry is not in the \r
neighbor table. \r
+ @retval EFI_UNSUPPORTED IP version is IPv4, which doesn't support neighbor cache refresh.\r
@retval EFI_OUT_OF_RESOURCES Failed due to resource limitations.\r
\r
**/\r
\r
@retval EFI_SUCCESS The IP child is created and the IP protocol\r
interface is retrieved.\r
+ @retval EFI_UNSUPPORTED Upsupported IpVersion.\r
@retval Others The required operation failed.\r
\r
**/\r
\r
@retval EFI_SUCCESS The IP protocol is closed and the relevant IP child\r
is destroyed.\r
+ @retval EFI_UNSUPPORTED Upsupported IpVersion.\r
@retval Others The required operation failed.\r
\r
**/\r
successfully.\r
@retval EFI_ACCESS_DENIED The IP_IO instance is configured, avoid to \r
reopen it.\r
+ @retval EFI_UNSUPPORTED IPv4 RawData mode is no supported.\r
@retval Others Error condition occurred.\r
\r
**/\r
IN OUT IP_IO *IpIo\r
)\r
{\r
+ EFI_STATUS Status;\r
+ \r
//\r
// Stop the IpIo.\r
//\r
- IpIoStop (IpIo);\r
+ Status = IpIoStop (IpIo);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
\r
//\r
// Close the IP protocol and destroy the child.\r
//\r
- IpIoCloseProtocolDestroyIpChild (\r
- IpIo->Controller,\r
- IpIo->Image,\r
- IpIo->ChildHandle,\r
- IpIo->IpVersion\r
- );\r
+ Status = IpIoCloseProtocolDestroyIpChild (\r
+ IpIo->Controller,\r
+ IpIo->Image,\r
+ IpIo->ChildHandle,\r
+ IpIo->IpVersion\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
\r
gBS->FreePool (IpIo);\r
\r
@retval EFI_INVALID_PARAMETER The input parameter is not correct.\r
@retval EFI_NOT_STARTED The IpIo is not configured.\r
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.\r
+ @retval Others Error condition occurred.\r
\r
**/\r
EFI_STATUS\r
@param[out] IsHard If TRUE, indicates that it is a hard error.\r
@param[out] Notify If TRUE, SockError needs to be notified.\r
\r
+ @retval EFI_UNSUPPORTED Unrecognizable ICMP error code.\r
@return ICMP Error Status, such as EFI_NETWORK_UNREACHABLE.\r
\r
**/\r
@retval EFI_INVALID_PARAMETER Neighbor Address is invalid.\r
@retval EFI_NOT_FOUND The neighbor cache entry is not in the \r
neighbor table. \r
+ @retval EFI_UNSUPPORTED IP version is IPv4, which doesn't support neighbor cache refresh.\r
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.\r
\r
**/\r
{\r
EFI_IP6_PROTOCOL *Ip;\r
\r
- if (!IpIo->IsConfigured || IpIo->IpVersion != IP_VERSION_6) {\r
+ if (!IpIo->IsConfigured) {\r
return EFI_NOT_STARTED;\r
}\r
\r
+ if (IpIo->IpVersion != IP_VERSION_6) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+\r
Ip = IpIo->Ip.Ip6;\r
\r
return Ip->Neighbors (Ip, FALSE, &Neighbor->v6, NULL, Timeout, TRUE);\r