/* Cache the DHCPv6 ack packet, and parse it on demand. */
EFI_STATUS PxeBcCopyDhcp6Ack(IN PXEBC_PRIVATE_DATA *Private, IN EFI_DHCP6_PACKET *Ack, IN BOOLEAN Verified)
/* Cache the DHCPv6 ack packet, and parse it on demand. */
EFI_STATUS PxeBcCopyDhcp6Ack(IN PXEBC_PRIVATE_DATA *Private, IN EFI_DHCP6_PACKET *Ack, IN BOOLEAN Verified)
{
  EFI_PXE_BASE_CODE_MODE  *Mode;
  EFI_STATUS              Status;
  Mode = Private->PxeBc.Mode;
  Status = PxeBcCacheDhcp6Packet (&Private->DhcpAck.Dhcp6.Packet.Ack, Ack);
  if (EFI_ERROR (Status)) {
    return Status;
  }
  if (Verified) {
    PxeBcParseDhcp6Packet (&Private->DhcpAck.Dhcp6);
    CopyMem (&Mode->DhcpAck.Dhcpv6, &Ack->Dhcp6, Ack->Length);
    Mode->DhcpAckReceived = TRUE;
  }
  return EFI_SUCCESS;
}