From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by dpdk.org (Postfix) with ESMTP id C4E6468BB for ; Mon, 9 Jun 2014 10:39:17 +0200 (CEST) Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 09 Jun 2014 01:39:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,1001,1392192000"; d="scan'208";a="443212547" Received: from shilc102.sh.intel.com ([10.239.39.44]) by azsmga001.ch.intel.com with ESMTP; 09 Jun 2014 01:39:04 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shilc102.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s598cxnj027692; Mon, 9 Jun 2014 16:39:01 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s598cvm5028358; Mon, 9 Jun 2014 16:38:59 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id s598cuOU028354; Mon, 9 Jun 2014 16:38:56 +0800 From: Helin Zhang To: dev@dpdk.org Date: Mon, 9 Jun 2014 16:38:55 +0800 Message-Id: <1402303135-28248-1-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH] kni: fix compile errors on Oracle Linux6.4 and RHEL6.5 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jun 2014 08:39:18 -0000 From: HELIN ZHANG The compile errors are as follows. The fixes came from standard Linux drivers of ixgbe-3.21.2 and igb-5.1.2. * Oracle Linux6.4 lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:3111: error: redefinition of 'ether_addr_equal' include/linux/etherdevice.h:180: note: previous definition of 'ether_addr_equal' was here * RHEL6.5 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3597: error: redefinition of 'mmd_eee_cap_to_ethtool_sup_t' include/linux/mdio.h:387: note: previous definition of 'mmd_eee_cap_to_ethtool_sup_t' was here lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3625: error: redefinition of 'mmd_eee_adv_to_ethtool_adv_t' include/linux/mdio.h:415: note: previous definition of 'mmd_eee_adv_to_ethtool_adv_t' was here lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3653: error: redefinition of 'ethtool_adv_to_mmd_eee_adv_t' include/linux/mdio.h:443: note: previous definition of 'ethtool_adv_to_mmd_eee_adv_t' was here Signed-off-by: Helin Zhang Acked-by: Cunming Liang Tested-by: Waterman Cao --- lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 29 ++++++++++++++++------ .../linuxapp/kni/ethtool/ixgbe/kcompat.h | 5 ++-- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h index 4c27d5d..26bf0b2 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h @@ -3534,12 +3534,13 @@ extern void _kc_skb_add_rx_frag(struct sk_buff *, int, struct page *, /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) ) #define skb_tx_timestamp(skb) do {} while (0) -#if !(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4)) -static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) +#ifndef ether_addr_equal +static inline bool __kc_ether_addr_equal(const u8 *addr1, const u8 *addr2) { return !compare_ether_addr(addr1, addr2); } -#endif +#define ether_addr_equal(_addr1, _addr2) __kc_ether_addr_equal((_addr1),(_addr2)) +#endif /* __kc_ether_addr_equal*/ #else #define HAVE_FDB_OPS #define HAVE_ETHTOOL_GET_TS_INFO @@ -3586,7 +3587,8 @@ static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) #define ADVERTISED_40000baseLR4_Full (1 << 26) #endif -#if defined(ETHTOOL_GEEE) || (RHEL_RELEASE_CODE && RHEL_RELEASE_CODE <= RHEL_RELEASE_VERSION(6,4)) +#if defined(ETHTOOL_GEEE) +#ifndef mmd_eee_cap_to_ethtool_sup_t /** * mmd_eee_cap_to_ethtool_sup_t * @eee_cap: value of the MMD EEE Capability register @@ -3594,7 +3596,7 @@ static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) * A small helper function that translates MMD EEE Capability (3.20) bits * to ethtool supported settings. */ -static inline u32 mmd_eee_cap_to_ethtool_sup_t(u16 eee_cap) +static inline u32 __kc_mmd_eee_cap_to_ethtool_sup_t(u16 eee_cap) { u32 supported = 0; @@ -3613,7 +3615,11 @@ static inline u32 mmd_eee_cap_to_ethtool_sup_t(u16 eee_cap) return supported; } +#define mmd_eee_cap_to_ethtool_sup_t(eee_cap) \ + __kc_mmd_eee_cap_to_ethtool_sup_t(eee_cap) +#endif /* __kc_mmd_eee_cap_to_ethtool_sup_t */ +#ifndef mmd_eee_adv_to_ethtool_adv_t /** * mmd_eee_adv_to_ethtool_adv_t * @eee_adv: value of the MMD EEE Advertisement/Link Partner Ability registers @@ -3622,7 +3628,7 @@ static inline u32 mmd_eee_cap_to_ethtool_sup_t(u16 eee_cap) * and MMD EEE Link Partner Ability (7.61) bits to ethtool advertisement * settings. */ -static inline u32 mmd_eee_adv_to_ethtool_adv_t(u16 eee_adv) +static inline u32 __kc_mmd_eee_adv_to_ethtool_adv_t(u16 eee_adv) { u32 adv = 0; @@ -3641,7 +3647,11 @@ static inline u32 mmd_eee_adv_to_ethtool_adv_t(u16 eee_adv) return adv; } +#define mmd_eee_adv_to_ethtool_adv_t(eee_adv) \ + __kc_mmd_eee_adv_to_ethtool_adv_t(eee_adv) +#endif /* mmd_eee_adv_to_ethtool_adv_t */ +#ifndef ethtool_adv_to_mmd_eee_adv_t /** * ethtool_adv_to_mmd_eee_adv_t * @adv: the ethtool advertisement settings @@ -3650,7 +3660,7 @@ static inline u32 mmd_eee_adv_to_ethtool_adv_t(u16 eee_adv) * to EEE advertisements for the MMD EEE Advertisement (7.60) and * MMD EEE Link Partner Ability (7.61) registers. */ -static inline u16 ethtool_adv_to_mmd_eee_adv_t(u32 adv) +static inline u16 __kc_ethtool_adv_to_mmd_eee_adv_t(u32 adv) { u16 reg = 0; @@ -3669,7 +3679,10 @@ static inline u16 ethtool_adv_to_mmd_eee_adv_t(u32 adv) return reg; } -#endif +#define ethtool_adv_to_mmd_eee_adv_t(adv) \ +__kc_ethtool_adv_to_mmd_eee_adv_t(adv) +#endif /* ethtool_adv_to_mmd_eee_adv_t */ +#endif /* */ #ifndef pci_pcie_type #if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) ) diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h index 4126d14..4e97886 100644 --- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h +++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h @@ -3107,11 +3107,12 @@ typedef netdev_features_t kni_netdev_features_t; /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) ) -#if !(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4)) -static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) +#ifndef ether_addr_equal +static inline bool __kc_ether_addr_equal(const u8 *addr1, const u8 *addr2) { return !compare_ether_addr(addr1, addr2); } +#define ether_addr_equal(_addr1, _addr2) __kc_ether_addr_equal((_addr1),(_addr2)) #endif #else #define HAVE_FDB_OPS -- 1.8.1.4