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: > > > > 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.