Re: [PATCH 2/2] net: dsa: tag_ksz: dont let the hardware process the layer 4 checksum

From: Vladimir Oltean
Date: Thu Jul 15 2021 - 07:49:15 EST


On Thu, Jul 15, 2021 at 01:16:12PM +0200, Lino Sanfilippo wrote:
> Sure, I will test this solution. But I think NETIF_F_FRAGLIST should also be
> cleared in this case, right?

Hmm, interesting question. I think only hns3 makes meaningful use of
NETIF_F_FRAGLIST, right? I'm looking at hns3_fill_skb_to_desc().
Other drivers seem to set it for ridiculous reasons - looking at commit
66aa0678efc2 ("ibmveth: Support to enable LSO/CSO for Trunk VEA.") -
they set NETIF_F_FRAGLIST and then linearize the skb chain anyway. The
claimed 4x throughput benefit probably has to do with less skbs
traversing the stack? I don't know.

Anyway, it is hard to imagine all the things that could go wrong with
chains of IP fragments on a DSA interface, precisely because I have so
few examples to look at. I would say, header taggers are probably fine,
tail taggers not so much, so apply the same treatment as for NETIF_F_SG?