[Question] About bonding offload

From: Liang Li
Date: Mon Apr 10 2023 - 21:48:20 EST


Hi Everyone,

I'm a redhat network-qe and am testing bonding offload. e.g. gso,tso,gro,lro.
I got two questions during my testing.

1. The tcp performance has no difference when bonding GRO is on versus off.
When testing with bonding, I always get ~890 Mbits/sec bandwidth no
matter whether GRO is on.
When testing with a physical NIC instead of bonding on the same
machine, with GRO off, I get 464 Mbits/sec bandwidth, with GRO on, I
get 897 Mbits/sec bandwidth.
So looks like the GRO can't be turned off on bonding?

I used iperf3 to test performance.
And I limited iperf3 process cpu usage during my testing to simulate a
cpu bottleneck.
Otherwise it's difficult to see bandwidth differences when offload is
on versus off.

I reported a bz for this: https://bugzilla.redhat.com/show_bug.cgi?id=2183434

2. Should bonding propagate offload configuration to slaves?
For now, only "ethtool -K bond0 lro off" can be propagated to slaves,
others can't be propagated to slaves, e.g.
ethtool -K bond0 tso on/off
ethtool -K bond0 gso on/off
ethtool -K bond0 gro on/off
ethtool -K bond0 lro on
All above configurations can't be propagated to bonding slaves.

I reports a bz for this: https://bugzilla.redhat.com/show_bug.cgi?id=2183777

I am using the RHEL with kernel 4.18.0-481.el8.x86_64.

BR,
Liang Li