xref: /freebsd/share/man/man4/vlan.4 (revision 63f9a4cb2684a303e3eb2ffed39c03a2e2b28ae0)
1.\"
2.\" Copyright (c) 2001 Yar Tikhiy
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd November 15, 2004
29.Dt VLAN 4
30.Os
31.Sh NAME
32.Nm vlan
33.Nd IEEE 802.1Q VLAN network interface
34.Sh SYNOPSIS
35.Cd device miibus
36.Cd device vlan
37.\"
38.Sh DESCRIPTION
39The
40.Nm
41driver demultiplexes frames tagged according to
42the IEEE 802.1Q standard into logical
43.Nm
44network interfaces, which allows routing/bridging between
45multiple VLANs through a single switch trunk port.
46.Pp
47Each
48.Nm
49interface is created at runtime using interface cloning.
50This is
51most easily done with the
52.Xr ifconfig 8
53.Cm create
54command or using the
55.Va cloned_interfaces
56variable in
57.Xr rc.conf 5 .
58.Pp
59To function, a
60.Nm
61interface must be assigned a parent interface and
62numeric VLAN tag using
63.Xr ifconfig 8 .
64A single parent can be assigned to multiple
65.Nm
66interfaces provided they have different tags.
67The parent interface is likely to be an ethernet card connected
68to a properly configured switch port.
69The VLAN tag should match one of those set up in the switched
70network.
71.Pp
72The
73.Nm
74driver supports physical devices that do
75the VLAN demultiplexing in firmware.
76Devices that have hardware support for
77802.1Q VLANs are automatically recognized by their interface capabilities.
78.\"
79.Ss "Selecting the Right Network Interface Card to Run VLANs Through"
80By now, the only NICs that have both hardware support and proper
81driver hooks for the 802.1Q VLAN technology in
82.Fx
83are
84.Xr bge 4 ,
85.Xr em 4 ,
86.Xr nge 4 ,
87.Xr re 4 ,
88.Xr ti 4 ,
89and
90.Xr txp 4 .
91.Pp
92The rest of the ethernet NICs supported by
93.Fx
94can run
95VLANs using software emulation in the
96.Nm
97driver.
98However, most of them lack the capability
99of transmitting and/or receiving oversized frames.
100Using such a NIC as a parent interface
101implies a reduced MTU on the corresponding
102.Nm
103interfaces.
104In the modern Internet, this is likely to cause
105.Xr tcp 4
106connectivity problems due to massive, inadequate
107.Xr icmp 4
108filtering that breaks the Path MTU Discovery mechanism.
109.Pp
110The NICs that support oversized frames are as follows:
111.Bl -tag -width ".Xr fxp 4 " -offset indent
112.It Xr bfe 4
113supports long frames for
114.Nm
115natively.
116.It Xr dc 4
117supports long frames for
118.Nm
119natively.
120.It Xr de 4
121requires defining
122.Dv BIG_PACKET
123in the
124.Pa /usr/src/sys/pci/if_de.c
125source file and rebuilding the kernel
126or module.
127The hack works only for the 21041, 21140, and 21140A chips.
128.It Xr fxp 4
129supports long frames for
130.Nm
131natively.
132.It Xr hme 4
133supports long frames for
134.Nm
135natively.
136.It Xr rl 4
137supports long frames for
138.Nm
139natively.
140.It Xr sis 4
141supports long frames for
142.Nm
143natively.
144.It Xr ste 4
145supports long frames for
146.Nm
147natively.
148.It Xr tl 4
149has support for long frames.
150.It Xr tx 4
151supports long frames for
152.Nm
153natively.
154.It Xr xl 4
155supports long frames only if the card is built on a newer chip
156(Cyclone and above).
157.El
158.Pp
159The
160.Nm
161driver automatically recognizes devices that support oversized frames
162for
163.Nm
164use and calculates the appropriate frame MTU based on the
165capabilities of the parent interface.
166.Sh SEE ALSO
167.Xr kqueue 2 ,
168.Xr miibus 4 ,
169.Xr ifconfig 8
170.Sh BUGS
171No 802.1Q features except VLAN tagging are implemented.
172.Pp
173.Dv EVFILT_NETDEV
174events on a
175.Nm
176interface will be sent through
177.Xr kqueue 2
178only if the parent interface uses
179.Xr miibus 4
180for link state notification.
181