Re: [PATCH net v3 0/4] net: hsr: fix GRO/GSO super-packet handling

From: Ali Ahmet Memis

Date: Fri Jul 31 2026 - 19:58:51 EST


On Fri, Jul 31, 2026 at 11:02:19AM +0200, Xin Xie wrote:
> [PATCH net v3 0/4] net: hsr: fix GRO/GSO super-packet handling

I tested the series on top of net under virtme-ng (QEMU/KVM, x86_64).

selftests/net/hsr/hsr_gro_superpacket.sh passes: the SAN emits TSO
super-packets (TX frame-size average around 41 kB, well over the 2048
byte threshold) while both DUT LAN legs stay per-frame (average around
1497 bytes, under the 1514 byte guard), and the test reports success.
For contrast, without the series the same topology leaks oversized,
HSR-tagged frames onto the LAN legs (up to roughly 28 kB, ethertype
0x88fb), which this work eliminates. hsr_ping, prp_ping and hsr_redbox
still pass.

I also went through the code. Patch 1 mirrors netif_disable_lro() and
dev_disable_lro() faithfully, and clearing both NETIF_F_GRO and
NETIF_F_GRO_HW matches the changelog intent. For patch 2 I audited all
seqnr_lock users; after the change it guards only the sequence counter
updates, so dropping the outer lock around hsr_forward_skb() cannot race
any other state. For patch 3 the __skb_gso_segment() dispatch and the
consume_skb() and kfree_skb() paths look correct, and the port type gate
keeps LAN and tagged aggregates out of software segmentation.

Per-patch Reviewed-by for patches 1 to 3 sent separately.

Tested-by: Ali Ahmet Memis <ali@xxxxxxxxxxxxxx>