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