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