/* Src and Dst are in network byte order, and Len is in host byte order. */
UINT16 EFIAPI NetIp6PseudoHeadChecksum(IN EFI_IPv6_ADDRESS *Src, IN EFI_IPv6_ADDRESS *Dst, IN UINT8 NextHeader, IN UINT32 Len)
/* Src and Dst are in network byte order, and Len is in host byte order. */
UINT16 EFIAPI NetIp6PseudoHeadChecksum(IN EFI_IPv6_ADDRESS *Src, IN EFI_IPv6_ADDRESS *Dst, IN UINT8 NextHeader, IN UINT32 Len)
{
  NET_IP6_PSEUDO_HDR  Hdr;
  ZeroMem (&Hdr, sizeof (Hdr));
  IP6_COPY_ADDRESS (&Hdr.SrcIp, Src);
  IP6_COPY_ADDRESS (&Hdr.DstIp, Dst);
  Hdr.NextHeader = NextHeader;
  Hdr.Len        = HTONL (Len);
  return NetblockChecksum ((UINT8 *)&Hdr, sizeof (Hdr));
}