\*(C`gvpe\*(C' [-cDlL] [--config=\s-1DIR\s0] [--no-detach] [-l=\s-1LEVEL\s0]] [--kill[=\s-1SIGNAL\s0]] [--mlock] [--help] [--version] \s-1NODENAME\s0 [option...]


See the gvpe\|(5) man page for an introduction to the gvpe suite.

This is the manual page for gvpe, the virtual private ethernet daemon. When started, \*(C`gvpe\*(C' will read it's configuration file to determine the network topology, and other configuration information, assuming the role of node \s-1NODENAME\s0

It will then create/connect to the tun/tap device and set up a socket for incoming connections. Then a \*(C`if-up\*(C' script will be executed to further configure the virtual network device. If that succeeds, it will detach from the controlling terminal and continue in the background, accepting and setting up connections to other gvpe daemons that are part of the same virtual private ethernet.

The optional arguments after the node name have to be of the form:


If the argument has a prefix of \*(C`nodename.\*(C' (i.e. \*(C`laptop.enable-dns=yes\*(C') then it will be parsed after all the config directives for that node, if not, it is parsed before the first node directive in the config file, and can be used to set global options or default variables.

For example, to start \*(C`gvpe\*(C' in the foreground, with log-level \*(C`info\*(C' on the node \*(C`laptop\*(C', with \s-1TCP\s0 enabled and HTTP-Proxy host and Port set, use this:

gvpe -D -l info laptop \ http-proxy-host= http-proxy-port=3128 \ laptop.enable-tcp=yes


-c, --config=\s-1DIR\s0

Read configuration options from \s-1DIR\s0

-d, --l=\s-1LEVEL\s0

Set logging level to \s-1LEVEL\s0 (one of: noise, trace, debug, info, notice, warn, error, critical).


Display short list of options.

-D, --no-detach

Don't fork and detach but stay in foreground and log messages to stderr in addition to syslog.

-L, --mlock

Lock \*(C`gvpe\*(C' into main memory. This will prevent sensitive data like shared private keys to be written to the system swap files/partitions.


Output version information and exit.



Closes/resets all connections, resets the retry time and will start connecting again (it will \s-1NOT\s0 re-read the config file). This is useful e.g. in a \*(C`/etc/ppp/if-up\*(C' script.


Closes/resets all connections and exits.


Dump current network status into the syslog (at loglevel \*(C`notice\*(C', so make sure your loglevel allows this).


The configuration file for \*(C`gvpe\*(C'. Script which is executed as soon as the virtual network device has been allocated. Purpose is to further configure that device. Script which is executed whenever a node connects to this node. This can be used for example to run nsupdate. Script which is executed whenever a connection to another node is lost. for example to run nsupdate. The directory containing the public keys for every node, usually autogenerated by executing \*(C`gvpectrl --generate-keys\*(C'. The \s-1PID\s0 of the currently running \*(C`gvpe\*(C' is stored in this file.


The cryptography in gvpe has not been thoroughly checked by many people yet. Use it at your own risk!

If you find any bugs, report them to \*(C`[email protected]\*(C'.


gvpe\|(5) for an introduction, gvpe.conf\|(5), gvpectrl\|(8).

The \s-1GVPE\s0 mailing list, at <> or \*(C`[email protected]\*(C'.

\s-1GVPE\s0 comes with \s-1ABSOLUTELY\s0 \s-1NO\s0 \s-1WARRANTY\s0. This is free software, and you are welcome to redistribute it under certain conditions; see the file \s-1COPYING\s0 for details.


Marc Lehmann \*(C`<[email protected]>\*(C'.

And thanks to many others for their contributions to gvpe, especially the tincd authors, who inspired me to write this program (after scavenging their source code ;).