Hi, I tried another workaround and works fine: It similar to other kcompat function, add __kc_ prefix to function definition and #define skb_set_hash(a,b,c) __kc_skb_set_hash(a,b,c).
Thanks, 2014-07-06 0:27 GMT+09:00 Wiles, Roger Keith <keith.wiles at windriver.com>: > Hi All, > > I got a build failure on : > > [10:20][keithw at keithw-W2600CR:umf(dev)]$ lsb_release -a > No LSB modules are available. > Distributor ID: Ubuntu > Description: Ubuntu 14.04 LTS > Release: 14.04 > Codename: trusty > > Looks like the skb_set_hash() function changed from: > > static inline void > skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) > { > skb->rxhash = hash; > } > > To: > > static inline void > skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type) > { > skb->l4_rxhash = (type == PKT_HASH_TYPE_L4); > skb->rxhash = hash; > } > > Compile line: 'make install T=x86_64-native-linuxapp-gcc' > ... > CC [M] /home/keithw/projects/dpdk/ > dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o > < > http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o > > > In file included from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0 > >, > from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31>, > from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31>, > from /home/keithw/projects/dpdk/ > dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38 > :< > http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38 > :> > /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3853:1:< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3853:1:> > error: conflicting types for ???skb_set_hash??? > skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) > ^ > In file included from > /usr/src/linux-headers-3.13.0-30-generic/include/linux/if_ether.h:23:0, > from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:39< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:39>, > from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31>, > from /home/keithw/projects/dpdk/ > dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31< > http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31>, > from /home/keithw/projects/dpdk/ > dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38 > :< > http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38 > :> > /usr/src/linux-headers-3.13.0-30-generic/include/linux/skbuff.h:740:1: > note: previous definition of ???skb_set_hash??? was here > skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type) > ^ > make[10]: *** [/home/keithw/projects/dpdk/ > dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o > ]< > http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o]> > Error 1 > make[9]: *** [_module_/home/keithw/projects/dpdk/ > dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni]< > http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni]> > Error 2 > make[8]: *** [sub-make] Error 2 > make[7]: *** [rte_kni.ko] Error 2 > make[6]: *** [kni] Error 2 > make[5]: *** [linuxapp] Error 2 > make[4]: *** [librte_eal] Error 2 > make[3]: *** [lib] Error 2 > make[2]: *** [all] Error 2 > make[1]: *** [x86_64-native-linuxapp-gcc_install] Error 2 > make: *** [install] Error 2 > > Please verify this is correct. > > Thanks > ++Keith > > Keith Wiles, Principal Technologist with CTO office, Wind River > mobile 972-213-5533 > > [Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/ > > > >