Re: [PATCH RFC v3 0/5] Support fraglist GRO/GSO
From: Steffen Klassert <steffen.klassert@secunet.com>
Date: 2019-09-19 11:01:29
On Wed, Sep 18, 2019 at 01:58:17PM -0300, Marcelo Ricardo Leitner wrote:
On Wed, Sep 18, 2019 at 12:17:08PM -0400, Willem de Bruijn wrote:quoted
More specifically, whether we can remove that in favor of using your new skb_segment_list. That would actually be a big first step in simplifying skb_segment back to something manageable.The main issue (that I know) on obsoleting GSO_BY_FRAGS is that dealing with frags instead of frag_list was considered easier to be offloaded, if ever attempted. So this would be a step back on that aspect. Other than this, it should be doable.
I wonder why offloading the frag_list should be harder. I looked at the i40e driver, it just iterates over the page fragments found in skb_shinfo(skb)->frags in i40e_tx_map(). If the packet data of all the fraglist GRO skbs are backed by a page fragment then we could just do the same by iterating with skb_walk_frags(). I'm not a driver expert and might be misstaken, but it looks like that could be done with existing hardware that supports segmentation offload.