On Wed, Aug 17, 2016 at 10:23 AM, Pravin B Shelar <pshe...@ovn.org> wrote: > diff --git a/datapath/linux/compat/gso.c b/datapath/linux/compat/gso.c > index 89df07f..48a56b9 100644 > --- a/datapath/linux/compat/gso.c > +++ b/datapath/linux/compat/gso.c > @@ -236,12 +236,12 @@ static int output_ip(struct sk_buff *skb) > > int rpl_ip_local_out(struct net *net, struct sock *sk, struct sk_buff *skb) > { > - /* This bit set can confuse some drivers on old kernel. */ > - skb->encapsulation = 0; > - > if (!OVS_GSO_CB(skb)->fix_segment) > return output_ip(skb); > > + /* This bit set can confuse some drivers on old kernel. */ > + skb->encapsulation = 0; > + > if (skb_is_gso(skb)) { > int ret; > int id; > @@ -282,12 +282,12 @@ static int output_ipv6(struct sk_buff *skb) > > int rpl_ip6_local_out(struct net *net, struct sock *sk, struct sk_buff *skb) > { > - /* This bit set can confuse some drivers on old kernel. */ > - skb->encapsulation = 0; > - > if (!OVS_GSO_CB(skb)->fix_segment) > return output_ipv6(skb); > > + /* This bit set can confuse some drivers on old kernel. */ > + skb->encapsulation = 0; > + > if (skb_is_gso(skb)) { > int ret;
Should we just put this back into the GSO code path where it was previously? I think that most closely mirrors the original version of the patchset and also upstream. I still think that we have an issue where all checksum offloaded packets will be sent directly to the stack. If we were to fix this then LCO will incorrectly have skb->encapsulation cleared. Or is there a bug that caused you to put this here that that would miss? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev