]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man7/icmp.7
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex...
[thirdparty/man-pages.git] / man7 / icmp.7
CommitLineData
fea681da
MK
1.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
2.\" Permission is granted to distribute possibly modified copies
3.\" of this page provided the header is included verbatim,
4.\" and in case of nontrivial modification author and date
5.\" of the modification is added to the header.
6.\" $Id: icmp.7,v 1.6 2000/08/14 08:03:45 ak Exp $
eae2dfce 7.TH ICMP 7 2012-05-10 "Linux" "Linux Programmer's Manual"
fea681da 8.SH NAME
61310e03 9icmp \- Linux IPv4 ICMP kernel module.
fea681da 10.SH DESCRIPTION
c13182ef
MK
11This kernel protocol module implements the Internet Control
12Message Protocol defined in RFC\ 792.
56185b42 13It is used to signal error conditions and for diagnosis.
c13182ef
MK
14The user doesn't interact directly with this module;
15instead it communicates with the other protocols in the kernel
16and these pass the ICMP errors to the application layers.
56185b42 17The kernel ICMP module also answers ICMP requests.
fea681da
MK
18.PP
19A user protocol may receive ICMP packets for all local sockets by opening
c13182ef 20a raw socket with the protocol
fea681da
MK
21.BR IPPROTO_ICMP .
22See
23.BR raw (7)
24for more information.
25The types of ICMP packets passed to the socket can be filtered using the
c13182ef
MK
26.B ICMP_FILTER
27socket option.
28ICMP packets are always processed by the kernel too, even
fea681da
MK
29when passed to a user socket.
30.LP
31Linux limits the rate of ICMP error packets to each destination.
32.B ICMP_REDIRECT
33and
34.B ICMP_DEST_UNREACH
35are also limited by the destination route of the incoming packets.
5a2ff571
MK
36.SS /proc interfaces
37ICMP supports a set of
38.I /proc
39interfaces to configure some global IP parameters.
40The parameters can be accessed by reading or writing files in the directory
41.IR /proc/sys/net/ipv4/ .
42Most of these parameters are rate limitations for specific ICMP types.
c13182ef 43Linux 2.2 uses a token bucket filter to limit ICMPs.
218e46f8 44.\" FIXME better description needed
c13182ef
MK
45The value is the timeout in jiffies until the token bucket filter is
46cleared after a burst.
34ccb744 47A jiffy is a system dependent unit, usually 10ms on i386 and
22399250 48about 1ms on alpha and ia64.
fea681da 49.TP
35300c3d 50.IR icmp_destunreach_rate " (Linux 2.2 to 2.4.9)"
920a509f 51.\" Precisely: from 2.1.102
c13182ef
MK
52Maximum rate to send ICMP Destination Unreachable packets.
53This limits the rate at which packets are sent to any individual
56185b42 54route or destination.
fea681da
MK
55The limit does not affect sending of
56.B ICMP_FRAG_NEEDED
57packets needed for path MTU discovery.
58.TP
920a509f
MK
59.IR icmp_echo_ignore_all " (since Linux 2.2)"
60.\" Precisely: 2.1.68
c7094399 61If this value is nonzero, Linux will ignore all
fea681da 62.B ICMP_ECHO
c13182ef 63requests.
fea681da 64.TP
920a509f
MK
65.IR icmp_echo_ignore_broadcasts " (since Linux 2.2)"
66.\" Precisely: from 2.1.68
c7094399 67If this value is nonzero, Linux will ignore all
fea681da 68.B ICMP_ECHO
c13182ef 69packets sent to broadcast addresses.
fea681da 70.TP
35300c3d 71.IR icmp_echoreply_rate " (Linux 2.2 to 2.4.9)"
920a509f 72.\" Precisely: from 2.1.102
fea681da
MK
73Maximum rate for sending
74.B ICMP_ECHOREPLY
c13182ef 75packets in response to
fea681da
MK
76.B ICMP_ECHOREQUEST
77packets.
78.TP
7f5a74f7
MK
79.IR icmp_errors_use_inbound_ifaddr " (Boolean; default: disabled; since Linux 2.6.12)"
80.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
f5d246e1 81If disabled, ICMP error messages are sent with the primary address of
7f5a74f7 82the exiting interface.
a113945f 83
f5d246e1 84If enabled, the message will be sent with the primary address of
7f5a74f7
MK
85the interface that received the packet that caused the ICMP error.
86This is the behavior that many network administrators will expect from
87a router.
a113945f 88And it can make debugging complicated network layouts much easier.
7f5a74f7
MK
89
90Note that if no primary address exists for the interface selected,
91then the primary address of the first non-loopback interface that
92has one will be used regardless of this setting.
93.TP