NetBSD/share/man/man4/vlan.4

220 lines
4.8 KiB
Groff

.\" $NetBSD: vlan.4,v 1.28 2007/09/24 08:30:50 martti Exp $
.\"
.\" Copyright (c) 2000 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Jason R. Thorpe of Zembu Labs, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the NetBSD
.\" Foundation, Inc. and its contributors.
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
.\" contributors may be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd September 24, 2007
.Dt VLAN 4
.Os
.Sh NAME
.Nm vlan
.Nd IEEE 802.1Q Virtual LAN network device
.Sh SYNOPSIS
.Cd "pseudo-device vlan"
.Sh DESCRIPTION
The
.Nm
interface provides support for
.Tn IEEE
802.1Q Virtual Local Area Networks
.Pq Tn VLAN .
This supports the
trunking of more than one network on a single network interface.
This is particularly useful on routers or on hosts which must be
connected to many different networks through a single physical interface.
.Pp
To use a
.Nm vlan
interface, the administrator must first create the interface and then
specify the VID
.Po
.Tn VLAN
identifier, the first 12 bits from a 16-bit integer which
distinguishes each
.Tn VLAN
from any others
.Pc
and physical interface associated with the
.Tn VLAN .
This can be done by using the
.Xr ifconfig 8
.Ic create ,
.Ic vlan ,
and
.Ic vlanif
subcommands from a shell command line or script.
From within a C program, use the
.Xr ioctl 2
system call with the
.Dv SIOCSIFCREATE
and
.Dv SIOCSIFVLAN
arguments.
.Pp
To be compatible with other
.Tn IEEE
802.1Q devices, the
.Nm
interface supports a 1500 byte
.Tn MTU ,
which means that the parent interface will have to handle packets
that are 4 bytes larger than the original
.Tn Ethernet
standard.
Drivers supporting this increased
.Tn MTU
are:
.Pp
.Bl -dash -compact
.It
drivers using the DP8390 core
.Po
such as
.Xr ec 4 ,
.Xr ne 4 ,
.Xr we 4 ,
and possibly others
.Pc
.It
.Xr bge 4
.It
.Xr bnx 4
.It
.Xr ea 4
.It
.Xr eb 4
.It
.Xr epic 4
.It
.Xr ex 4
.It
.Xr fxp 4
.It
.Xr gem 4
.It
.Xr hme 4
.It
.Xr le 4
.It
.Xr sip 4
.It
.Xr ste 4
.It
.Xr stge 4
.It
.Xr ti 4
.It
.Xr tl 4
.It
.Xr tlp 4
.It
.Xr vge 4
.It
.Xr wm 4
.It
.Xr xi 4
.El
.Pp
.Nm
can be used with devices not supporting the
.Tn IEEE
802.1Q
.Tn MTU ,
but then the
.Tn MTU
of the
.Nm
interface will be 4 bytes too small and will not interoperate
properly with other
.Tn IEEE
802.1Q devices, unless the
.Tn MTU
of the other hosts on the
.Tn VLAN
are also lowered to match.
.Sh EXAMPLES
The following will create interface
.Sy vlan0
with VID six, on the
.Tn Ethernet
interface
.Sy tlp0 :
.Bd -literal -offset indent
ifconfig vlan0 create
ifconfig vlan0 vlan 6 vlanif tlp0
.Ed
.Pp
After this set up,
.Tn IP
addresses (and/or other protocols) can be assigned to the
.Sy vlan0
interface.
All other hosts on the
.Tn Ethernet
connected to
.Sy tlp0
which configure a
.Tn VLAN
and use VID six will see all traffic transmitted through
.Sy vlan0 .
.Pp
The same
.Tn VLAN
can be created at system startup time
by placing the following in
.Pa /etc/ifconfig.vlan0 :
.Bd -literal -offset indent
create
vlan 6 vlanif tlp0
.Ed
.Sh SEE ALSO
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device first appeared in
.Nx 1.5.1 ,
and was derived from a
.Tn VLAN
implementation that appeared in
.Fx
and
.Ox .
.Sh BUGS
The
.Nm
interfaces do not currently inherit changes made to the physical
interfaces'
.Tn MTU .