ICMP(7) ICMP(7)
NAME
ICMP - Internet Control Message Protocol
SYNOPSIS
icmp
DESCRIPTION
ICMP is the error and control message protocol used by the
Internet protocol family. It is used by the kernel to handle
and report errors in protocol processing. It may also be
accessed by programs using the socket interface or the
Transport Level Interface (TLI) for network monitoring and
diagnostic functions. When used with the socket interface, a
``raw socket'' type is used. The protocol number for ICMP,
used in the proto parameter to the socket call, can be
obtained from getprotobyname [see getprotoent(3N)]. ICMP file
descriptors and sockets are connectionless, and are normally
used with the t_sndudata / t_rcvudata and the sendto /
recvfrom calls [see send(3N) and recv(3N)].
Outgoing packets automatically have an Internet Protocol (IP)
header prepended to them. Incoming packets are provided to
the user with the IP header and options intact.
ICMP is a datagram protocol layered above IP. It is used
internally by the protocol code for various purposes including
routing, fault isolation, and congestion control. Receipt of
an ICMP ``redirect'' message will add a new entry in the
routing table, or modify an existing one. ICMP messages are
routinely sent by the protocol code. Received ICMP messages
may be reflected back to users of higher-level protocols such
as TCP or UDP as error returns from system calls. A copy of
all ICMP messages received by the system is provided to every
holder of an open ICMP socket or TLI descriptor.
REFERENCES
getprotoent(3N), inet(7), IP(7), recv(3N), routing(4),
send(3N), t_rcvudata(3N), t_sndudata(3N)
RFC 792
NOTICES
Replies to ICMP ``echo'' messages which are source routed are
not sent back using inverted source routes, but rather go back
through the normal routing mechanisms.
Copyright 1994 Novell, Inc. Page 1