---
name: "mpe"
section: "4"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/mpe"
---

# mpe(4)

MPLS Provider Edge

## NAME

**mpe** – MPLS Provider Edge

## SYNOPSIS

**pseudo-device mpe**

## DESCRIPTION

The **mpe** interface is a Multiprotocol Label Switching (MPLS) Provider Edge pseudo-device used to enter and leave an MPLS domain.

An **mpe** interface can be created at runtime using the **ifconfig** **mpe***N* **create** command or by setting up a [hostname.if(5)](/hostname.if/5.md) configuration file for [netstart(8)](/netstart/8.md). The interface itself can be configured with [ifconfig(8)](/ifconfig/8.md); see its manual page for more information.

## IOCTLS

The following [ioctl(2)](/ioctl/2.md) calls are specific to **mpe**, [mpip(4)](/mpip/4.md) and [mpw(4)](/mpw/4.md) interfaces:

- SIOCSETLABEL

  Encapsulate packets entering this interface in MPLS using the specified label.

- SIOCGETLABEL

  Report the label that packets entering this interface will be tagged with.

- SIOCDELLABEL

  Unset the MPLS label.

## SEE ALSO

[sysctl(2)](/sysctl/2.md), [mpip(4)](/mpip/4.md), [mpw(4)](/mpw/4.md), [hostname.if(5)](/hostname.if/5.md), [ifconfig(8)](/ifconfig/8.md), [ldpd(8)](/ldpd/8.md), [netstart(8)](/netstart/8.md)

## HISTORY

The **mpe** device first appeared in OpenBSD 4.4.

## AUTHORS

The **mpe** driver was written by Pierre-Yves Ritschard ⟨*pyr@openbsd.org*⟩.
