summaryrefslogtreecommitdiff
path: root/share/man
diff options
context:
space:
mode:
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man4/Makefile4
-rw-r--r--share/man/man4/mpw.4118
2 files changed, 120 insertions, 2 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index d69c138bbd9..f6cd64b5c83 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.596 2015/07/21 03:40:01 reyk Exp $
+# $OpenBSD: Makefile,v 1.597 2015/07/21 05:25:24 rzalamena Exp $
MAN= aac.4 ac97.4 acphy.4 \
acpi.4 acpiac.4 acpiasus.4 acpibat.4 acpibtn.4 acpicpu.4 acpidock.4 \
@@ -35,7 +35,7 @@ MAN= aac.4 ac97.4 acphy.4 \
lmenv.4 lmn.4 lmtemp.4 lo.4 lpt.4 lxtphy.4 luphy.4 \
maestro.4 mainbus.4 malo.4 maxds.4 maxtmp.4 mbg.4 midi.4 mii.4 mfi.4 \
mfii.4 mlphy.4 moscom.4 mos.4 mpe.4 mpath.4 mpi.4 mpii.4 mpu.4 msk.4 \
- msts.4 mtd.4 mtdphy.4 multicast.4 mtio.4 myx.4 \
+ mpw.4 msts.4 mtd.4 mtdphy.4 multicast.4 mtio.4 myx.4 \
ne.4 neo.4 nep.4 netintro.4 nfe.4 nge.4 nmea.4 \
nsclpcsio.4 nsgphy.4 nsphy.4 nsphyter.4 null.4 nviic.4 nvt.4 \
oce.4 ohci.4 options.4 onewire.4 oosiop.4 osiop.4 otus.4 \
diff --git a/share/man/man4/mpw.4 b/share/man/man4/mpw.4
new file mode 100644
index 00000000000..46877799ede
--- /dev/null
+++ b/share/man/man4/mpw.4
@@ -0,0 +1,118 @@
+.\" $OpenBSD: mpw.4,v 1.1 2015/07/21 05:25:24 rzalamena Exp $
+.\"
+.\" Copyright (C) 2015 Rafael Zalamena <rzalamena@openbsd.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: July 21 2015 $
+.Dt MPW 4
+.Os
+.Sh NAME
+.Nm mpw
+.Nd MPLS Pseudowire
+.Sh SYNOPSIS
+.Cd "pseudo-device mpw"
+.Pp
+.Fd #include <sys/types.h>
+.Fd #include <netmpls/mpls.h>
+.Sh DESCRIPTION
+The
+.Nm
+interface is used to create a MPLS layer 2 tunnel between two points.
+.Pp
+A
+.Nm
+interface can be created at runtime using the
+.Ic ifconfig mpw Ns Ar N Ic create
+command or by setting up a
+.Xr hostname.if 5
+configuration file for
+.Xr netstart 8 .
+The interface itself can be configured with
+.Xr ifconfig 8
+see its man page for more information.
+.Pp
+The supported pseudowire operation modes are
+.Ql ethernet
+and
+.Ql ethernet-tagged .
+The
+.Ql ethernet
+operating mode passes all ethernet packets transparently through the
+interface, meanwhile the
+.Ql ethernet-tagged
+requires that the client uses at least one VLAN to pass the traffic.
+The
+.Nm
+interface labels, neighbor, encapsulation and administrative state is normally
+configured by
+.Xr ldpd 8 ,
+but it is also possible to configure it manually.
+The configuration information that will be used by the ioctl are
+defined below:
+.Bd -literal
+#define IMR_TYPE_NONE 0
+#define IMR_TYPE_ETHERNET 1
+#define IMR_TYPE_ETHERNET_TAGGED 2
+
+#define IMR_FLAG_CONTROLWORD 0x1
+
+struct ifmpwreq {
+ uint32_t imr_flags;
+ uint32_t imr_type; /* pseudowire type */
+ struct shim_hdr imr_lshim; /* local label */
+ struct shim_hdr imr_rshim; /* remote label */
+ struct sockaddr_storage imr_nexthop;
+};
+.Ed
+.Pp
+.Nm
+interfaces support the following unique ioctls:
+.Bl -tag -width "SIOCSETMPWCFG" -offset 3n
+.It SIOCSETMPWCFG
+Configure mpw using the supplied configuration.
+.It SIOCGETMPWCFG
+Report the mpw configuration.
+.El
+.\"
+.Sh EXAMPLES
+Create a pseudowire to neighbor 10.254.0.1 using ethernet encapsulation
+with local label 20 and encapsulate MPLS packets with label 21:
+.Bd -literal -offset indent
+# ifconfig mpw5 neighbor 10.254.0.1 encap ethernet mpwlabel 20 21 up
+.Ed
+.Pp
+Create a pseudowire to neighbor 10.254.0.3 using ethernet encapsulation
+with local label 30 and encapsulate MPLS packets with label 31 and
+control-word:
+.Bd -literal -offset indent
+# ifconfig mpw5 neighbor 10.254.0.3 encap ethernet mpwlabel 30 31 controlword
+.Ed
+.Pp
+.Sh SEE ALSO
+.Xr hostname.if 5 ,
+.Xr ifconfig 8 ,
+.Xr ldpd 8 ,
+.Xr netstart 8
+.\"
+.Sh HISTORY
+The
+.Nm
+kernel interface first appeared in
+.Ox 5.8 .
+.\"
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Rafael Zalamena Aq Mt rzalamena@openbsd.org .