summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/vlan.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/vlan.4 3.html')
-rw-r--r--static/freebsd/man4/vlan.4 3.html117
1 files changed, 117 insertions, 0 deletions
diff --git a/static/freebsd/man4/vlan.4 3.html b/static/freebsd/man4/vlan.4 3.html
new file mode 100644
index 00000000..21d529ed
--- /dev/null
+++ b/static/freebsd/man4/vlan.4 3.html
@@ -0,0 +1,117 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">VLAN(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">VLAN(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">vlan</code> &#x2014; <span class="Nd">IEEE 802.1Q
+ VLAN network interface</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To compile this driver into the kernel, place the following line
+ in your kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device vlan</code></div>
+<p class="Pp">Alternatively, to load the driver as a module at boot time, place
+ the following line in <a class="Xr">loader.conf(5)</a>:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>if_vlan_load=&quot;YES&quot;</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">vlan</code> driver demultiplexes frames
+ tagged according to the IEEE 802.1Q standard into logical
+ <code class="Nm">vlan</code> network interfaces, which allows
+ routing/bridging between multiple VLANs through a single switch trunk
+ port.</p>
+<p class="Pp">Each <code class="Nm">vlan</code> interface is created at runtime
+ using interface cloning. This is most easily done with the
+ <a class="Xr">ifconfig(8)</a> <code class="Cm">create</code> command or
+ using the <var class="Va">cloned_interfaces</var> variable in
+ <a class="Xr">rc.conf(5)</a>.</p>
+<p class="Pp">To function, a <code class="Nm">vlan</code> interface must be
+ assigned a parent interface and numeric VLAN tag using
+ <a class="Xr">ifconfig(8)</a>. A single parent can be assigned to multiple
+ <code class="Nm">vlan</code> 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.</p>
+<p class="Pp"><code class="Nm">vlan</code> initially assumes the same minimum
+ length for tagged and untagged frames. This mode is selected by setting the
+ <a class="Xr">sysctl(8)</a> variable
+ <var class="Va">net.link.vlan.soft_pad</var> to 0 (default). However, there
+ are network devices that fail to adjust frame length when it falls below the
+ allowed minimum due to untagging. Such devices should be able to
+ interoperate with <code class="Nm">vlan</code> after changing the value of
+ <var class="Va">net.link.vlan.soft_pad</var> to 1. In the latter mode,
+ <code class="Nm">vlan</code> will pad short frames before tagging them so
+ that their length is not less than the minimum value after untagging by the
+ non-compliant devices.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
+<p class="Pp">The <code class="Nm">vlan</code> 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 long
+ frames (up to 1522 bytes including an Ethernet header and FCS). The
+ capabilities may be user-controlled by the respective parameters to
+ <a class="Xr">ifconfig(8)</a>, <code class="Cm">vlanhwtag</code>, and
+ <code class="Cm">vlanmtu</code>. 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.</p>
+<p class="Pp">At present, these devices are capable of full VLAN processing in
+ hardware: <a class="Xr">ae(4)</a>, <a class="Xr">age(4)</a>,
+ <a class="Xr">alc(4)</a>, <a class="Xr">ale(4)</a>,
+ <a class="Xr">bce(4)</a>, <a class="Xr">bge(4)</a>,
+ <a class="Xr">bxe(4)</a>, <a class="Xr">cxgb(4)</a>,
+ <a class="Xr">cxgbe(4)</a>, <a class="Xr">em(4)</a>,
+ <a class="Xr">igb(4)</a>, <a class="Xr">ix(4)</a>, <a class="Xr">jme(4)</a>,
+ <a class="Xr">liquidio(4)</a>, <a class="Xr">msk(4)</a>,
+ <a class="Xr">mxge(4)</a>, <a class="Xr">nge(4)</a>,
+ <a class="Xr">re(4)</a>, <a class="Xr">sge(4)</a>,
+ <a class="Xr">stge(4)</a>, <a class="Xr">ti(4)</a>, and
+ <a class="Xr">vge(4)</a>.</p>
+<p class="Pp">Other Ethernet interfaces can run VLANs using software emulation
+ in the <code class="Nm">vlan</code> driver. However, some lack the
+ capability of transmitting and receiving long frames. Assigning such an
+ interface as the parent to <code class="Nm">vlan</code> will result in a
+ reduced MTU on the corresponding <code class="Nm">vlan</code> interfaces. In
+ the modern Internet, this is likely to cause <a class="Xr">tcp(4)</a>
+ connectivity problems due to massive, inadequate <a class="Xr">icmp(4)</a>
+ filtering that breaks the Path MTU Discovery mechanism.</p>
+<p class="Pp">These interfaces natively support long frames for
+ <code class="Nm">vlan</code>: <a class="Xr">axe(4)</a>,
+ <a class="Xr">bfe(4)</a>, <a class="Xr">cas(4)</a>, <a class="Xr">dc(4)</a>,
+ <a class="Xr">et(4)</a>, <a class="Xr">fwe(4)</a>, <a class="Xr">fxp(4)</a>,
+ <a class="Xr">gem(4)</a>, <a class="Xr">le(4)</a>, <a class="Xr">nfe(4)</a>,
+ <a class="Xr">rl(4)</a>, <a class="Xr">sis(4)</a>, <a class="Xr">sk(4)</a>,
+ <a class="Xr">ste(4)</a>, <a class="Xr">vr(4)</a>, <a class="Xr">vte(4)</a>,
+ and <a class="Xr">xl(4)</a>.</p>
+<p class="Pp">The <code class="Nm">vlan</code> driver automatically recognizes
+ devices that natively support long frames for <code class="Nm">vlan</code>
+ use and calculates the appropriate frame MTU based on the capabilities of
+ the parent interface. Some other interfaces not listed above may handle long
+ frames, but they do not advertise this ability. The MTU setting on
+ <code class="Nm">vlan</code> can be corrected manually if used in
+ conjunction with such a parent interface.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">ifconfig(8)</a>, <a class="Xr">sysctl(8)</a></p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">December 26, 2020</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>