/** @file\r
Dhcp6 internal functions implementation.\r
\r
- Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>\r
+ Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
)\r
{\r
EFI_STATUS Status;\r
- EFI_DHCP6_STATE State;\r
UINT8 *Option;\r
UINT8 *IaInnerOpt;\r
UINT16 IaInnerLen;\r
//\r
// See details in the section-18.1.8 of rfc-3315.\r
//\r
- State = Dhcp6Init;\r
Option = Dhcp6SeekIaOption (\r
Packet->Dhcp6.Option,\r
Packet->Length - sizeof (EFI_DHCP6_HEADER),\r
{\r
EFI_STATUS Status;\r
UINT8 *Option;\r
- UINT16 StsCode;\r
BOOLEAN Timeout;\r
\r
ASSERT(Instance->Config);\r
ASSERT(Instance->IaCb.Ia);\r
\r
Timeout = FALSE;\r
- StsCode = Dhcp6StsSuccess;\r
\r
//\r
// If the client does receives a valid reply message that includes a rapid\r
LIST_ENTRY *Next1;\r
LIST_ENTRY *Entry2;\r
LIST_ENTRY *Next2;\r
+ EFI_STATUS Status;\r
\r
ASSERT (Udp6Wrap != NULL);\r
ASSERT (Context != NULL);\r
\r
ON_CONTINUE:\r
\r
+ if (!IsDispatched) {\r
+ Status = UdpIoRecvDatagram (\r
+ Service->UdpIo,\r
+ Dhcp6ReceivePacket,\r
+ Service,\r
+ 0\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ Dhcp6CleanupRetry (Instance, DHCP6_PACKET_ALL);\r
+ }\r
+ }\r
+\r
NetbufFree (Udp6Wrap);\r
\r
if (Packet != NULL) {\r