1ARPD(8) System Manager's Manual ARPD(8)
2
3
4
6 arpd - userspace arp daemon.
7
8
10 Usage: arpd [ -lkh? ] [ -a N ] [ -b dbase ] [ -B number ] [ -f file ]
11 [-p interval ] [ -n time ] [ -R rate ] [ <INTERFACES> ]
12
13
15 The arpd daemon collects gratuitous ARP information, saving it on local
16 disk and feeding it to the kernel on demand to avoid redundant broad‐
17 casting due to limited size of the kernel ARP cache.
18
19
21 -h -? Print help
22
23 -l Dump the arpd database to stdout and exit. The output consists
24 of three columns: the interface index, the IP address of the
25 interface, and the MAC address of the interface. Negative
26 entries for dead hosts are also shown, in this case the MAC
27 address is replaced by the word FAILED followed by a colon and
28 the most recent time when the fact that the host is dead was
29 proven.
30
31 -f <FILE>
32 Read and load an arpd database from FILE in a text format simi‐
33 lar to that dumped by option -l. Exit after load, possibly list‐
34 ing resulting database, if option -l is also given. If FILE is
35 -, stdin is read to get the ARP table.
36
37 -b <DATABASE>
38 the location of the database file. The default location is
39 /var/lib/arpd/arpd.db
40
41 -a <NUMBER>
42 With this option, arpd not only passively listens for ARP pack‐
43 ets on the interface, but also sends broadcast queries itself.
44 NUMBER is the number of such queries to make before a destina‐
45 tion is considered dead. When arpd is started as kernel helper
46 (i.e. with app_solicit enabled in sysctl or even with option -k)
47 without this option and still did not learn enough information,
48 you can observe 1 second gaps in service. Not fatal, but not
49 good.
50
51 -k Suppress sending broadcast queries by the kernel. This option
52 only makes sense together with option -a.
53
54 -n <TIME>
55 Specifies the timeout of the negative cache. When resolution
56 fails, arpd suppresses further attempts to resolve for this
57 period. This option only makes sense together with option '-k'.
58 This timeout should not be too much longer than the boot time of
59 a typical host not supporting gratuitous ARP. Default value is
60 60 seconds.
61
62 -p <TIME>
63 The time to wait in seconds between polling attempts to the ker‐
64 nel ARP table. TIME may be a floating point number. The default
65 value is 30.
66
67 -R <RATE>
68 Maximal steady rate of broadcasts sent by arpd in packets per
69 second. Default value is 1.
70
71 -B <NUMBER>
72 The number of broadcasts sent by arpd back to back. Default
73 value is 3. Together with the -R option, this option ensures
74 that the number of ARP queries that are broadcast does not
75 exceed B+R*T over any interval of time T.
76
77 <INTERFACES> is a list of names of networking interfaces to watch. If
78 no interfaces are given, arpd monitors all the interfaces. In this case
79 arpd does not adjust sysctl parameters, it is assumed that the user
80 does this himself after arpd is started.
81
83 When arpd receives a SIGINT or SIGTERM signal, it exits gracefully,
84 syncing the database and restoring adjusted sysctl parameters. On a
85 SIGHUP it syncs the database to disk. With SIGUSR1 it sends some sta‐
86 tistics to syslog. The effect of any other signals is undefined. In
87 particular, they may corrupt the database and leave the sysctl parame‐
88 ters in an unpredictable state.
89
91 In order for arpd to be able to serve as ARP resolver, the kernel must
92 be compiled with the option CONFIG_ARPD and, in the case when interface
93 list in not given on command line, variable app_solicit on interfaces
94 of interest should be in /proc/sys/net/ipv4/neigh/*. If this is not
95 made arpd still collects gratuitous ARP information in its database.
96
98 arpd -b /var/tmp/arpd.db
99 Start arpd to collect gratuitous ARP, but not messing with ker‐
100 nel functionality.
101
102 killall arpd ; arpd -l -b /var/tmp/arpd.db
103 Look at result after some time.
104
105 arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
106 Enable kernel helper, leaving leading role to kernel.
107
108 arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
109 Completely replace kernel resolution on interfaces eth0 and
110 eth1. In this case the kernel still does unicast probing to val‐
111 idate entries, but all the broadcast activity is suppressed and
112 made under authority of arpd.
113
114 This is the mode in which arpd normally is supposed to work. It is not
115 the default to prevent occasional enabling of too aggressive a mode.
116
117
118
119 28 June, 2007 ARPD(8)