NAME
vlan
—
IEEE 802.1Q VLAN network
interface
SYNOPSIS
pseudo-device vlan
[count]
DESCRIPTION
Thevlan
driver demultiplexes frames tagged according to
the IEEE 802.1Q standard into logical vlan
network
interfaces, which allows routing/bridging between multiple VLANs through a
single switch trunk port.
Each vlan
interface is created at runtime
using interface cloning. This is most easily done with the
ifconfig(8) create
command or using
the cloned_interfaces variable in
rc.conf(5).
To function, a vlan
interface must be
assigned a parent interface and numeric VLAN tag using
ifconfig(8). A single parent can be assigned to multiple
vlan
interfaces provided they have different tags.
The parent interface is likely to be an ethernet card connected to a
properly configured switch port. The VLAN tag should match one of those set
up in the switched network.
The vlan
driver supports efficient
operation over parent interfaces that can provide help in processing VLANs.
Such interfaces are automatically recognized by their capabilities.
Depending on the level of sophistication found in a physical interface, it
may do full VLAN processing or just be able to receive and transmit frames
exceeding the maximum Ethernet frame size by the length of a 802.1Q header.
The capabilities may be user-controlled by the respective parameters to
ifconfig(8), vlanhwtag
and
vlanmtu
. However, a physical interface is not
obliged to react to them: It may have either capability enabled permanently
without a way to turn it off. The whole issue is very specific to a
particular device and its driver.
Selecting the Right Network Interface Card to Run VLANs Through
By now, the only NICs that have both hardware support and proper driver hooks for the 802.1Q VLAN technology in DragonFly are bce(4), bge(4), em(4), jme(4), nfe(4), nge(4), re(4), stge(4), ti(4), txp(4), and vge(4).
The rest of the ethernet NICs supported by
DragonFly can run VLANs using software emulation in
the vlan
driver. However, most of them lack the
capability of transmitting and/or receiving oversized frames. Using such a
NIC as a parent interface implies a reduced MTU on the corresponding
vlan
interfaces. In the modern Internet, this is
likely to cause tcp(4) connectivity problems due to massive, inadequate
icmp(4) filtering that breaks the Path MTU Discovery mechanism.
The NICs that support oversized frames are as follows:
- dc(4)
- supports long frames for
vlan
natively. - de(4)
- requires defining
BIG_PACKET
in the /sys/dev/netif/de/if_de.c source file and rebuilding the kernel. The hack works only for the 21041, 21140, and 21140A chips. - et(4)
- supports long frames for
vlan
natively. - fxp(4)
- supports long frames for
vlan
natively. - sis(4)
- supports long frames for
vlan
natively. - ste(4)
- supports long frames for
vlan
natively. - tl(4)
- has support for long frames.
- tx(4)
- supports long frames for
vlan
natively. - xl(4)
- supports long frames only if the card is built on a newer chip (Cyclone and above).
Note: Unless marked as having native support for
vlan
, the above drivers don't inform the
vlan
driver about their long frame handling
capability. Just increase the MTU of a vlan
interface if it appears to be lower than 1500 bytes after attaching to a
parent known to support long frames.
SEE ALSO
BUGS
No 802.1Q features except VLAN tagging are implemented.