next up previous
Next: About this document ...

ARPD Daemon

Alexey Kuznetsov, kuznet@ms2.inr.ac.ru

some_negative_number, 20 Sep 2001

Description

The format of the command is:


\begin{tscreen}
\begin{verbatim}arpd OPTIONS [ INTERFACE [ INTERFACE ... ] ]\end{verbatim}
\end{tscreen}

OPTIONS are:

INTERFACE is name of networking inteface to watch. If no interfaces given, arpd monitors all the interfaces. In this case arpd does not adjust sysctl parameters, it is supposed user does this himself after arpd is started.

Signals

arpd exits gracefully syncing database and restoring adjusted sysctl parameters, when receives SIGINT or SIGTERM. SIGHUP syncs database to disk. SIGUSR1 sends some statistics to syslog. Effect of another signals is undefined, they may corrupt database and leave sysctl parameters in an unpredictable state.

Note

In order to arpd be able to serve as ARP resolver, kernel must be compiled with the option CONFIG_ARPD and, in the case when interface list is not given on command line, variable app_solicit on interfaces of interest should be set in /proc/sys/net/ipv4/neigh/*. If this is not made arpd still collects gratuitous ARP information in its database.

Examples

  1. Start arpd to collect gratuitous ARP, but not messing with kernel functionality:


    \begin{tscreen}
\begin{verbatim}arpd -b /var/tmp/arpd.db\end{verbatim}
\end{tscreen}

  2. Look at result after some time:


    \begin{tscreen}
\begin{verbatim}killall arpd
arpd -l -b /var/tmp/arpd.db\end{verbatim}
\end{tscreen}

  3. To enable kernel helper, leaving leading role to kernel:


    \begin{tscreen}
\begin{verbatim}arpd -b /var/tmp/arpd.db -a 1 eth0 eth1\end{verbatim}
\end{tscreen}

  4. Completely replace kernel resolution on interfaces eth0 and eth1. In this case kernel still does unicast probing to validate entries, but all the broadcast activity is suppressed and made under authority of arpd:


    \begin{tscreen}
\begin{verbatim}arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1\end{verbatim}
\end{tscreen}

    This is mode which arpd is supposed to work normally. It is not default just to prevent occasional enabling of too aggressive mode occasionally.




next up previous
Next: About this document ...