CLICK-INSTALL(1)

NAME
click-install - installs a Click configuration into the kernel module driver

SYNOPSIS
click-install [options] [router-file]

DESCRIPTION
Click-install is a convenience program that installs a Click router configuration into the current Linux kernel. It reads a router configuration file in the language, installs the kernel module if necessary, compiles and/or installs any dynamically loadable packages required by the router configuration, installs the router configuration itself by writing it to /proc/click/config, and uninstalls any unused packages. It reports any errors to standard error, including errors reported by the Click module, and returns a zero (true) exit status if and only if the configuration was successfully installed.

OPTIONS
If any filename argument is a single dash "-", click-install will use the standard input or output instead, as appropriate.

-f file
--file file
    Read the router configuration to transform from file. The default is the standard input.

-e expr
--expression expr
    Use expr, a string in the Click language, as the router configuration.

-h, --hot-swap
    Hot-swap install the new configuration. If you supply this option, the new configuration will only be installed if it initializes correctly. If it fails, the old configuration will continue to route packets without interruption. Furthermore, state from the old configuration -- such as packets contained in elements -- will be swapped into the new configuration under certain conditions. See under /proc/click/hotconfig in for details.

-u, --uninstall
    Uninstall and reinstall the Click kernel module. --hot-swap and --uninstall are mutually exclusive.

-t, --threads=N
    The Click kernel module will run N threads per router. Click must have been build with --enable-multithread. This option only matters when click-install installs a Click kernel module. The thread count on an installed kernel module cannot be changed. (The --uninstall option is useful here.)

-n, --priority=N
    Set the Click kernel thread's priority to N. Lower numbers have higher priority. A typical range for priority values is -20 (highest) to +19 (lowest). If you do not give a --priority option, then the current priority is left unchanged.

-G, --greedy
    The Click kernel module will claim an entire CPU, not allowing any other process to run. This option only matters when click-install installs a Click kernel module; the greediness of an installed kernel module cannot be changed. (The --uninstall option is useful here.)

-p, --private
    Make the /proc/click directory hierarchy readable only by root. Generally, files under /proc/click are writable only by root, but readable by everyone. Works only when simultaneously loading a Click kernel module; see --uninstall.

-m, --map
    (Linux 2.4 only) If a Click kernel module is installed, write its load map to standard output. This can make it easier to debug kernel panics.

-V, --verbose
    Print information about each step in the install process, including the filenames of any installed modules.

--help
    Print usage information and exit.

--version
    Print the version number and some quickie warranty information and exit.

EXIT STATUS
Click-install exits with one of the following return values:

0   The configuration was successfully installed.

1   Some error prevented click-install from attempting to install the configuration. For example, perhaps the configuration could not be parsed, or the kernel module could not be loaded.

2   The configuration was installed, but the kernel module reports that it could not be initialized.

SEE ALSO

AUTHOR
Eddie Kohler, kohler@cs.ucla.edu
http://www.pdos.lcs.mit.edu/click/