Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / drivers / network / tcpip / include / neighbor.h
index d35f641..ea1586d 100644 (file)
@@ -42,14 +42,17 @@ typedef struct NEIGHBOR_CACHE_ENTRY {
 #define NUD_PERMANENT  0x02
 #define NUD_STALE      0x04
 
+/* Timeout for incomplete NCE ARP requests */
+#define ARP_INCOMPLETE_TIMEOUT 3
+
 /* Number of seconds between ARP transmissions */
 #define ARP_RATE 900
 
 /* Number of seconds before the NCE times out */
-#define ARP_TIMEOUT ARP_RATE + 15
+#define ARP_COMPLETE_TIMEOUT (ARP_RATE + 9)
 
 /* Number of seconds before retransmission */
-#define ARP_TIMEOUT_RETRANSMISSION 5
+#define ARP_TIMEOUT_RETRANSMISSION 3
 
 extern NEIGHBOR_CACHE_TABLE NeighborCache[NB_HASHMASK + 1];
 
@@ -80,11 +83,13 @@ VOID NBUpdateNeighbor(
     UCHAR State);
 
 PNEIGHBOR_CACHE_ENTRY NBLocateNeighbor(
-    PIP_ADDRESS Address);
+    PIP_ADDRESS Address,
+    PIP_INTERFACE Interface);
 
 PNEIGHBOR_CACHE_ENTRY NBFindOrCreateNeighbor(
     PIP_INTERFACE Interface,
-    PIP_ADDRESS Address);
+    PIP_ADDRESS Address,
+    BOOLEAN NoTimeout);
 
 BOOLEAN NBQueuePacket(
     PNEIGHBOR_CACHE_ENTRY NCE,
@@ -102,4 +107,6 @@ ULONG NBCopyNeighbors(
 VOID NBResetNeighborTimeout(
     PIP_ADDRESS Address);
 
+VOID NBDestroyNeighborsForInterface(PIP_INTERFACE Interface);
+
 /* EOF */