/* Validate that Ipv6 address is OK to be used as station address or next hop address/ neighbor. */
BOOLEAN Ip6IsValidAddress(IN IP6_SERVICE *IpSb, IN EFI_IPv6_ADDRESS *Ip, IN BOOLEAN Flag)
/* Validate that Ipv6 address is OK to be used as station address or next hop address/ neighbor. */
BOOLEAN Ip6IsValidAddress(IN IP6_SERVICE *IpSb, IN EFI_IPv6_ADDRESS *Ip, IN BOOLEAN Flag)
{
  if (!NetIp6IsUnspecifiedAddr (Ip)) {
    if (!NetIp6IsValidUnicast (Ip)) {
      return FALSE;
    }
    if (Ip6IsOneOfSetAddress (IpSb, Ip, NULL, NULL)) {
      return Flag;
    }
  } else {
    return Flag;
  }
  return (BOOLEAN) !Flag;
}