Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TrueNAS 24.04.2.1] Linux Kernel Atlantic Driver: "Driver has suspect GRO implementation, TCP performance may be compromised." #67

Open
johntdavis84 opened this issue Sep 15, 2024 · 1 comment

Comments

@johntdavis84
Copy link

johntdavis84 commented Sep 15, 2024

Hello,

I'm having this issue with a pair of AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] on a NAS motherboard. (https://admin.pci-ids.ucw.cz/read/PC/1d6a/04c0)

Let me start with a bit of diagnostic info. :)

I'm running TrueNAS Scale 24.04-xx, on a UGREEN NASync 8800 Pro. The motherboard includes two AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] NICs, which I've put into an LACP bond, bond0.

Everything seems to be working, but I keep seeing the following message on the bond0 interface, and the vlan200 interface that depends on it.

Aug 26 10:01:05 vectorsigma kernel: TCP: bond0: Driver has suspect GRO implementation, TCP performance may be compromised.
...
[Sat Sep 14 14:51:13 2024] TCP: vlan200: Driver has suspect GRO implementation, TCP performance may be compromised.

Of course, the atlantic driver doesn't tell me the version via modinfo, so I can't tell if it's the latest one that's available on Marvell's website or not. I'm also not sure if it's just telling me that I need to disable GRO, or even if this is a warning I can safely ignore or not.

Here's some additional diagnostic information:

OS Version:TrueNAS-SCALE-24.04.2.1
Product:DXP8800 Plus
Model:12th Gen Intel(R) Core(TM) i5-1235U
Memory:31 GiB

admin@vectorsigma[~]$ uname -a
Linux vectorsigma 6.6.32-production+truenas #1 SMP PREEMPT_DYNAMIC Mon Jul  8 16:11:58 UTC 2024 x86_64 GNU/Linux

admin@vectorsigma[~]$ sudo lspci | grep -i ethernet
58:00.0 Ethernet controller: Aquantia Corp. Device 04c0 (rev 03)
59:00.0 Ethernet controller: Aquantia Corp. Device 04c0 (rev 03)



admin@vectorsigma[~]$ sudo lspci -vvvv -n -s 58:00 | grep -i kernel
        Kernel driver in use: atlantic
        Kernel modules: atlantic

]# dmesg | grep -i suspect GRO
grep: GRO: No such file or directory
root@vectorsigma[~]# dmesg | grep -i "suspect GRO"
[60655.218629] TCP: vlan200: Driver has suspect GRO implementation, TCP performance may be compromised.
root@vectorsigma[~]# dmesg -T | grep -i "suspect GRO"
[Sat Sep 14 14:51:13 2024] TCP: vlan200: Driver has suspect GRO implementation, TCP performance may be compromised.
root@vectorsigma[~]# modinfo atlantic
filename:       /lib/modules/6.6.32-production+truenas/kernel/drivers/net/ethernet/aquantia/atlantic/atlantic.ko
description:    Marvell (Aquantia) Corporation(R) Network Driver
author:         Marvell
license:        GPL v2
alias:          pci:v00001D6Ad000011C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000034C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000012C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000014C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000004C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000093C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000094C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000000C0sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000092B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000091B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000089B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000088B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000087B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000080B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000012B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000011B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000009B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000008B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000007B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad000000B1sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D109sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D108sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D107sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad0000D100sv*sd*bc*sc*i*
alias:          pci:v00001D6Ad00000001sv*sd*bc*sc*i*
depends:        macsec
retpoline:      Y
intree:         Y
name:           atlantic
vermagic:       6.6.32-production+truenas SMP preempt mod_unload modversions 
parm:           aq_itr:Interrupt throttling mode (uint)
parm:           aq_itr_tx:TX interrupt throttle rate (uint)
parm:           aq_itr_rx:RX interrupt throttle rate (uint)

admin@vectorsigma[~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp88s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 6c:1f:f7:0c:ce:be brd ff:ff:ff:ff:ff:ff
3: enp89s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 6c:1f:f7:0c:ce:be brd ff:ff:ff:ff:ff:ff permaddr 6c:1f:f7:0c:ce:bd
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 6c:1f:f7:0c:ce:be brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.40/24 brd 10.10.10.255 scope global bond0
       valid_lft forever preferred_lft forever
5: vlan200@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 6c:1f:f7:0c:ce:be brd ff:ff:ff:ff:ff:ff
    inet 10.10.200.2/24 brd 10.10.200.255 scope global vlan200
       valid_lft forever preferred_lft forever

Additional information from ethtool:

root@vectorsigma[~]# echo enp88s0 && ethtool -k enp88s0 | grep offload && echo enp89s0 && ethtool -k enp89s0 | grep offload && echo bond0 && ethtool -k bond0 | grep offload 

enp88s0
tcp-segmentation-offload: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on
l2-fwd-offload: off [fixed]
hw-tc-offload: on
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
macsec-hw-offload: off [fixed]
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]

enp89s0
tcp-segmentation-offload: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on
l2-fwd-offload: off [fixed]
hw-tc-offload: on
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
macsec-hw-offload: off [fixed]
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]

bond0
tcp-segmentation-offload: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off
esp-tx-csum-hw-offload: off
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
macsec-hw-offload: off [fixed]
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]
@johntdavis84 johntdavis84 changed the title [TrueNAS 24.04-xx] Linux Kernel Atlantic Driver: "Driver has suspect GRO implementation, TCP performance may be compromised." [TrueNAS 24.04.2.1] Linux Kernel Atlantic Driver: "Driver has suspect GRO implementation, TCP performance may be compromised." Sep 15, 2024
@johntdavis84
Copy link
Author

This seems to be the latest version of the driver from Marvell. I have no idea how much newer this is than what I've got.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant