On Wed, 23 Sep 2026 22:02:57 -0400 Michael S. Tsirkin wrote: > $ git grep 'skb->csum_start\ =' > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c: skb->csum_start = > (unsigned char *)th - skb->head; > drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: skb->csum_start = > (unsigned char *)uh - skb->head; > drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: skb->csum_start = > (unsigned char *)uh - skb->head; > drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: skb->csum_start = > (unsigned char *)tcp - skb->head; > drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: skb->csum_start = > (unsigned char *)tcp - skb->head;
These are HW-GRO, ASIC coalesced TCP segments so it better know the _correct_ offsets of things. And it's hardly remote-provided? > drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c: > skb->csum_start = skb_transport_header(skb) - skb->head; selftest

