Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F144245661
D52684.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D52684.diff
View Options
diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4
--- a/share/man/man4/vtnet.4
+++ b/share/man/man4/vtnet.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 26, 2025
+.Dd September 30, 2025
.Dt VTNET 4
.Os
.Sh NAME
@@ -54,6 +54,18 @@
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.
+.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
+.Va hw.vtnet. Ns Ar X Ns Va .lro_disable .
+.Pp
TCP/UDP receive checksum offload cannot be configured independently for IPv4
and IPv6.
Selecting an MTU larger than 1500 bytes with the
@@ -94,8 +106,8 @@
The default value is 0.
.It Va hw.vtnet.lro_disable
.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable
-This tunable disables large receive offload.
-The default value is 0.
+This tunable disables hardware TCP LRO.
+The default value is 1.
.It Va hw.vtnet.mq_disable
.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable
This tunable disables multiqueue.
@@ -119,11 +131,11 @@
The default value is 1024.
.It Va hw.vtnet.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.
.It Va hw.vtnet.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.
.It Va hw.vtnet.altq_disable
This tunable disables ALTQ support, allowing the use of multiqueue instead.
diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c
--- a/sys/dev/virtio/network/if_vtnet.c
+++ b/sys/dev/virtio/network/if_vtnet.c
@@ -281,7 +281,7 @@
SYSCTL_INT(_hw_vtnet, OID_AUTO, tso_disable, CTLFLAG_RDTUN,
&vtnet_tso_disable, 0, "Disables TSO");
-static int vtnet_lro_disable = 0;
+static int vtnet_lro_disable = 1;
SYSCTL_INT(_hw_vtnet, OID_AUTO, lro_disable, CTLFLAG_RDTUN,
&vtnet_lro_disable, 0, "Disables hardware LRO");
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Feb 8, 1:34 AM (18 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28462335
Default Alt Text
D52684.diff (2 KB)
Attached To
Mode
D52684: vtnet: disable hardware TCP LRO by default
Attached
Detach File
Event Timeline
Log In to Comment