MPW(4)

NAME
mpw - MPLS Ethernet pseudowire

SYNOPSIS
pseudo-device mpw

DESCRIPTION
The mpw interface is used to create an MPLS Ethernet layer 2 tunnel between two points.

An mpw interface can be created at runtime using the ifconfig mpwN create command or by setting up a hostname.if(5) configuration file for netstart(8). The interface itself can be configured with ifconfig(8).

The local MPLS label, the remote MPLS label and neighbor, use of pseudowire control words, or flow-aware transport are normally configured after negotiation with a remote system using ldpd(8), but it is also possible to configure them manually using ifconfig(8).

EXAMPLES
Create a pseudowire with local label 20 and remote label 21 on neighbor 10.254.0.1:

    # ifconfig mpw5 create
    # ifconfig mpw5 mplslabel 20 pweneighbor 21 10.254.0.1
    # ifconfig mpw5 up

Enable the use of the Pseudowire Emulation Edge-to-Edge (PWE3) Control Word, and disable the use of a Flow label for Flow-Aware Transport of Pseudowires:

    # ifconfig mpw5 pwecw -pwefat

mpw interfaces may be used to build a Virtual Private LAN Service (VPLS) with veb(4) or bridge(4). A VPLS is constructed with a full mesh of MPLS pseudowire tunnels bridged between all peers, but this introduces loops in the topology. To prevent broadcast, unknown unicast, and multicast packets received from the VPLS being forwarded to its peers, all the pseudowire interfaces can be configured to enforce the split-horizon forwarding rule by adding them to the same protected bridge domain. Different VPLS meshes can be joined together on the same bridge using different identifiers for their protected domains:

    # ifconfig mpw10 create up
    # ifconfig mpw11 create up
    # ifconfig mpw12 create up
    # ifconfig veb0 create
    # ifconfig veb0 add em2
    # ifconfig veb0 add mpw10 add mpw11 add mpw12
    # ifconfig veb0 protected mpw10 1
    # ifconfig veb0 protected mpw11 1
    # ifconfig veb0 protected mpw12 1
    # ifconfig veb0 up

SEE ALSO
mpe(4), mpip(4), hostname.if(5), ifconfig(8), ldpd(8), netstart(8) S. Bryant, P. Pate, March 2005, RFC 3985, Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture.

S. Bryant, G. Swallow, L. Martini, February 2005, RFC 4385, Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN.

S. Bryant, C. Filsfils, U. Drafz, V. Kompella, J. Regan, S. Amante, November 2011, RFC 6391, Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network.

HISTORY
The mpw kernel interface first appeared in OpenBSD 5.8.

AUTHORS
The mpw driver was written by Rafael Zalamena <rzalamena@openbsd.org>.