Mpd is a user-mode implementation of the PPP protocol for FreeBSD. It supports several of the numerous PPP sub-protocols and extensions, such as: Multi-link PPP capability PAP, CHAP, and MS-CHAP authentication DES encryption Mpd also includes many additional features: Dial-on-demand with idle timeout Multiple active connections running simultaneously Dynamic demand based link management (also known as ``rubber bandwidth'') Powerful chat scripting language for asynchronous serial ports Pre-tested chat scripts for automatic configuration of several common modems and ISDN terminal adapters Support for the Netgraph kernel networking system Support for tunnelling PPP over TCP, and UDP Clean device-type independent design Comprehensive logging