[dpdk-dev] kni: fix build for CentOS 6.6

Message ID 1418885429-11891-1-git-send-email-jincheng.miao@gmail.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Jincheng Miao Dec. 18, 2014, 6:50 a.m. UTC
  From CentOS 6.6, function skb_set_hash is introduced, this breaks
the previous assumption. So modify RHEL_RELEASE_VERSION from 7.0
to 6.6 to fix build for rte_kni.ko.

Related mail from Barak Enat:
http://dpdk.org/ml/archives/dev/2014-December/010124.html

building error likes:
  CC [M]  /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
In file included from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41,
                 from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31,
                 from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31,
                 from /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38:
/root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3870: error: conflicting types for ‘skb_set_hash’
include/linux/skbuff.h:620: note: previous definition of ‘skb_set_hash’ was here
make[8]: *** [/root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o] Error 1

Signed-off-by: Jincheng Miao <jincheng.miao@gmail.com>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
  

Comments

Thomas Monjalon Dec. 18, 2014, 10:04 p.m. UTC | #1
> From CentOS 6.6, function skb_set_hash is introduced, this breaks
> the previous assumption. So modify RHEL_RELEASE_VERSION from 7.0
> to 6.6 to fix build for rte_kni.ko.
> 
> Related mail from Barak Enat:
> http://dpdk.org/ml/archives/dev/2014-December/010124.html
> 
> building error likes:
>   CC [M]  /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
> In file included from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41,
>                  from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31,
>                  from /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31,
>                  from /root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38:
> /root/dpdk-source/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3870: error: conflicting types for ‘skb_set_hash’
> include/linux/skbuff.h:620: note: previous definition of ‘skb_set_hash’ was here
> make[8]: *** [/root/dpdk-source/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o] Error 1
> 
> Signed-off-by: Jincheng Miao <jincheng.miao@gmail.com>

Applied

Thanks
  

Patch

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 3dbc07a..1213cc6 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3860,7 +3860,7 @@  static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(struct sk_buff *skb,
 #endif /* >= 3.10.0 */
 
 #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) )
-#if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,0)))
+#if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,6)))
 #if (!(UBUNTU_KERNEL_CODE >= UBUNTU_KERNEL_VERSION(3,13,0,30,54) \
     && (UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(12,4) \
      || UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(14,4))))