[ovs-dev] [PATCH 1/3] datapath: compat: backport LCO optimization.

pravin shelar pshelar at ovn.org
Wed Aug 17 17:20:45 UTC 2016


On Tue, Aug 16, 2016 at 6:31 PM, Jesse Gross <jesse at kernel.org> wrote:
> On Mon, Aug 15, 2016 at 2:11 PM, Pravin B Shelar <pshelar at ovn.org> wrote:
>> diff --git a/datapath/linux/compat/gso.c b/datapath/linux/compat/gso.c
>> index 89df07f..f973fb4 100644
>> --- a/datapath/linux/compat/gso.c
>> +++ b/datapath/linux/compat/gso.c
>> @@ -236,9 +236,6 @@ 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);
>>
>> @@ -282,9 +279,6 @@ 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);
>
> I think this part of the patch might be jumping forward a little bit
> and assuming that the third patch where GSO is using hardware offload
> is already present. Otherwise, we can generate GSO packet where the
> outer header checksum is offloaded but skb->encapsulation is set to 1.

ok, since I dropped the third patch I need to keep the bit set in some cases.



More information about the dev mailing list