From: jw schultz (
Date: Wed Jul 23 2003 - 14:11:45 EST

On Wed, Jul 23, 2003 at 02:26:41PM -0400, Richard B. Johnson wrote:
> On Wed, 23 Jul 2003, jw schultz wrote:
> > On Wed, Jul 23, 2003 at 12:53:35PM +0530, Hemanshu Kanji Bhadra, Noida wrote:
> > > Hi, All
> > >
> > > i am developing a ping program, through my program I get ECHO_REPLY..but I
> > > dont get ECHO_REQUEST.
> > >
> > > is that the ECHO_REQUEST is handled by kernel.?
> > >
> > > please respond as it is urgent.
> >
> > In most cases ICMP ECHO_REQUEST is handled by the NIC. The
> > kernel doesn't even see it. That is why you can ping a
> > crashed system; the NIC is still configured.
> >
> No. It may be handled entirely in an interrupt service routine, but
> never by the hardware alone, even the "smart" hardware that does
> IP checksumming. There isn't enough information available. The
> echo request contains the IP that the caller seeks to respond.
> The responder needs to know, not only its IP address, but also the
> IP address of all the IPs it's going to ARP (proxy ARP).

Thanks for the correction although i wouldn't say "never".

I did have experience with some minis where the NIC did
handle ICMP internally for anything on the local subnet for
which it already had an arp entry. But these NICs had
68000s as embedded processors, did bi-directional DMA and
offloaded part of the network stack. The NIC would continue
to respond even while a new kernel was being booted,
glitching only when the NIC was reset. Back when CPU clocks
were 16MHz this kind of offloading made sense. My
experience seems to have clouded current expectations.

	J.W. Schultz            Pegasystems Technologies
	email address:

Remember Cernan and Schmitt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:50 EST