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