[dpdk-dev] [PATCH] kni: compatibility with RHEL 7

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Jun 25 12:05:06 CEST 2014


Hi Waterman,

2014-06-12 09:35, Hiroshi Shimamoto:
> 2014-06-12 09:18, Cao, Waterman:
> >   Can you give details about Linux Kernel version and complier version?
> >   Because we tried to build code in the Redhat 7.0 before, but we don't
> >   meet this issue. Please see information as the following:
> >   Linux kernel 3.10.0-54.0.1.el7.x86_64
> >   RHEL70BETA_64	GCC 4.8.2  ICC: 14.0.0
> 
> Yes,
> 
> Linux REHEL7RC-1 3.10.0-121.el7.x86_64 #1 SMP Tue Apr 8 10:48:19 EDT 2014
> x86_64 x86_64 x86_64 GNU/Linux gcc version 4.8.2 20140120 (Red Hat
> 4.8.2-16) (GCC)
> 
> I got the below error;
> /path/to/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3851:1: error:
> conflicting types for ‘skb_set_hash’ skb_set_hash(struct sk_buff *skb,
> __u32 hash, __always_unused int type)
> 
> /usr/src/kernels/3.10.0-121.el7.x86_64/include/linux/skbuff.h:762:1: note:
> previous definition of ‘skb_set_hash’ was here skb_set_hash(struct sk_buff
> *skb, __u32 hash, enum pkt_hash_types type)

Could you confirm this fix is needed and acknowledge it?
Thanks


> > -----Original Message-----
> > 
> > >From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Hiroshi Shimamoto
> > >Sent: Thursday, June 12, 2014 4:10 PM
> > >To: dev at dpdk.org
> > >Cc: Hayato Momma
> > >Subject: [dpdk-dev] [PATCH] kni: compatibility with RHEL 7
> > >
> > >From: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
> > >
> > >Compilation in RHEL7 is failed. This fixes the build issue.
> > >
> > >RHEL7 has skb_set_hash, the kernel version is 3.10 though.
> > >Don't define skb_set_hash for RHEL7.
> > >
> > >Signed-off-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
> > >Reviewed-by: Hayato Momma <h-momma at ce.jp.nec.com>
> > >---
> > >
> > > lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 5 +++++
> > > 1 file changed, 5 insertions(+)
> > >
> > >diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> > >b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h index
> > >4c27d5d..b4de6e2 100644
> > >--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> > >+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> > >@@ -3843,6 +3843,9 @@ 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)))
> > >+
> > >
> > > #ifdef NETIF_F_RXHASH
> > > #define PKT_HASH_TYPE_L3 0
> > > static inline void
> > >
> > >@@ -3851,6 +3854,8 @@ skb_set_hash(struct sk_buff *skb, __u32 hash,
> > >__always_unused int type)> >
> > > 	skb->rxhash = hash;
> > > 
> > > }
> > > #endif /* NETIF_F_RXHASH */
> > >
> > >+#endif /* < RHEL7 */
> > >+
> > >
> > > #endif /* < 3.14.0 */
> > > 
> > > #endif /* _KCOMPAT_H_ */
> > >
> > >--
> > >1.9.1


-- 
Thomas


More information about the dev mailing list