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