Date: Sat, 17 Aug 2024 22:19:42 +0000 From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 252015] Enabling LRO on network interfaces by default considered harmful Message-ID: <bug-252015-7501-7umSRJiOzb@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-252015-7501@https.bugs.freebsd.org/bugzilla/> References: <bug-252015-7501@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252015 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jeffpc@josefsipek.net --- Comment #4 from Josef 'Jeff' Sipek <jeffpc@josefsipek.net> --- I've also had LRO issues recently and it sounds like it's the same problem = as what this ticket describes. Disabling LRO seems to fix the performance problem. Sometimes jails on my server get really poor TCP performance - on the order= of 10kB/s. Looking at tcpdump output, it looks like occasionally the jail receives a packet that's bigger than the MTU (e.g., 2896 which is > 1500) w= hich causes the jail to ignore the packet. Then the first ~MTU-worth of data ge= ts retransmitted, the jail ACKs it, and things are ok for a little while before the next >MTU packet arrives. This is what it *looks like* in tcpdump output. I don't know what's actuall= y on the wire, but I suspect that the physical packets are correctly sized becau= se when I disable LRO (which was on by default), the packets never seem to exc= eed the MTU and I get near line-speed TCP performance. I have seen this on a server with a number of vnet jails. Each jail has a epair that's a member of bridge that's on a vlan on a lagg. More graphical= ly: em[02] -> lagg0 -> lagg0.31 -> bridge31 <- epairNa That is, 2 e1000e cards are combined into lagg0. VLAN 31 on the lagg is a member of the bridge31 bridge. Each jail gets an epair, and the host-side of the epair is also a member of bridge31. # uname -a FreeBSD osiris 14.1-RELEASE-p3 FreeBSD 14.1-RELEASE-p3 GENERIC amd64 # freebsd-version -kru 14.1-RELEASE-p3 14.1-RELEASE-p3 14.1-RELEASE-p3 (I've also seen it on 14.0.) host# ifconfig > /tmp/pre host# ifconfig lagg0 -lro host# ifconfig > /tmp/post host# diff -u /tmp/pre /tmp/post --- /tmp/pre 2024-08-10 14:12:11.812066000 +0000 +++ /tmp/post 2024-08-10 14:13:19.578057000 +0000 @@ -1,11 +1,11 @@ em0: flags=3D1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_= UP> metric 0 mtu 1500 -=20=20=20=20=20=20 options=3D4e524bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,M= EXTPG> +=20=20=20=20=20=20 options=3D4e520bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTP= G> ether 00:25:90:50:81:ed media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> em2: flags=3D1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_= UP> metric 0 mtu 1500 -=20=20=20=20=20=20 options=3D4e524bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,M= EXTPG> +=20=20=20=20=20=20 options=3D4e520bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTP= G> ether 00:25:90:50:81:ed hwaddr 00:25:90:50:81:ec media: Ethernet autoselect @@ -19,7 +19,7 @@ groups: lo nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> lagg0: flags=3D1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWE= R_UP> metric 0 mtu 1500 -=20=20=20=20=20=20 options=3D4e524bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,M= EXTPG> +=20=20=20=20=20=20 options=3D4e520bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS= UM,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTP= G> ether 00:25:90:50:81:ed hwaddr 00:00:00:00:00:00 laggproto lacp lagghash l2,l3 --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252015-7501-7umSRJiOzb>