[ovs-dev] [PATCH 1/8] ip6_gre: Fix a bug that clears address bits

Yifeng Sun pkusunyifeng at gmail.com
Thu Aug 9 18:03:37 UTC 2018


There is a difference regarding how skb_tunnel_info is stored in skb
between ovs and upstream kernel. In ovs's compatible gre module,
skb_tunnel_info is stored in skb->cb while in upstream kernel, it is
referenced by skb->_skb_refdst.

The upstream netdev code should be okay.

To fix this issue, my guess is that either we comply to the kernel's way
by using skb->_skb_refdst to store skb_tunnel_info, or we don't use
IPCB at all.

Thanks,
Yifeng



On Thu, Aug 9, 2018 at 10:28 AM, Gregory Rose <gvrose8192 at gmail.com> wrote:

>
> On 8/8/2018 6:50 PM, William Tu wrote:
>
>> thanks for the fix.
>>
>> On Wed, Aug 8, 2018 at 11:32 AM, Yifeng Sun <pkusunyifeng at gmail.com>
>> wrote:
>>
>> In compatable gre module, skb->cb is used as ovs_gso_cb.
>>> This bug clears the 16-23 bit in the address of ovs_gso_cb.tun_dst.
>>>
>>> can you explain more about ovs_gso_cb?
>>
>> Signed-off-by: Yifeng Sun <pkusunyifeng at gmail.com>
>>> ---
>>>   datapath/linux/compat/ip6_gre.c | 1 -
>>>   1 file changed, 1 deletion(-)
>>>
>>> diff --git a/datapath/linux/compat/ip6_gre.c
>>> b/datapath/linux/compat/ip6_
>>> gre.c
>>> index 54a76ab..16c1f72 100644
>>> --- a/datapath/linux/compat/ip6_gre.c
>>> +++ b/datapath/linux/compat/ip6_gre.c
>>> @@ -1146,7 +1146,6 @@ static netdev_tx_t ip6erspan_tunnel_xmit(struct
>>> sk_buff *skb,
>>>                  goto tx_err;
>>>
>>>          t->parms.o_flags &= ~TUNNEL_KEY;
>>> -       IPCB(skb)->flags = 0;
>>>
>>> The upstream linux kernel has the above code.
>> Do we need to fix the upstream kernel then backport?
>>
>
> That would be the normal work flow.
>
> Yifeng,
>
> Can you please post a patch with this fix to netdev?  Taking William's
> comments into account as well.
>
> Good catch and thanks for the fix!
>
> - Greg
>
>
>> Thanks,
>> William
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>
>


More information about the dev mailing list