Re: [PATCH v5 net-next 2/2] net: hns3: fix GSO_ECN flag setting in the RX path

Jakub Kicinski <[email protected]> Wed, 12 Aug 2026 15:59:27 -0700
Newsgroups dev.linux.lists.virtualization,org.kernel.vger.bpf,org.kernel.vger.linux-doc,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-rdma,org.kernel.vger.netdev
Message-ID <[email protected]>
On Wed, 12 Aug 2026 10:35:25 +0000 Chia-Yu Chang (Nokia) wrote:
> > Tested on hns3 HW (2x 100G, direct cable, openEuler 24.03, kernel 7.2.0-rc6).
> > 
> > tcpdump confirms HW GRO zeroes IP ToS: aggregated (>MTU) packets carry tos 0x0, while non-aggregated packets keep their ToS/ECN marks — so the zeroing is done by HW GRO, not the sender. Before patch, CWR packets had SKB_GSO_TCP_ECN set (0x5 = SKB_GSO_TCPV4 | SKB_GSO_TCP_ECN). After patch, all GRO events gso_type=0x1 (SKB_GSO_TCPV4 only), no 0x5 observed.
> > 
> > Tested-by: Jijie Shao <[email protected]>  
> 
> Thanks Jijie for confirmation, I will submit to net in the next round.

Hold on.. Sounds like hns3 zeros ToS out (?!)

This would be invalid and illegal for HW-GRO. If hns3 nukes crucial IP
header fields it should probably be advertising LRO not HW-GRO in the
first place.