I guess it's not applicable in the sense that the fix is not really in OVS. Kernels with that bug will continue to have it even after this backport.
I think it would be pretty challenging to fully backport this through the OVS tree - it would likely require pulling in the whole UDP offloads module. That would pretty messy and would silently prevent other non-OVS users from taking advantage of offloads. To the extent that this affects OVS users, I think probably needs to be picked up by distribution kernels. On Mon, Jul 4, 2016 at 4:02 AM, Jarno Rajahalme <ja...@ovn.org> wrote: > I'm not really familiar with these backports, but is it so that the main > change the upstream patch introduced to udp_gro_complete() is not applicable > to the backports? > > Jarno > >> On Jun 30, 2016, at 1:06 AM, Pravin B Shelar <pshe...@ovn.org> wrote: >> >> Upstream commit: >> commit 229740c63169462a838a8b8e16391ed000934631 >> Author: Jarno Rajahalme <ja...@ovn.org> >> >> udp_offload: Set encapsulation before inner completes. >> >> UDP tunnel segmentation code relies on the inner offsets being set for >> an UDP tunnel GSO packet, but the inner *_complete() functions will >> set the inner offsets only if 'encapsulation' is set before calling >> them. Currently, udp_gro_complete() sets 'encapsulation' only after >> the inner *_complete() functions are done. This causes the inner >> offsets having invalid values after udp_gro_complete() returns, which >> in turn will make it impossible to properly segment the packet in case >> it needs to be forwarded, which would be visible to the user either as >> invalid packets being sent or as packet loss. >> >> This patch fixes this by setting skb's 'encapsulation' in >> udp_gro_complete() before calling into the inner complete functions, >> and by making each possible UDP tunnel gro_complete() callback set the >> inner_mac_header to the beginning of the tunnel payload. >> >> Signed-off-by: Jarno Rajahalme <ja...@ovn.org> >> Reviewed-by: Alexander Duyck <adu...@mirantis.com> >> Signed-off-by: David S. Miller <da...@davemloft.net> >> >> Signed-off-by: Pravin B Shelar <pshe...@ovn.org> >> --- >> datapath/linux/compat/geneve.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/datapath/linux/compat/geneve.c b/datapath/linux/compat/geneve.c >> index e049221..cc8740b 100644 >> --- a/datapath/linux/compat/geneve.c >> +++ b/datapath/linux/compat/geneve.c >> @@ -566,6 +566,8 @@ static int geneve_gro_complete(struct sk_buff *skb, int >> nhoff, >> err = ptype->callbacks.gro_complete(skb, nhoff + gh_len); >> >> rcu_read_unlock(); >> + >> + skb_set_inner_mac_header(skb, nhoff + gh_len); >> return err; >> } >> #endif >> -- >> 1.9.1 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev