On Thu, Aug 18, 2016 at 2:35 PM, Jesse Gross <je...@kernel.org> wrote: > On Wed, Aug 17, 2016 at 10:17 PM, pravin shelar <pshe...@ovn.org> wrote: >> On Wed, Aug 17, 2016 at 5:26 PM, Jesse Gross <je...@kernel.org> wrote: >>> 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. >>> >> I agree cleaning the bit in compat GSO code would be in-sync with upstream. >> But this is right place to clear the encapsulation bit. since after >> this point the skb would not need any offloading for inner packet. LCO >> packet checksum would be handled by the skb_checksum_help() call in >> same rpl_ip_local_out() function. > > OK, I guess you are right. > > Acked-by: Jesse Gross <je...@kernel.org>
Thanks for reviews. I pushed both patches to master and branch-2.6. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev