Minor fix to ICMP receive.
Modified: trunk/reactos/drivers/lib/ip/network/ip.c
_____
Modified: trunk/reactos/drivers/lib/ip/network/ip.c
--- trunk/reactos/drivers/lib/ip/network/ip.c 2005-01-24 14:17:30 UTC
(rev 13248)
+++ trunk/reactos/drivers/lib/ip/network/ip.c 2005-01-24 16:58:53 UTC
(rev 13249)
@@ -152,6 +152,10 @@
/* Call the appropriate protocol handler */
(*ProtocolTable[Protocol])(Interface, IPPacket);
+ /* Special case for ICMP -- ICMP can be caught by a SOCK_RAW but
also
+ * must be handled here. */
+ if( Protocol == IPPROTO_ICMP )
+ ICMPReceive( Interface, IPPacket );
}
@@ -401,9 +405,6 @@
for (i = 0; i < IP_PROTOCOL_TABLE_SIZE; i++)
IPRegisterProtocol(i, DefaultProtocolHandler);
- /* Register network level protocol receive handlers */
- IPRegisterProtocol(IPPROTO_ICMP, ICMPReceive);
-
/* Initialize NTE list and protecting lock */
InitializeListHead(&NetTableListHead);
TcpipInitializeSpinLock(&NetTableListLock);