/* This function delete all dynamic entries from the ARP cache that match the specified software protocol type. */
EFI_STATUS EFIAPI ArpFlush(IN EFI_ARP_PROTOCOL *This)
/* This function delete all dynamic entries from the ARP cache that match the specified software protocol type. */
EFI_STATUS EFIAPI ArpFlush(IN EFI_ARP_PROTOCOL *This)
{
  ARP_INSTANCE_DATA  *Instance;
  UINTN              Count;
  EFI_TPL            OldTpl;
  if (This == NULL) {
    return EFI_INVALID_PARAMETER;
  }
  Instance = ARP_INSTANCE_DATA_FROM_THIS (This);
  if (!Instance->Configured) {
    return EFI_NOT_STARTED;
  }
  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
  Count = ArpDeleteCacheEntry (Instance, FALSE, NULL, FALSE);
  gBS->RestoreTPL (OldTpl);
  return (Count == 0) ? EFI_NOT_FOUND : EFI_SUCCESS;
}