On Fri, 25 Aug 2017 18:25:14 +0200, Jiri Benc wrote: > While looking at this, I realized that GSO for VXLAN-GPE is broken, > too. Let me fix it by implementing what I described above which will > make your patch much easier.
Okay, it's not really broken and we don't need that complexity. At least not immediately. Hw offloading in the VXLAN-GPE case probably does not work correctly and would benefit from that change but that's a different beast to tackle at a different time. Software segmentation works fine for VXLAN-GPE. There should not be much problems with NSH segmentation, either, if we carefully store and set mac_header, mac_len and skb->protocol around calls to skb_mac_gso_segment. Note that with zero mac_len (and correct skb->protocol), skb_mac_gso_segment behaves in the same way that you tried to achieve with find_gso_segment_by_type, which is thus completely unnecessary. More on Monday. Jiri