if (NCE->EventTimer - NCE->EventCount == 0) {
/* Unlink and destroy the NCE */
*PrevNCE = NCE->Next;
-
+
/* Choose the proper failure status */
if (NCE->State & NUD_INCOMPLETE)
{
/* This guy was stale for way too long */
Status = NDIS_STATUS_REQUEST_ABORTED;
}
-
+
NBFlushPacketQueue(NCE, Status);
ExFreePoolWithTag(NCE, NCE_TAG);
for (i = 0; i <= NB_HASHMASK; i++)
{
TcpipAcquireSpinLockAtDpcLevel(&NeighborCache[i].Lock);
-
+
for (PrevNCE = &NeighborCache[i].Cache;
(NCE = *PrevNCE) != NULL;)
{
PrevNCE = &NCE->Next;
}
}
-
+
TcpipReleaseSpinLockFromDpcLevel(&NeighborCache[i].Lock);
}
KeLowerIrql(OldIrql);
{
break;
}
-
+
NCE = NCE->Next;
}
-
+
if (NCE != NULL)
break;
}
ArpTable[Size].Index = Interface->Index;
ArpTable[Size].AddrSize = CurNCE->LinkAddressLength;
RtlCopyMemory
- (ArpTable[Size].PhysAddr,
+ (ArpTable[Size].PhysAddr,
CurNCE->LinkAddress,
CurNCE->LinkAddressLength);
ArpTable[Size].LogAddr = CurNCE->Address.Address.IPv4Address;
}
TcpipReleaseSpinLock(&NeighborCache[i].Lock, OldIrql);
}
-
+
return Size;
}