Author: cgutman
Date: Fri Aug 7 04:39:38 2009
New Revision: 42453
URL:
http://svn.reactos.org/svn/reactos?rev=42453&view=rev
Log:
- Fix a bug resulting in ROS discarding all gratuitous ARP packets
- Remove an unnecessary check
Modified:
trunk/reactos/lib/drivers/ip/network/arp.c
Modified: trunk/reactos/lib/drivers/ip/network/arp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/arp…
==============================================================================
--- trunk/reactos/lib/drivers/ip/network/arp.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/ip/network/arp.c [iso-8859-1] Fri Aug 7 04:39:38 2009
@@ -179,7 +179,6 @@
IP_ADDRESS Address;
PVOID SenderHWAddress;
PVOID SenderProtoAddress;
- PVOID TargetProtoAddress;
PNEIGHBOR_CACHE_ENTRY NCE;
PNDIS_PACKET NdisPacket;
PIP_INTERFACE Interface = (PIP_INTERFACE)Context;
@@ -202,17 +201,6 @@
SenderHWAddress = (PVOID)((ULONG_PTR)Header + sizeof(ARP_HEADER));
SenderProtoAddress = (PVOID)((ULONG_PTR)SenderHWAddress + Header->HWAddrLen);
-
- /* Check if we have the target protocol address */
-
- TargetProtoAddress = (PVOID)((ULONG_PTR)SenderProtoAddress +
- Header->ProtoAddrLen + Header->HWAddrLen);
-
- if( !AddrLocateADEv4( *((PIPv4_RAW_ADDRESS)TargetProtoAddress),
- &Address) ) {
- TI_DbgPrint(DEBUG_ARP, ("Target address (0x%X) is not mine.\n",
*((PULONG)TargetProtoAddress)));
- return;
- }
/* Check if we know the sender */
@@ -230,7 +218,7 @@
Header->HWAddrLen, NUD_REACHABLE);
}
- if (Header->Opcode != ARP_OPCODE_REQUEST || !NCE)
+ if (Header->Opcode != ARP_OPCODE_REQUEST)
return;
/* This is a request for our address. Swap the addresses and