summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/vtnet.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/vtnet.4 3.html')
-rw-r--r--static/freebsd/man4/vtnet.4 3.html305
1 files changed, 305 insertions, 0 deletions
diff --git a/static/freebsd/man4/vtnet.4 3.html b/static/freebsd/man4/vtnet.4 3.html
new file mode 100644
index 00000000..a77e5aab
--- /dev/null
+++ b/static/freebsd/man4/vtnet.4 3.html
@@ -0,0 +1,305 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">VTNET(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">VTNET(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">vtnet</code> &#x2014; <span class="Nd">VirtIO
+ Ethernet driver</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 lines
+ in your kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device vtnet</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_vtnet_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">vtnet</code> device driver provides support
+ for VirtIO Ethernet devices.</p>
+<p class="Pp">If the hypervisor advertises the appropriate features, the
+ <code class="Nm">vtnet</code> driver supports TCP/UDP checksum offload for
+ both transmit and receive, TCP segmentation offload (TSO), TCP large receive
+ offload (LRO), hardware VLAN tag stripping/insertion features, a multicast
+ hash filter, as well as Jumbo Frames (up to 9216 bytes), which can be
+ configured via the interface MTU setting.</p>
+<p class="Pp">Two flavors of TCP LRO are supported: Hardware TCP LRO, which is
+ performed by the host providing TCP segments larger than the MTU to the
+ guest, and Software TCP LRO, which is performed by the network stack of the
+ guest processing TCP segments in an optimized way. Only one flavour of TCP
+ LRO should be used. Since hardware TCP LRO can have bad interactions with IP
+ forwarding and software TCP LRO mitigates several drawbacks of hardware TCP
+ LRO, the default setting is to disable hardware TCP LRO. See the loader
+ tunable
+ <var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.lro_disable</var>.</p>
+<p class="Pp">TCP/UDP receive checksum offload cannot be configured
+ independently for IPv4 and IPv6. Selecting an MTU larger than 1500 bytes
+ with the <a class="Xr">ifconfig(8)</a> utility configures the adapter to
+ receive and transmit Jumbo Frames.</p>
+<p class="Pp">For more information on configuring this device, see
+ <a class="Xr">ifconfig(8)</a>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="LOADER_TUNABLES"><a class="permalink" href="#LOADER_TUNABLES">LOADER
+ TUNABLES</a></h1>
+<p class="Pp">Tunables can be set at the <a class="Xr">loader(8)</a> prompt
+ before booting the kernel or stored in <a class="Xr">loader.conf(5)</a>.</p>
+<dl class="Bl-tag">
+ <dt id="hw.vtnet.csum_disable"><var class="Va">hw.vtnet.csum_disable</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet."><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.csum_disable</var></dt>
+ <dd>This tunable disables receive and transmit checksum offloading for TCP and
+ UDP. This also implies that TCP segmentation offloading and large receive
+ offload are disabled. The default value is 0.</dd>
+ <dt id="hw.vtnet.fixup_needs_csum"><var class="Va">hw.vtnet.fixup_needs_csum</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~2"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.fixup_needs_csum</var></dt>
+ <dd>This tunable enforces the calculation of a valid TCP or UDP checksum for
+ packets received with <code class="Dv">VIRTIO_NET_HDR_F_NEEDS_CSUM</code>
+ being set in the <var class="Va">flags</var> field of the structure
+ <var class="Vt">struct virtio_net_hdr</var>. It also marks the checksum as
+ being correct in the mbuf packet header. The default value is 0. This
+ tunable is deprecated and will be removed in <span class="Ux">FreeBSD
+ 16</span>.</dd>
+ <dt id="hw.vtnet.tso_disable"><var class="Va">hw.vtnet.tso_disable</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~3"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.tso_disable</var></dt>
+ <dd>This tunable disables TCP segmentation offloading. The default value is
+ 0.</dd>
+ <dt id="hw.vtnet.lro_disable"><var class="Va">hw.vtnet.lro_disable</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~4"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.lro_disable</var></dt>
+ <dd>This tunable disables hardware TCP LRO. The default value is 1.</dd>
+ <dt id="hw.vtnet.mq_disable"><var class="Va">hw.vtnet.mq_disable</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~5"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.mq_disable</var></dt>
+ <dd>This tunable disables multiqueue. The default value is 0.</dd>
+ <dt id="hw.vtnet.mq_max_pairs"><var class="Va">hw.vtnet.mq_max_pairs</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~6"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.mq_max_pairs</var></dt>
+ <dd>This tunable sets the maximum number of transmit and receive queue pairs.
+ Multiple queues are only supported when the Multiqueue feature is
+ negotiated. This driver supports a maximum of 8 queue pairs. The number of
+ queue pairs used is the lesser of the maximum supported by the driver and
+ the hypervisor, the number of CPUs present in the guest, and this tunable
+ if not zero. The default value is 0.</dd>
+ <dt id="hw.vtnet.tso_maxlen"><var class="Va">hw.vtnet.tso_maxlen</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~7"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.tso_maxlen</var></dt>
+ <dd>This tunable sets the TSO burst limit. The default value is 65535.</dd>
+ <dt id="hw.vtnet.rx_process_limit"><var class="Va">hw.vtnet.rx_process_limit</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~8"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_process_limit</var></dt>
+ <dd>This tunable sets the number of RX segments processed in one pass. The
+ default value is 1024.</dd>
+ <dt id="hw.vtnet.lro_entry_count"><var class="Va">hw.vtnet.lro_entry_count</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~9"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.lro_entry_count</var></dt>
+ <dd>This tunable sets the software TCP LRO entry count. The default value is
+ 128, the minimum value is 8.</dd>
+ <dt id="hw.vtnet.lro_mbufq_depth"><var class="Va">hw.vtnet.lro_mbufq_depth</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="hw.vtnet.~10"><var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.lro_mbufq_depth</var></dt>
+ <dd>This tunable sets the depth of the software TCP LRO mbuf queue. The
+ default value is 0.</dd>
+ <dt id="hw.vtnet.altq_disable"><var class="Va">hw.vtnet.altq_disable</var></dt>
+ <dd>This tunable disables ALTQ support, allowing the use of multiqueue
+ instead. This option applies to all interfaces. The default value is
+ 0.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="TRANSMIT_QUEUE_STATISTICS"><a class="permalink" href="#TRANSMIT_QUEUE_STATISTICS">TRANSMIT
+ QUEUE STATISTICS</a></h1>
+<p class="Pp">For each transmit queue of each interface the following read-only
+ statistics are provided:</p>
+<dl class="Bl-tag">
+ <dt id="dev.vtnet."><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.rescheduled</var></dt>
+ <dd>The number of times the transmit interrupt handler was rescheduled.</dd>
+ <dt id="dev.vtnet.~2"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.tso</var></dt>
+ <dd>The number of times TCP segment offloading was performed.</dd>
+ <dt id="dev.vtnet.~3"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.csum</var></dt>
+ <dd>The number of times transmit checksum offloading for UDP or TCP was
+ performed.</dd>
+ <dt id="dev.vtnet.~4"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.omcasts</var></dt>
+ <dd>The number of multicast packets that were transmitted.</dd>
+ <dt id="dev.vtnet.~5"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.obytes</var></dt>
+ <dd>The number of bytes that were transmitted (based on Ethernet frames).</dd>
+ <dt id="dev.vtnet.~6"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.opackets</var></dt>
+ <dd>The number of packets that were transmitted (Ethernet frames).</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="RECEIVE_QUEUE_STATISTICS"><a class="permalink" href="#RECEIVE_QUEUE_STATISTICS">RECEIVE
+ QUEUE STATISTICS</a></h1>
+<p class="Pp">For each receive queue of each interface the following read-only
+ statistics are provided:</p>
+<dl class="Bl-tag">
+ <dt id="dev.vtnet.~7"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.rescheduled</var></dt>
+ <dd>The number of times the receive interrupt handler was rescheduled.</dd>
+ <dt id="dev.vtnet.~8"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.host_lro</var></dt>
+ <dd>The number of times TCP large receive offload was performed.</dd>
+ <dt id="dev.vtnet.~9"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.csum_failed</var></dt>
+ <dd>The number of times a packet with a request for receive or transmit
+ checksum offloading was received and this request failed. The different
+ reasons for the failure are counted by
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_inaccessible_ipproto</var>,
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_ipproto</var>,
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_ethtype</var>,
+ and
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_offset</var>.</dd>
+ <dt id="dev.vtnet.~10"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.csum</var></dt>
+ <dd>The number of times receive checksum offloading for UDP or TCP was
+ performed.</dd>
+ <dt id="dev.vtnet.~11"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.ierrors</var></dt>
+ <dd>The number of times an error occurred during input processing.</dd>
+ <dt id="dev.vtnet.~12"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.iqdrops</var></dt>
+ <dd>The number of times a packet was dropped during input processing.</dd>
+ <dt id="dev.vtnet.~13"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.ibytes</var></dt>
+ <dd>The number of bytes that were received (based on Ethernet frames).</dd>
+ <dt id="dev.vtnet.~14"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.ipackets</var></dt>
+ <dd>The number of packets that were received (Ethernet frames).</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="INTERFACE_TRANSMIT_STATISTICS"><a class="permalink" href="#INTERFACE_TRANSMIT_STATISTICS">INTERFACE
+ TRANSMIT STATISTICS</a></h1>
+<p class="Pp">For each interface the following read-only transmit statistics are
+ provided:</p>
+<dl class="Bl-tag">
+ <dt id="dev.vtnet.~15"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_task_rescheduled</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.rescheduled</var>
+ over all transmit queues of the interface.</dd>
+ <dt id="dev.vtnet.~16"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_tso_offloaded</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.tso</var>
+ over all transmit queues of the interface.</dd>
+ <dt id="dev.vtnet.~17"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_csum_offloaded</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.txq</var><var class="Ar">Y</var><var class="Va">.csum</var>
+ over all transmit queues of the interface.</dd>
+ <dt id="dev.vtnet.~18"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_defrag_failed</var></dt>
+ <dd>The number of times an attempt to defragment an mbuf chain failed during a
+ transmit operation.</dd>
+ <dt id="dev.vtnet.~19"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_defragged</var></dt>
+ <dd>The number of times an mbuf chain was defragmented during a transmit
+ operation.</dd>
+ <dt id="dev.vtnet.~20"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_tso_without_csum</var></dt>
+ <dd>The number of times TCP segment offloading was attempted without transmit
+ checksum offloading.</dd>
+ <dt id="dev.vtnet.~21"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_tso_not_tcp</var></dt>
+ <dd>The number of times TCP segment offloading was attempted for a non-TCP
+ packet.</dd>
+ <dt id="dev.vtnet.~22"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_csum_proto_mismatch</var></dt>
+ <dd>The number of times the IP protocol version of the transmit checksum
+ offloading request did not match the IP protocol version of the
+ packet.</dd>
+ <dt id="dev.vtnet.~23"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.tx_csum_unknown_ethtype</var></dt>
+ <dd>The number of times a transmit offload operation was requested for an
+ ethernet frame for which the EtherType was neither IPv4 nor IPv6
+ (considering simple VLAN tagging).</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="INTERFACE_RECEIVE_STATISTICS"><a class="permalink" href="#INTERFACE_RECEIVE_STATISTICS">INTERFACE
+ RECEIVE STATISTICS</a></h1>
+<p class="Pp">For each interface the following read-only receive statistics are
+ provided:</p>
+<dl class="Bl-tag">
+ <dt id="dev.vtnet.~24"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_task_rescheduled</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.rescheduled</var>
+ over all receive queues of the interface.</dd>
+ <dt id="dev.vtnet.~25"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_offloaded</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.csum</var>
+ over all receive queues of the interface.</dd>
+ <dt id="dev.vtnet.~26"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_failed</var></dt>
+ <dd>The sum of
+ <var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rxq</var><var class="Ar">Y</var><var class="Va">.csum_failed</var>
+ over all receive queues of the interface.</dd>
+ <dt id="dev.vtnet.~27"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_inaccessible_ipproto</var></dt>
+ <dd>The number of times a packet with a request for receive or transmit
+ checksum offloading was received where the IP protocol was not
+ accessible.</dd>
+ <dt id="dev.vtnet.~28"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_offset</var></dt>
+ <dd>The number of times fixing the checksum required by
+ <var class="Va">hw.vtnet.fixup_needs_csum</var> or
+ <var class="Va">hw.vtnet.</var><var class="Ar">X</var><var class="Va">.fixup_needs_csum</var>
+ was attempted for a packet where the csum is not located in the first
+ mbuf.</dd>
+ <dt id="dev.vtnet.~29"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_ipproto</var></dt>
+ <dd>The number of times a packet with a request for receive or transmit
+ checksum offloading was received where the IP protocol was neither TCP nor
+ UDP.</dd>
+ <dt id="dev.vtnet.~30"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_csum_bad_ethtype</var></dt>
+ <dd>The number of times a packet with a request for receive or transmit
+ checksum offloading was received where the EtherType was neither IPv4 nor
+ IPv6.</dd>
+ <dt id="dev.vtnet.~31"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_mergeable_failed</var></dt>
+ <dd>The number of times receiving a mergable buffer failed.</dd>
+ <dt id="dev.vtnet.~32"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_enq_replacement_failed</var></dt>
+ <dd>The number of times the enqueuing the replacement receive mbuf chain
+ failed.</dd>
+ <dt id="dev.vtnet.~33"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.rx_frame_too_large</var></dt>
+ <dd>The number of times the frame was loger than the mbuf chain during large
+ receive offload without mergeable buffers.</dd>
+ <dt id="dev.vtnet.~34"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.mbuf_alloc_failed</var></dt>
+ <dd>The number of times an mbuf cluster allocation for the receive buffer
+ failed.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="INTERFACE_CONFIGURATION_PARAMETER"><a class="permalink" href="#INTERFACE_CONFIGURATION_PARAMETER">INTERFACE
+ CONFIGURATION PARAMETER</a></h1>
+<p class="Pp">For each interface the following read-only configuration
+ parameters are provided:</p>
+<dl class="Bl-tag">
+ <dt id="dev.vtnet.~35"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.act_vq_pairs</var></dt>
+ <dd>The number of active virtqueue pairs.</dd>
+ <dt id="dev.vtnet.~36"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.req_vq_pairs</var></dt>
+ <dd>The number of requested virtqueue pairs.</dd>
+ <dt id="dev.vtnet.~37"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.max_vq_pairs</var></dt>
+ <dd>The maximum number of supported virtqueue pairs.</dd>
+ <dt id="dev.vtnet.~38"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.flags</var></dt>
+ <dd>The flags of the interface. Mostly for debugging purposes.</dd>
+ <dt id="dev.vtnet.~39"><var class="Va">dev.vtnet.</var><var class="Ar">X</var><var class="Va">.features</var></dt>
+ <dd>The features of the interface as defined by the virtio specification.</dd>
+</dl>
+</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">arp(4)</a>, <a class="Xr">netintro(4)</a>,
+ <a class="Xr">ng_ether(4)</a>, <a class="Xr">virtio(4)</a>,
+ <a class="Xr">vlan(4)</a>, <a class="Xr">ifconfig(8)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">vtnet</code> driver was written by
+ <span class="An">Bryan Venteicher</span>
+ &lt;<a class="Mt" href="mailto:bryanv@FreeBSD.org">bryanv@FreeBSD.org</a>&gt;.
+ It first appeared in <span class="Ux">FreeBSD 9.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
+<p class="Pp">The <code class="Nm">vtnet</code> driver only supports LRO when
+ the hypervisor advertises the mergeable buffer feature.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">December 19, 2025</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>