Re: [Cake] [PATCH net] gso_segment: Reset skb->mac_len after modifying network header
On 13 September 2018 16:11:18 CEST, Eric Dumazet wrote: > > >On 09/11/2018 03:19 PM, Toke Høiland-Jørgensen wrote: >> When splitting a GSO segment that consists of encapsulated packets, >the >> skb->mac_len of the segments can end up being set wrong, causing >packet >> drops in particular when using act_mirred and ifb interfaces in >> combination with a qdisc that splits GSO packets. >> >> This happens because at the time skb_segment() is called, >network_header >> will point to the inner header, throwing off the calculation in >> skb_reset_mac_len(). The network_header is subsequently adjust by the >> outer IP gso_segment handlers, but they don't set the mac_len. >> >> Fix this by adding skb_reset_mac_len() calls to both the IPv4 and >IPv6 >> gso_segment handlers, after they modify the network_header. >> >> Signed-off-by: Toke Høiland-Jørgensen > >Looks good but I would have appreciated a thanks or something >after the help I gave on this problem. Yes, of course. Should have mentioned that in the commit message. My apologies, won't happen again. And thanks! :) -Toke ___ Cake mailing list Cake@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cake
Re: [Cake] [PATCH net] gso_segment: Reset skb->mac_len after modifying network header
On Thu, Sep 13, 2018 at 7:11 AM Eric Dumazet wrote: > > > > On 09/11/2018 03:19 PM, Toke Høiland-Jørgensen wrote: > > When splitting a GSO segment that consists of encapsulated packets, the > > skb->mac_len of the segments can end up being set wrong, causing packet > > drops in particular when using act_mirred and ifb interfaces in > > combination with a qdisc that splits GSO packets. > > > > This happens because at the time skb_segment() is called, network_header > > will point to the inner header, throwing off the calculation in > > skb_reset_mac_len(). The network_header is subsequently adjust by the > > outer IP gso_segment handlers, but they don't set the mac_len. > > > > Fix this by adding skb_reset_mac_len() calls to both the IPv4 and IPv6 > > gso_segment handlers, after they modify the network_header. > > > > Signed-off-by: Toke Høiland-Jørgensen > > Looks good but I would have appreciated a thanks or something > after the help I gave on this problem. > > Reviewed-by: Eric Dumazet Thanks, eric! (post-hoc) Acked-by: Dave Taht > ___ > Cake mailing list > Cake@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cake -- Dave Täht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619 ___ Cake mailing list Cake@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cake
Re: [Cake] [PATCH net] gso_segment: Reset skb->mac_len after modifying network header
On 09/11/2018 03:19 PM, Toke Høiland-Jørgensen wrote: > When splitting a GSO segment that consists of encapsulated packets, the > skb->mac_len of the segments can end up being set wrong, causing packet > drops in particular when using act_mirred and ifb interfaces in > combination with a qdisc that splits GSO packets. > > This happens because at the time skb_segment() is called, network_header > will point to the inner header, throwing off the calculation in > skb_reset_mac_len(). The network_header is subsequently adjust by the > outer IP gso_segment handlers, but they don't set the mac_len. > > Fix this by adding skb_reset_mac_len() calls to both the IPv4 and IPv6 > gso_segment handlers, after they modify the network_header. > > Signed-off-by: Toke Høiland-Jørgensen Looks good but I would have appreciated a thanks or something after the help I gave on this problem. Reviewed-by: Eric Dumazet ___ Cake mailing list Cake@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cake