.\" .\" Written by Archie Cobbs .\" Copyright (c) 1995-1999 Whistle Communications, Inc. All rights reserved. .\" See ``COPYRIGHT.whistle'' .\" .Dd May 4, 2004 .Dt MPD 8 .Os .Sh NAME .Nm mpd .Nd netgraph multi-link PPP daemon .Sh SYNOPSIS .Nm .Op Fl kbv .Op Fl a Ar IP-address .Op Fl d Ar directory .Op Fl c Ar tcp-port .Op Fl f Ar file .Op Fl p Ar pid-file .Op Fl s Ar ident .Op Ar configuration .Sh DESCRIPTION .Nm is a user mode PPP daemon using the .Xr netgraph 4 networking system. By using Netgraph, .Nm 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. .Pp .Nm creates a .Xr ng_ppp 4 netgraph node that is placed between a .Xr ng_iface 4 netgraph interface one or more link layer devices, performing multi-link PPP negotiation and encapsulation. In multi-link PPP a .Ar bundle is a collection of one or more .Ar 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. .Nm implements a fairly simple form of multi-link PPP, in that a bundle consists of a fixed set of links. 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. .Pp In general, everything is controlled by executing commands which are either entered via the console command line or read from a configuration file. If .Nm is running as a background daemon, the console can be made accessible via .Xr telnet 1 with the .Fl c flag. Only one console connection is allowed at a time. Since commands may apply to a single link, the console prompt always shows the .Ar current bundle and the .Ar current link in that bundle. .Sh ON-LINE MANUAL Mpd is fully documented in the mpd manual, which is available in HTML. The manual can be found in the directory .Pa @PREFIX@/share/doc/mpd . .Sh OPTIONS Mpd supports the following command options: .Pp .Bl -tag -width Ds -compact .Pp .It Fl a Ar IP-address .It Fl -console-address Ar IP-address .Pp Allow .Xr telnet 1 connections to .Ar IP-address to give access to the console command line. The default IP address is 0.0.0.0 (i.e., listen on all interfaces). .Pp .It Fl b .It Fl -background .Pp Detach from the terminal and run as a background deamon. .Pp .It Fl d Ar dirname .It Fl -directory Ar dirname .Pp Specify a configuration directory other than the default, .Pa @PREFIX@/etc/mpd . .Pp .It Fl f Ar file .It Fl -file Ar file .Pp Specify an initial configuration file other than the default, .Pa mpd.conf . .Pp .It Fl p Ar file .It Fl -pidfile Ar file .Pp Specify an lock/process ID storage file other than the default .Pa /var/run/mpd.pid . .Pp .It Fl c Ar port .It Fl -console-port Ar port .Pp Allow .Xr telnet 1 connections to TCP port .Ar port to give access to the console command line. Note that this is a security hole, and should only be used in conjuntion with a console password. The default port is 5005. .Pp .It Fl k .It Fl -kill .Pp Kill any existing .Nm daemon currently running. The same pidfile must be used. .Pp .It Fl s Ar ident .It Fl -syslog-ident Ar ident .Pp Identifier to use for .Xr syslog 3 . .Pp .It Fl v .It Fl -version .Pp Display the program version and exit. .Pp .It Fl h .It Fl -help .Pp Display invocation usage and exit. .Sh FILES .Bl -tag -width /usr/local/share/doc/mpdXX -compact .It Pa @PREFIX@/share/doc/mpd Directory containing the mpd manual .It Pa @PREFIX@/etc/mpd Default configuration file directory .It Pa mpd.conf Configuration file .It Pa mpd.links Definitions of individual links .It Pa mpd.script Modem chat scripts .It Pa mpd.secret Account name, password pairs .It Pa /var/run/mpd.pid Stored process ID and lock file .Sh SEE ALSO .Xr netgraph 4 , .Xr ng_ppp 4 , .Xr ppp 8 , .Xr pppd 8 . .Sh AUTHOR Mpd was written by Archie Cobbs , based on the original .Xr ppp 8 daemon written by Toshiharu OHNO .