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);