Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ICMP(4)			 BSD Kernel Interfaces Manual		       ICMP(4)

     icmp -- Internet Control Message Protocol

     #include <sys/types.h>
     #include <sys/socket.h>
     #include <netinet/in.h>

     socket(AF_INET, SOCK_RAW, proto);

     ICMP is the error and control message protocol used by IP and the Inter-
     net protocol family.  It may be accessed through a	"raw socket" for net-
     work monitoring and diagnostic functions.	The proto parameter to the
     socket call to create an ICMP socket is obtained from getprotobyname(3).
     ICMP sockets are connectionless, and are normally used with the sendto(2)
     and recvfrom(2) calls, though the connect(2) call may also	be used	to fix
     the destination for future	packets	(in which case the read(2) or recv(2)
     and write(2) or send(2) system calls may be used).

     Outgoing packets automatically have an IP header prepended	to them	(based
     on	the destination	address).  Incoming packets are	received with the IP
     header and	options	intact.

   MIB Variables
     The ICMP protocol implements a number of variables	in the net.inet.icmp
     branch of the sysctl(3) MIB.

     maskrepl	     (boolean) Enable/disable replies to ICMP Address Mask Re-
		     quest packets.  Defaults to false.

     maskfake	     (unsigned integer)	When maskrepl is set and this value is
		     non-zero, it will be used instead of the real address
		     mask when the system replies to an	ICMP Address Mask Re-
		     quest packet.  Defaults to	0.

     icmplim	     (integer) Bandwidth limit for ICMP	replies	in pack-
		     ets/second.  Used when icmplim_output is non-zero.	 De-
		     faults to 200.

     icmplim_output  (boolean) Enable/disable bandwidth	limiting of ICMP
		     replies.  Defaults	to true.

     drop_redirect   (boolean) Enable/disable dropping of ICMP Redirect	pack-
		     ets.  Defaults to false.

     log_redirect    (boolean) Enable/disable logging of ICMP Redirect pack-
		     ets.  Defaults to false.

     bmcastecho	     (boolean) Enable/disable ICMP replies received via	broad-
		     cast or multicast.	 Defaults to false.

     A socket operation	may fail with one of the following errors returned:

     [EISCONN]		when trying to establish a connection on a socket
			which already has one, or when trying to send a	data-
			gram with the destination address specified and	the
			socket is already connected;

     [ENOTCONN]		when trying to send a datagram,	but no destination ad-
			dress is specified, and	the socket hasn't been con-

     [ENOBUFS]		when the system	runs out of memory for an internal
			data structure;

     [EADDRNOTAVAIL]	when an	attempt	is made	to create a socket with	a net-
			work address for which no network interface exists.

     recv(2), send(2), inet(4),	intro(4), ip(4)

     The icmp protocol appeared	in 4.3BSD.

BSD				March 21, 2003				   BSD


Want to link to this manual page? Use this URL:

home | help