1.\" $OpenBSD: mpw.4,v 1.8 2019/04/03 06:24:07 jmc Exp $ 2.\" 3.\" Copyright (C) 2015 Rafael Zalamena <rzalamena@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: April 3 2019 $ 18.Dt MPW 4 19.Os 20.Sh NAME 21.Nm mpw 22.Nd MPLS Ethernet pseudowire 23.Sh SYNOPSIS 24.Cd "pseudo-device mpw" 25.Sh DESCRIPTION 26The 27.Nm 28interface is used to create an MPLS Ethernet layer 2 tunnel between 29two points. 30.Pp 31An 32.Nm 33interface can be created at runtime using the 34.Sy ifconfig Nm Ns Ar N Cm create 35command or by setting up a 36.Xr hostname.if 5 37configuration file for 38.Xr netstart 8 . 39The interface itself can be configured with 40.Xr ifconfig 8 . 41.Pp 42The local MPLS label, the remote MPLS label and neighbor, use of 43pseudowire control words, or flow-aware transport are normally 44configured after negotiation with a remote system using 45.Xr ldpd 8 , 46but it is also possible to configure them manually using 47.Xr ifconfig 8 . 48.Sh EXAMPLES 49Create a pseudowire with local label 20 and remote label 21 on 50neighbor 10.254.0.1: 51.Bd -literal -offset indent 52# ifconfig mpw5 create 53# ifconfig mpw5 mplslabel 20 pweneighbor 21 10.254.0.1 54# ifconfig mpw5 up 55.Ed 56.Pp 57Enable the use of the Pseudowire Emulation Edge-to-Edge (PWE3) 58Control Word, and disable the use of a Flow label for Flow-Aware 59Transport of Pseudowires: 60.Bd -literal -offset indent 61# ifconfig mpw5 pwecw -pwefat 62.Ed 63.Pp 64.Nm mpw 65interfaces may be used to build a Virtual Private LAN Service 66(VPLS) with 67.Xr bridge 4 . 68A VPLS is constructed with a full mesh of MPLS pseudowire tunnels 69between all peers, but this introduces loops in the topology. 70To prevent broadcast packets received from the VPLS being forwarded 71to its peers, all the pseudowire interfaces can be configured to 72enforce the split-horizon forwarding rule by adding them to the 73same protected bridge domain. 74Different VPLS meshes can be joined together on the same bridge 75using different identifiers for their protected domains: 76.Bd -literal -offset indent 77# ifconfig mpw10 create up 78# ifconfig mpw11 create up 79# ifconfig mpw12 create up 80# ifconfig bridge0 create 81# ifconfig bridge0 add em2 82# ifconfig bridge0 add mpw10 add mpw11 add mpw12 83# ifconfig bridge0 protected mpw10 1 84# ifconfig bridge0 protected mpw11 1 85# ifconfig bridge0 protected mpw12 1 86.Ed 87.Sh SEE ALSO 88.Xr hostname.if 5 , 89.Xr ifconfig 8 , 90.Xr ldpd 8 , 91.Xr netstart 8 92.Rs 93.%A S. Bryant 94.%A P. Pate 95.%D March 2005 96.%R RFC 3985 97.%T Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture 98.Re 99.Pp 100.Rs 101.%A S. Bryant 102.%A G. Swallow 103.%A L. Martini 104.%D February 2005 105.%R RFC 4385 106.%T Pseudowire Emulation Edge-to-Edge (PWE3) Control Word \ 107for Use over an MPLS PSN 108.Re 109.Pp 110.Rs 111.%A S. Bryant 112.%A C. Filsfils 113.%A U. Drafz 114.%A V. Kompella 115.%A J. Regan 116.%A S. Amante 117.%D November 2011 118.%R RFC 6391 119.%T Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network 120.Re 121.Sh HISTORY 122The 123.Nm 124kernel interface first appeared in 125.Ox 5.8 . 126.Sh AUTHORS 127The 128.Nm 129driver was written by 130.An Rafael Zalamena Aq Mt rzalamena@openbsd.org . 131