# Mpd 3.18 User Manual

## Archie Cobbs
`<archie@freebsd.org>`

May 4, 2004

This manual covers the use of mpd, a multi-link PPP daemon for FreeBSD based on `netgraph(4)`. Mpd is highly configurable and extendable as well as being very fast. It supports many combination of drivers and protocols including asynchronous serial (e.g., modems), synchronous serial, Frame Relay, PPTP, and others. This manual documents mpd version 3.18. This version relies on the Netgraph networking system to combine the advantages of user-level configuration and negotiation flexibility with kernel-level speed of data handling. You must be running FreeBSD version 3.4 or higher.

### 1. Introduction

  1.1. Overview
  1.2. Mpd Layers
  1.3. Organization of this manual
  1.4. Change history

### 2. Installation

  2.1. Getting mpd
  2.2. Installing mpd
  2.3. Building mpd

### 3. Running Mpd

  3.1. Invoking mpd
  3.2. Configuration file format
  3.3. Mpd command line interface

### 4. Configuring Mpd

  4.1. General mpd commands
  4.2. Bundle layer commands
  4.3. Interface layer commands
  4.4. IPCP layer commands
  4.5. Link layer commands
  4.6. Compression layer commands
  4.7. Encryption layer commands

### 5. Device Types

  5.1. Modem type commands
  5.2. Netgraph device type commands
  5.3. TCP device type commands
  5.4. UDP device type commands
  5.5. PPTP device type commands
  5.6. PPPoE device type commands

### 6. Chat Scripting

  6.1. Script file format and execution
  6.2. Events
  6.3. Sets
  6.4. Variables
  6.5. Script commands
  6.6. Errors
  6.7. The included `mpd.script`

### 7. Troubleshooting

  7.1. Troubleshooting

### 8. Internals

  8.1. ToDo
  8.2. Authentication

### 9. References

  9.1. References