Bug 194569

Summary: TCP: wlp1s0: Driver has suspect GRO implementation, TCP performance may be compromised.
Product: Drivers Reporter: Cristian Aravena Romero (caravena)
Component: network-wireless-intelAssignee: DO NOT USE - assign "network-wireless-intel" component instead (linuxwifi)
Status: NEW ---    
Severity: normal CC: alberto5292, aros, axet, davem, gaspard, je.nunez, kernel, kuznetsov.alexey, luca, marcelo.leitner, matteo.redaelli, pedretti.fabio, pmlists, yoshfuji
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: Ubuntu 4.9.0-15.16-generic 4.9.5 Tree: Mainline
Regression: No

Description Cristian Aravena Romero 2017-02-12 22:39:08 UTC
Open bug in launchpad.net

[ 7578.057461] TCP: wlp1s0: Driver has suspect GRO implementation, TCP performance may be compromised."
Comment 1 Fabio Pedretti 2018-06-05 12:03:22 UTC
This harmless warning should be fixed backporting [0] to 4.9 series.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0b9aefea860063bb39e36bd7fe6c7087fed0ba87
Comment 2 Marcelo Ricardo Leitner 2018-06-08 15:15:25 UTC
I went over iwlwifi commits since then and I couldn't find any issue regarding TCP/GSO. That said, I agree that it seems to be harmless in that setup and that backporting 0b9aefea860063bb39e36bd7fe6c7087fed0ba87 should help on identifying if it's a false-positive or not.

Someone needs to send an email to netdev@ asking for it, though. kernel bugzilla is not how it's done for networking subsystem. More info in ./Documentation/networking/netdev-FAQ.txt . Thanks.
Comment 3 Fabio Pedretti 2018-06-08 15:40:05 UTC
BTW, I had this same warning with vmxnet3 driver with 4.9. I tried a newer kernel and the message didn't appear. I posted my findings here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864642#95 - for reference:

It looks like the warning appeared with this first commit:
but was later corrected with this second one:

The first commit was merged in the 4.9 tree, but not the second one (at least not up to 4.9.106), and was only merged in 4.11.

So I would conclude the warning may be harmless, unless you got it on a >= 4.11 kernel. And I also verified I don't get it on such a newer kernel.

I would close this bug, but it may eventually be nice to backport the second commit in 4.9 to avoid the harmless warning.

Searching on the net, there are other reports with the same issue and with various other drivers.

I added in CC: here the net/ipv4 maintainers I found in MAINTAINERS file:

M:	"David S. Miller" <davem@davemloft.net>
M:	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
M:	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
L:	netdev@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
S:	Maintained
F:	net/ipv4/
F:	net/ipv6/
F:	include/net/ip*
F:	arch/x86/net/*
Comment 4 Artem S. Tashkinov 2020-02-20 17:46:51 UTC
I see it Linux 5.5.4 with a OpenVPN(UDP)/tun/VPN tunnel.

TCP: tun0: Driver has suspect GRO implementation, TCP performance may be compromised.

Is this the same bug? Something different?
Comment 5 Matteo Redaelli 2020-03-28 17:11:04 UTC
I see it

TCP: wlan0: Driver has suspect GRO implementation, TCP performance may be compromised.

[    4.287544] iwlwifi 0000:01:00.0: firmware: direct-loading firmware iwlwifi-8000C-36.ucode
[    4.289638] iwlwifi 0000:01:00.0: loaded firmware version 36.8fd77bb3.0 op_mode iwlmvm
[    4.484488] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[    4.562788] iwlwifi 0000:01:00.0: base HW address: 28:16:ad:81:b2:8a
[    4.653536] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'

root@debian:~# uname -a
Linux debian 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux
Comment 6 je.nunez 2020-04-08 07:42:41 UTC
In a machine here it happens in a Gigabit Ethernet controller:

[81788.983716] TCP: enp4s0: Driver has suspect GRO implementation, TCP performance may be compromised.

uname -a
     Linux omitted 5.3.0-45-generic #37~18.04.1-Ubuntu SMP Fri Mar 27 15:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

This enp4s0 is:
         description: Ethernet interface
         product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
         vendor: Realtek Semiconductor Co., Ltd.
         physical id: 0
         bus info: pci@0000:04:00.0
         logical name: enp4s0
         version: 10
         serial: <omitted>
         size: 1Gbit/s
         capacity: 1Gbit/s
         width: 64 bits
         clock: 33MHz
         capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
         configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.048.00-NAPI duplex=full ip=<omitted> latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
         resources: irq:126 ioport:d000(size=256) memory:df104000-df104fff memory:df100000-df103fff

modinfo r8168
     filename:       /lib/modules/5.3.0-45-generic/kernel/drivers/net/ethernet/realtek/r8168.ko
     version:        8.048.00-NAPI
     license:        GPL
     description:    RealTek RTL-8168 Gigabit Ethernet driver
     srcversion:     88B6F0A5DB60825A3057505

ethtool -i enp4s0
     driver: r8168
     version: 8.048.00-NAPI
     bus-info: 0000:04:00.0
     supports-statistics: yes
     supports-test: no
     supports-eeprom-access: no
     supports-register-dump: yes
     supports-priv-flags: no

( The directory /lib/firmware/rtl_nic/ has the firmware files: rtl8168d-1.fw rtl8168d-2.fw rtl8168e-1.fw rtl8168e-2.fw rtl8168e-3.fw rtl8168f-1.fw rtl8168f-2.fw rtl8168g-1.fw rtl8168g-2.fw rtl8168g-3.fw rtl8168h-1.fw rtl8168h-2.fw )
Comment 7 alberto5292 2020-06-08 01:14:29 UTC
In a machine here it happens in a RTL8188CE 802.11b/g/n WiFi Adapter (rev 01):

[20965.687617] wlp1s0: associated
[20965.695282] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
[33544.393882] TCP: wlp1s0: Driver has suspect GRO implementation, TCP performance may be compromised.

$ uname -a
Linux omitted 5.7.0-1.vanilla.1.fc31.x86_64 #1 SMP Mon Jun 1 20:23:36 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

in old kernels sometimes occur a error:

this msg first time i see  in this kernel, is not show in olds...