On Tue, Nov 26, 2013 at 8:55 PM, Jesse Gross <je...@nicira.com> wrote:
> On Tue, Nov 19, 2013 at 1:50 PM, Pravin B Shelar <pshe...@nicira.com> wrote:
>> diff --git a/datapath/linux/compat/include/linux/jump_label.h 
>> b/datapath/linux/compat/include/linux/jump_label.h
>> new file mode 100644
>> index 0000000..8eaf776
>> --- /dev/null
>> +++ b/datapath/linux/compat/include/linux/jump_label.h
>> +#ifdef HAVE_JUMP_LABEL
>> +struct static_key {
>> +        atomic_t enabled;
>> +/* Set lsb bit to 1 if branch is default true, 0 ot */
>> +        struct jump_entry *entries;
>> +};
> [...]
>> +static __always_inline bool static_key_false(struct static_key *key)
>> +{
>> +       return arch_static_branch(key);
>> +}
>
> arch_static_branch() expects a struct jump_label_key on the kernels
> that this is used on. Won't this result in warnings about different
> pointer types?
>
right. After trying various options to backport jump-lable I have
decided to not use it due to its complexity.
I will use atomic variable for the flag.

>> diff --git a/datapath/linux/compat/include/linux/skbuff.h 
>> b/datapath/linux/compat/include/linux/skbuff.h
>> index 9868a98..3af3ddc 100644
>> --- a/datapath/linux/compat/include/linux/skbuff.h
>> +++ b/datapath/linux/compat/include/linux/skbuff.h
>>  extern u32 __skb_get_rxhash(struct sk_buff *skb);
>>  static inline __u32 skb_get_rxhash(struct sk_buff *skb)
>>  {
>>  #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34)
>> -       if (!skb->rxhash)
>> +       if (skb->rxhash)
>> +               return skb->rxhash;
>>  #endif
>>         return __skb_get_rxhash(skb);
>>  }
>
> It looks like this fixes an existing bug that could be bad on the
> affected kernels. Should we backport this piece?

ok, I will post patch for that.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to