Author: cgutman Date: Fri Jan 16 17:30:40 2009 New Revision: 38800
URL: http://svn.reactos.org/svn/reactos?rev=38800&view=rev Log: - Merge aicom-network-fixes up to r38799 - This should finally fix the "UNTRACK: SPECIFIED ALREADY FREE ITEM 0" bug
Modified: trunk/reactos/lib/drivers/ip/network/ip.c trunk/reactos/lib/drivers/ip/network/loopback.c
Modified: trunk/reactos/lib/drivers/ip/network/ip.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/ip.c... ============================================================================== --- trunk/reactos/lib/drivers/ip/network/ip.c [iso-8859-1] (original) +++ trunk/reactos/lib/drivers/ip/network/ip.c [iso-8859-1] Fri Jan 16 17:30:40 2009 @@ -293,8 +293,6 @@
IF->Index = ChosenIndex;
- IPAddInterfaceRoute( IF ); - /* Add interface to the global interface list */ TcpipInterlockedInsertTailList(&InterfaceListHead, &IF->ListEntry, @@ -345,6 +343,21 @@ }
+VOID DefaultProtocolHandler( + PIP_INTERFACE Interface, + PIP_PACKET IPPacket) +/* + * FUNCTION: Default handler for Internet protocols + * ARGUMENTS: + * NTE = Pointer to net table entry which the packet was received on + * IPPacket = Pointer to an IP packet that was received + */ +{ + TI_DbgPrint(MID_TRACE, ("[IF %x] Packet of unknown Internet protocol " + "discarded.\n", Interface)); +} + + VOID IPRegisterProtocol( UINT ProtocolNumber, IP_PROTOCOL_HANDLER Handler) @@ -362,22 +375,7 @@ return; }
- ProtocolTable[ProtocolNumber] = Handler; -} - - -VOID DefaultProtocolHandler( - PIP_INTERFACE Interface, - PIP_PACKET IPPacket) -/* - * FUNCTION: Default handler for Internet protocols - * ARGUMENTS: - * NTE = Pointer to net table entry which the packet was received on - * IPPacket = Pointer to an IP packet that was received - */ -{ - TI_DbgPrint(MID_TRACE, ("[IF %x] Packet of unknown Internet protocol " - "discarded.\n", Interface)); + ProtocolTable[ProtocolNumber] = Handler ? Handler : DefaultProtocolHandler; }
Modified: trunk/reactos/lib/drivers/ip/network/loopback.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/loop... ============================================================================== --- trunk/reactos/lib/drivers/ip/network/loopback.c [iso-8859-1] (original) +++ trunk/reactos/lib/drivers/ip/network/loopback.c [iso-8859-1] Fri Jan 16 17:30:40 2009 @@ -199,6 +199,7 @@ AddrInitIPv4(&Loopback->Broadcast, LOOPBACK_BCASTADDR_IPv4);
IPRegisterInterface(Loopback); + IPAddInterfaceRoute(Loopback);
TI_DbgPrint(MAX_TRACE, ("Leaving.\n"));