xref: /freebsd/share/man/man4/vlan.4 (revision f7a029eb0c18efc1b57a1ea1e5cf8a818357d8d6)
179458d0bSYaroslav Tykhiy.\"
279458d0bSYaroslav Tykhiy.\" Copyright (c) 2001 Yar Tikhiy
379458d0bSYaroslav Tykhiy.\" All rights reserved.
479458d0bSYaroslav Tykhiy.\"
579458d0bSYaroslav Tykhiy.\" Redistribution and use in source and binary forms, with or without
679458d0bSYaroslav Tykhiy.\" modification, are permitted provided that the following conditions
779458d0bSYaroslav Tykhiy.\" are met:
879458d0bSYaroslav Tykhiy.\" 1. Redistributions of source code must retain the above copyright
979458d0bSYaroslav Tykhiy.\"    notice, this list of conditions and the following disclaimer.
1079458d0bSYaroslav Tykhiy.\" 2. Redistributions in binary form must reproduce the above copyright
1179458d0bSYaroslav Tykhiy.\"    notice, this list of conditions and the following disclaimer in the
1279458d0bSYaroslav Tykhiy.\"    documentation and/or other materials provided with the distribution.
1379458d0bSYaroslav Tykhiy.\"
1479458d0bSYaroslav Tykhiy.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1579458d0bSYaroslav Tykhiy.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1679458d0bSYaroslav Tykhiy.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1779458d0bSYaroslav Tykhiy.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1879458d0bSYaroslav Tykhiy.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1979458d0bSYaroslav Tykhiy.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2079458d0bSYaroslav Tykhiy.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2179458d0bSYaroslav Tykhiy.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2279458d0bSYaroslav Tykhiy.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2379458d0bSYaroslav Tykhiy.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2479458d0bSYaroslav Tykhiy.\" SUCH DAMAGE.
2579458d0bSYaroslav Tykhiy.\"
2679458d0bSYaroslav Tykhiy.\" $FreeBSD$
2779458d0bSYaroslav Tykhiy.\"
28629bf506SPyun YongHyeon.Dd May 27, 2008
2979458d0bSYaroslav Tykhiy.Dt VLAN 4
3079458d0bSYaroslav Tykhiy.Os
3179458d0bSYaroslav Tykhiy.Sh NAME
3279458d0bSYaroslav Tykhiy.Nm vlan
3386e3186eSTom Rhodes.Nd "IEEE 802.1Q VLAN network interface"
3479458d0bSYaroslav Tykhiy.Sh SYNOPSIS
3516d78bb8STom RhodesTo compile this driver into the kernel,
3616d78bb8STom Rhodesplace the following lines in your
3790296834STom Rhodeskernel configuration file:
3886e3186eSTom Rhodes.Bd -ragged -offset indent
3986e3186eSTom Rhodes.Cd "device miibus"
4086e3186eSTom Rhodes.Cd "device vlan"
4186e3186eSTom Rhodes.Ed
4286e3186eSTom Rhodes.Pp
4316d78bb8STom RhodesAlternatively, to load the driver as a
4416d78bb8STom Rhodesmodule at boot time, place the following line in
4586e3186eSTom Rhodes.Xr loader.conf 5 :
4686e3186eSTom Rhodes.Bd -literal -offset indent
4786e3186eSTom Rhodesif_vlan_load="YES"
4886e3186eSTom Rhodes.Ed
4979458d0bSYaroslav Tykhiy.Sh DESCRIPTION
5079458d0bSYaroslav TykhiyThe
5179458d0bSYaroslav Tykhiy.Nm
5279458d0bSYaroslav Tykhiydriver demultiplexes frames tagged according to
5379458d0bSYaroslav Tykhiythe IEEE 802.1Q standard into logical
5479458d0bSYaroslav Tykhiy.Nm
5579458d0bSYaroslav Tykhiynetwork interfaces, which allows routing/bridging between
5679458d0bSYaroslav Tykhiymultiple VLANs through a single switch trunk port.
5779458d0bSYaroslav Tykhiy.Pp
580d35b35aSBrooks DavisEach
590d35b35aSBrooks Davis.Nm
600d35b35aSBrooks Davisinterface is created at runtime using interface cloning.
610d35b35aSBrooks DavisThis is
620d35b35aSBrooks Davismost easily done with the
630d35b35aSBrooks Davis.Xr ifconfig 8
640d35b35aSBrooks Davis.Cm create
650d35b35aSBrooks Daviscommand or using the
660d35b35aSBrooks Davis.Va cloned_interfaces
670d35b35aSBrooks Davisvariable in
680d35b35aSBrooks Davis.Xr rc.conf 5 .
690d35b35aSBrooks Davis.Pp
7079458d0bSYaroslav TykhiyTo function, a
7179458d0bSYaroslav Tykhiy.Nm
7279458d0bSYaroslav Tykhiyinterface must be assigned a parent interface and
7379458d0bSYaroslav Tykhiynumeric VLAN tag using
7479458d0bSYaroslav Tykhiy.Xr ifconfig 8 .
7579458d0bSYaroslav TykhiyA single parent can be assigned to multiple
7679458d0bSYaroslav Tykhiy.Nm
7779458d0bSYaroslav Tykhiyinterfaces provided they have different tags.
78c5f116aaSChristian BruefferThe parent interface is likely to be an Ethernet card connected
7979458d0bSYaroslav Tykhiyto a properly configured switch port.
8079458d0bSYaroslav TykhiyThe VLAN tag should match one of those set up in the switched
8179458d0bSYaroslav Tykhiynetwork.
82f6e5e0adSYaroslav Tykhiy.Pp
83f6e5e0adSYaroslav TykhiyInitially
84f6e5e0adSYaroslav Tykhiy.Nm
85f6e5e0adSYaroslav Tykhiyassumes the same minimum length for tagged and untagged frames.
86f6e5e0adSYaroslav TykhiyThis mode is selected by the
876572700eSYaroslav Tykhiy.Xr sysctl 8
88f6e5e0adSYaroslav Tykhiyvariable
89f6e5e0adSYaroslav Tykhiy.Va net.link.vlan.soft_pad
90f6e5e0adSYaroslav Tykhiyset to 0 (default).
91f6e5e0adSYaroslav TykhiyHowever, there are network devices that fail to adjust frame length,
92f6e5e0adSYaroslav Tykhiyshould it fall below the allowed minimum due to untagging.
93f6e5e0adSYaroslav TykhiySuch devices should be able to interoperate with
94f6e5e0adSYaroslav Tykhiy.Nm
95f6e5e0adSYaroslav Tykhiyafter changing the value of
96f6e5e0adSYaroslav Tykhiy.Va net.link.vlan.soft_pad
97f6e5e0adSYaroslav Tykhiyto 1.
98f6e5e0adSYaroslav TykhiyIn the latter mode,
99f6e5e0adSYaroslav Tykhiy.Nm
100f6e5e0adSYaroslav Tykhiywill pad short frames before tagging them
101f6e5e0adSYaroslav Tykhiyso that their length stays not less than the minimum value
102f6e5e0adSYaroslav Tykhiyafter untagging by the non-compliant devices.
103f41b145cSYaroslav Tykhiy.Sh HARDWARE
10479458d0bSYaroslav TykhiyThe
10579458d0bSYaroslav Tykhiy.Nm
106f41b145cSYaroslav Tykhiydriver supports efficient operation over parent interfaces that can provide
107f41b145cSYaroslav Tykhiyhelp in processing VLANs.
108f41b145cSYaroslav TykhiySuch interfaces are automatically recognized by their capabilities.
109f41b145cSYaroslav TykhiyDepending on the level of sophistication found in a physical
110f41b145cSYaroslav Tykhiyinterface, it may do full VLAN processing or just be able to
11168721affSYaroslav Tykhiyreceive and transmit long frames (up to 1522 bytes including an Ethernet
11268721affSYaroslav Tykhiyheader and FCS).
113f41b145cSYaroslav TykhiyThe capabilities may be user-controlled by the respective parameters to
114f41b145cSYaroslav Tykhiy.Xr ifconfig 8 ,
115f41b145cSYaroslav Tykhiy.Cm vlanhwtag
116f41b145cSYaroslav Tykhiyand
117f41b145cSYaroslav Tykhiy.Cm vlanmtu .
118f41b145cSYaroslav TykhiyHowever, a physical interface is not obliged to react to them:
119f41b145cSYaroslav TykhiyIt may have either capability enabled permanently without
120f41b145cSYaroslav Tykhiya way to turn it off.
121f41b145cSYaroslav TykhiyThe whole issue is very specific to a particular device and its driver.
122f41b145cSYaroslav Tykhiy.Pp
123f41b145cSYaroslav TykhiyBy now, the list of physical interfaces able of full VLAN processing
124f41b145cSYaroslav Tykhiyin the hardware is limited to the following devices:
125f7a029ebSStanislav Sedov.Xr ae 4 ,
1267a0bde84SPyun YongHyeon.Xr age 4 ,
127ae34b8fcSYaroslav Tykhiy.Xr bce 4 ,
1282ba5fff2SYaroslav Tykhiy.Xr bge 4 ,
129ae34b8fcSYaroslav Tykhiy.Xr cxgb 4 ,
130a5a8905cSYaroslav Tykhiy.Xr em 4 ,
131317bb722SYaroslav Tykhiy.Xr ixgb 4 ,
132629bf506SPyun YongHyeon.Xr jme 4 ,
1331f95590dSPyun YongHyeon.Xr msk 4 ,
13479458d0bSYaroslav Tykhiy.Xr nge 4 ,
135d57916b1SYaroslav Tykhiy.Xr re 4 ,
13697fe1b09SPyun YongHyeon.Xr stge 4 ,
13779458d0bSYaroslav Tykhiy.Xr ti 4 ,
138317bb722SYaroslav Tykhiy.Xr txp 4 ,
13979458d0bSYaroslav Tykhiyand
140317bb722SYaroslav Tykhiy.Xr vge 4 .
14179458d0bSYaroslav Tykhiy.Pp
142f41b145cSYaroslav TykhiyThe rest of the Ethernet interfaces can run
143dd4dc0a9SYaroslav TykhiyVLANs using software emulation in the
14479458d0bSYaroslav Tykhiy.Nm
14579458d0bSYaroslav Tykhiydriver.
146677f6a78SYaroslav TykhiyHowever, some of them lack the capability
14768721affSYaroslav Tykhiyof transmitting and receiving long frames.
148f41b145cSYaroslav TykhiyAssigning such an interface as the parent to
149f41b145cSYaroslav Tykhiy.Nm
150f41b145cSYaroslav Tykhiywill result in a reduced MTU on the corresponding
15179458d0bSYaroslav Tykhiy.Nm
15279458d0bSYaroslav Tykhiyinterfaces.
15379458d0bSYaroslav TykhiyIn the modern Internet, this is likely to cause
15479458d0bSYaroslav Tykhiy.Xr tcp 4
15579458d0bSYaroslav Tykhiyconnectivity problems due to massive, inadequate
15679458d0bSYaroslav Tykhiy.Xr icmp 4
15779458d0bSYaroslav Tykhiyfiltering that breaks the Path MTU Discovery mechanism.
15879458d0bSYaroslav Tykhiy.Pp
15966d204f8SYaroslav TykhiyThe following interfaces support long frames for
160d57916b1SYaroslav Tykhiy.Nm
16166d204f8SYaroslav Tykhiynatively:
16266d204f8SYaroslav Tykhiy.Xr bfe 4 ,
16366d204f8SYaroslav Tykhiy.Xr dc 4 ,
164ae34b8fcSYaroslav Tykhiy.Xr fwe 4 ,
16566d204f8SYaroslav Tykhiy.Xr fxp 4 ,
16666d204f8SYaroslav Tykhiy.Xr gem 4 ,
16766d204f8SYaroslav Tykhiy.Xr hme 4 ,
16866d204f8SYaroslav Tykhiy.Xr le 4 ,
169ae34b8fcSYaroslav Tykhiy.Xr nfe 4 ,
17043ff6aecSYaroslav Tykhiy.Xr nve 4 ,
17166d204f8SYaroslav Tykhiy.Xr rl 4 ,
1728454ccedSPyun YongHyeon.Xr sf 4 ,
17366d204f8SYaroslav Tykhiy.Xr sis 4 ,
17466d204f8SYaroslav Tykhiy.Xr sk 4 ,
17566d204f8SYaroslav Tykhiy.Xr ste 4 ,
176ac95c078SYaroslav Tykhiy.Xr tl 4 ,
17766d204f8SYaroslav Tykhiy.Xr tx 4 ,
17866d204f8SYaroslav Tykhiy.Xr vr 4 ,
17966d204f8SYaroslav Tykhiyand
18066d204f8SYaroslav Tykhiy.Xr xl 4 .
18172ddf849SRuslan Ermilov.Pp
182a5eb8d53SSam LefflerThe
18379458d0bSYaroslav Tykhiy.Nm
18468721affSYaroslav Tykhiydriver automatically recognizes devices that natively support long frames
185a5eb8d53SSam Lefflerfor
18679458d0bSYaroslav Tykhiy.Nm
187a5eb8d53SSam Leffleruse and calculates the appropriate frame MTU based on the
188a5eb8d53SSam Lefflercapabilities of the parent interface.
18968721affSYaroslav TykhiySome other interfaces not listed above may handle long frames,
190f41b145cSYaroslav Tykhiybut they do not advertise this ability of theirs.
191f41b145cSYaroslav TykhiyThe MTU setting on
192f41b145cSYaroslav Tykhiy.Nm
19366d204f8SYaroslav Tykhiycan be corrected manually if used in conjunction with such a parent interface.
19419e1bfc7SYaroslav Tykhiy.Sh SEE ALSO
19519e1bfc7SYaroslav Tykhiy.Xr kqueue 2 ,
19619e1bfc7SYaroslav Tykhiy.Xr miibus 4 ,
197f6e5e0adSYaroslav Tykhiy.Xr ifconfig 8 ,
198f6e5e0adSYaroslav Tykhiy.Xr sysctl 8
19979458d0bSYaroslav Tykhiy.Sh BUGS
20079458d0bSYaroslav TykhiyNo 802.1Q features except VLAN tagging are implemented.
201cb7d015eSYaroslav Tykhiy.Pp
202cb7d015eSYaroslav Tykhiy.Dv EVFILT_NETDEV
203cb7d015eSYaroslav Tykhiyevents on a
204cb7d015eSYaroslav Tykhiy.Nm
205cb7d015eSYaroslav Tykhiyinterface will be sent through
206cb7d015eSYaroslav Tykhiy.Xr kqueue 2
207cb7d015eSYaroslav Tykhiyonly if the parent interface uses
208cb7d015eSYaroslav Tykhiy.Xr miibus 4
209cb7d015eSYaroslav Tykhiyfor link state notification.
210