Skip to content
Eddie Kohler edited this page Oct 17, 2017 · 9 revisions

click-mkmindriver

generates a build environment for a minimal Click driver

Synopsis

click-mkmindriver -p packagename [options] \ [param=value ...]
        [router-files...]

Description

The click-mkmindriver tool generates a build environment for a minimal Click driver—that is, a driver containing only the elements necessary to run the configurations in the router-files. You must supply a name for the driver, packagename. Running ‘make MINDRIVER=packagename’ will create either a user-level driver named ‘packagenameclick’, or a Linux kernel module named ‘packagenameclick.o’. Run click-mkmindriver from the respective Click build directory, or supply a relevant --directory option.

Sometimes one element depends weakly on another, especially for parsing. For instance, the IPEncap element can take advantage of protocol names supplied by the IPNameInfo class; if IPNameInfo is not available, IPEncap will still work, it just won’t be able to parse protocol names. Click-mkmindriver does not include weakly dependent elements automatically, so you must supply them explicitly with -E options if you want them. Common examples include IPNameInfo and IPFieldInfo. If a configuration fails to parse, try including these elements.

Options

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

  • -p packagename

  • --package packagename

    Specifies the package name.

  • -f file

  • --file file

    Read a router configuration from file.

  • -e expr

  • --expression expr

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

  • -a, --all

    Include every primitive element class, even those in compound elements that are not themselves used, in the following router configurations. This is useful to add support for click-xform, for example.

  • -l, --linuxmodule

    Output a build environment for a Linux kernel module driver.

  • -u, --userlevel

    Output a build environment for a user-level driver. This is the default.

  • -d dir

  • --directory dir

    Write output file ‘elements_packagename.conf’ to the directory dir. This directory must already contain a normal build environment for the Click Linux module or user-level driver. (The driver required depends on the -k and -u options.) The default directory is ‘.’.

  • -E elts

  • --elements elts

    Include the element classes elts, a space-separated list of element class names. Click-mkmindriver will also read a router configuration, but see --no-file below.

  • --no-extras

    Do not add optional, but useful, element classes by default. Currently, these classes are Align and IPNameInfo. If a configuration or option explicitly requires one of these classes, it will of course be included.

  • -V, --verbose

    Print verbose progress information to standard error.

  • --help

    Print usage information and exit.

  • --version

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

See Also

click, click.o

Author

Eddie Kohler, kohler@seas.harvard.edu
http://www.read.seas.harvard.edu

Clone this wiki locally