mpd5
—
netgraph multi-link PPP daemon
mpd5 |
[-bkov ] [-d
directory] [-f
file] [-p
pid-file] [-s
ident] [-m
service] [configuration] |
mpd5
is a user mode PPP daemon using the
netgraph(4)
networking system. By using Netgraph, mpd5
combines
the robustness and flexibility of a user-mode PPP implementation with the
speed and reliability of kernel-mode packet forwarding. All PPP negotiation is
handled in user level code, while all data intensive operations such as
encryption, compression, and multi-link framing are handled strictly in the
kernel. Mpd supports several link layer types, a fully event-driven modem chat
scripting language, and other features.
mpd5
creates a
ng_ppp(4)
netgraph node that is placed between a
ng_iface(4)
netgraph interface one or more link layer devices, performing multi-link PPP
negotiation and encapsulation. In multi-link PPP a
bundle is a collection of one or more
links between two peers. Each link corresponds to some
device (e.g., a modem), and each bundle corresponds to one netgraph
interface. The idea is to use all of the links, together connected to a
remote peer also performing multi-link PPP, to utilize their combined
bandwidth. Packets routed through the netgraph interface travel in
multi-link fragments over all of the links. Each link is a normal PPP link
and can deliver complete packets as well, so redundancy is another benefit.
Attempts to connect two links in the same bundle to different peers, or to a
peer that is not configured for multi-link PPP, will fail.
In general, everything is controlled by executing commands which
are either entered via the console command line or read from a configuration
file. If mpd5
is running as a background daemon, the
console can be made accessible via
telnet(1).
Since commands may apply to a single link, the console prompt always shows
the current bundle or the current
link in that bundle. On startup mpd run commands from the
startup label of config file. After that, if
configuration is supplied, mpd looks config file for a
matching label and runs the corresponding commands. If
configuration is not supplied, mpd looks for label
named default.
Mpd is fully documented in the mpd manual, which is available in HTML. The
manual can be found in the directory
/usr/local/share/doc/mpd5.
Mpd supports the following command options:
-b
-
--background
-
Detach from the terminal and run as a background daemon.
-d
dirname
-
--directory
dirname
-
Specify a configuration directory other than the default,
/usr/local/etc/mpd5.
-f
file
-
--file
file
-
Specify an initial configuration file other than the default,
mpd.conf.
-o
-
--one-shot
-
Terminate daemon after the last link shutdown.
-p
file
-
--pidfile
file
-
Specify an lock/process ID storage file other than the default
/var/run/mpd.pid.
-k
-
--kill
-
Kill any existing mpd5
daemon
currently running. The same pidfile must be used.
-s
ident
-
--syslog-ident
ident
-
Identifier to use for
syslog(3).
The default - mpd
-m
service
-
--pam-service
service
-
Service name to use for
pam(3).
The default - mpd
-v
-
--version
-
Display the program version and exit.
-h
-
--help
-
Display invocation usage and exit.
- /usr/local/share/doc/mpd5
- Directory containing the mpd manual
- /usr/local/etc/mpd5
- Default configuration file directory
- mpd.conf
- Configuration file
- mpd.script
- Modem chat scripts
- mpd.secret
- Account name, password pairs
- /var/run/mpd.pid
- Stored process ID and lock file