diff options
Diffstat (limited to 'static/freebsd/man4/vlan.4 3.html')
| -rw-r--r-- | static/freebsd/man4/vlan.4 3.html | 117 |
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> — <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="YES"</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> |
