Changeset View
Changeset View
Standalone View
Standalone View
share/man/man4/vtnet.4
| Show All 16 Lines | |||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | .\" SUCH DAMAGE. | ||||
| .\" | .\" | ||||
| .Dd September 26, 2025 | .Dd September 30, 2025 | ||||
| .Dt VTNET 4 | .Dt VTNET 4 | ||||
| .Os | .Os | ||||
| .Sh NAME | .Sh NAME | ||||
| .Nm vtnet | .Nm vtnet | ||||
| .Nd VirtIO Ethernet driver | .Nd VirtIO Ethernet driver | ||||
| .Sh SYNOPSIS | .Sh SYNOPSIS | ||||
| To compile this driver into the kernel, | To compile this driver into the kernel, | ||||
| place the following lines in your | place the following lines in your | ||||
| Show All 15 Lines | |||||
| .Pp | .Pp | ||||
| If the hypervisor advertises the appropriate features, the | If the hypervisor advertises the appropriate features, the | ||||
| .Nm | .Nm | ||||
| driver supports TCP/UDP checksum offload for both transmit and receive, | driver supports TCP/UDP checksum offload for both transmit and receive, | ||||
| TCP segmentation offload (TSO), TCP large receive offload (LRO), | TCP segmentation offload (TSO), TCP large receive offload (LRO), | ||||
| hardware VLAN tag stripping/insertion features, a multicast hash filter, | hardware VLAN tag stripping/insertion features, a multicast hash filter, | ||||
| as well as Jumbo Frames (up to 9216 bytes), which can be | as well as Jumbo Frames (up to 9216 bytes), which can be | ||||
| configured via the interface MTU setting. | configured via the interface MTU setting. | ||||
| .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. | |||||
timo.voelker_fh-muenster.de: The user does not have the option to use both, right? I would replace the should with a can. | |||||
| 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 | |||||
| .Va hw.vtnet. Ns Ar X Ns Va .lro_disable . | |||||
| .Pp | |||||
| TCP/UDP receive checksum offload cannot be configured independently for IPv4 | TCP/UDP receive checksum offload cannot be configured independently for IPv4 | ||||
| and IPv6. | and IPv6. | ||||
| Selecting an MTU larger than 1500 bytes with the | Selecting an MTU larger than 1500 bytes with the | ||||
| .Xr ifconfig 8 | .Xr ifconfig 8 | ||||
| utility configures the adapter to receive and transmit Jumbo Frames. | utility configures the adapter to receive and transmit Jumbo Frames. | ||||
| .Pp | .Pp | ||||
| For more information on configuring this device, see | For more information on configuring this device, see | ||||
| .Xr ifconfig 8 . | .Xr ifconfig 8 . | ||||
| Show All 24 Lines | |||||
| This tunable is deprecated and will be removed in | This tunable is deprecated and will be removed in | ||||
| .Fx 16 . | .Fx 16 . | ||||
| .It Va hw.vtnet.tso_disable | .It Va hw.vtnet.tso_disable | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .tso_disable | .It Va hw.vtnet. Ns Ar X Ns Va .tso_disable | ||||
| This tunable disables TCP segmentation offloading. | This tunable disables TCP segmentation offloading. | ||||
| The default value is 0. | The default value is 0. | ||||
| .It Va hw.vtnet.lro_disable | .It Va hw.vtnet.lro_disable | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .lro_disable | .It Va hw.vtnet. Ns Ar X Ns Va .lro_disable | ||||
| This tunable disables large receive offload. | This tunable disables hardware TCP LRO. | ||||
| The default value is 0. | The default value is 1. | ||||
| .It Va hw.vtnet.mq_disable | .It Va hw.vtnet.mq_disable | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .mq_disable | .It Va hw.vtnet. Ns Ar X Ns Va .mq_disable | ||||
| This tunable disables multiqueue. | This tunable disables multiqueue. | ||||
| The default value is 0. | The default value is 0. | ||||
| .It Va hw.vtnet.mq_max_pairs | .It Va hw.vtnet.mq_max_pairs | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs | .It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs | ||||
| This tunable sets the maximum number of transmit and receive queue pairs. | This tunable sets the maximum number of transmit and receive queue pairs. | ||||
| Multiple queues are only supported when the Multiqueue feature is negotiated. | Multiple queues are only supported when the Multiqueue feature is negotiated. | ||||
| This driver supports a maximum of 8 queue pairs. | This driver supports a maximum of 8 queue pairs. | ||||
| The number of queue pairs used is the lesser of the maximum supported by the | 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 | driver and the hypervisor, the number of CPUs present in the guest, and this | ||||
| tunable if not zero. | tunable if not zero. | ||||
| The default value is 0. | The default value is 0. | ||||
| .It Va hw.vtnet.tso_maxlen | .It Va hw.vtnet.tso_maxlen | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .tso_maxlen | .It Va hw.vtnet. Ns Ar X Ns Va .tso_maxlen | ||||
| This tunable sets the TSO burst limit. | This tunable sets the TSO burst limit. | ||||
| The default value is 65535. | The default value is 65535. | ||||
| .It Va hw.vtnet.rx_process_limit | .It Va hw.vtnet.rx_process_limit | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .rx_process_limit | .It Va hw.vtnet. Ns Ar X Ns Va .rx_process_limit | ||||
| This tunable sets the number of RX segments processed in one pass. | This tunable sets the number of RX segments processed in one pass. | ||||
| The default value is 1024. | The default value is 1024. | ||||
| .It Va hw.vtnet.lro_entry_count | .It Va hw.vtnet.lro_entry_count | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .lro_entry_count | .It Va hw.vtnet. Ns Ar X Ns Va .lro_entry_count | ||||
| This tunable sets the software LRO entry count. | This tunable sets the software TCP LRO entry count. | ||||
| The default value is 128, the minimum value is 8. | The default value is 128, the minimum value is 8. | ||||
| .It Va hw.vtnet.lro_mbufq_depth | .It Va hw.vtnet.lro_mbufq_depth | ||||
| .It Va hw.vtnet. Ns Ar X Ns Va .lro_mbufq_depth | .It Va hw.vtnet. Ns Ar X Ns Va .lro_mbufq_depth | ||||
| This tunable sets the depth of the software LRO mbuf queue. | This tunable sets the depth of the software TCP LRO mbuf queue. | ||||
| The default value is 0. | The default value is 0. | ||||
| .It Va hw.vtnet.altq_disable | .It Va hw.vtnet.altq_disable | ||||
| This tunable disables ALTQ support, allowing the use of multiqueue instead. | This tunable disables ALTQ support, allowing the use of multiqueue instead. | ||||
| This option applies to all interfaces. | This option applies to all interfaces. | ||||
| The default value is 0. | The default value is 0. | ||||
| .El | .El | ||||
| .Sh TRANSMIT QUEUE STATISTICS | .Sh TRANSMIT QUEUE STATISTICS | ||||
| For each transmit queue of each interface the following read-only statistics | For each transmit queue of each interface the following read-only statistics | ||||
| ▲ Show 20 Lines • Show All 147 Lines • Show Last 20 Lines | |||||
The user does not have the option to use both, right? I would replace the should with a can.