From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Helin" Subject: Re: [PATCH] kni: fix compile errors on Oracle Linux6.4 and RHEL6.5 Date: Tue, 10 Jun 2014 14:59:13 +0000 Message-ID: References: <1402303135-28248-1-git-send-email-helin.zhang@intel.com> <3962139.NISuUL0v1x@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "dev-VfR2kkLFssw@public.gmane.org" To: Thomas Monjalon Return-path: In-Reply-To: <3962139.NISuUL0v1x@xps13> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi Thomas Were you talking about the "#ifndef ether_addr_equal "? The compile errors I copied in that patch shows that the function has alrea= dy been defined in include/linux/etherdevice.h on Oracle Linux6.4. In this = case, it seems not always true as you said. The method came from the standard Linux driver, so I think it should be use= ful and has been reviewed by Linux kernel community. Oops, it seems that there are useless code which I need to remove. I will u= pdate it later! Thank you very much for the pointing! Regards, Helin -----Original Message----- From: Thomas Monjalon [mailto:thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org]=20 Sent: Tuesday, June 10, 2014 6:03 PM To: Zhang, Helin Cc: dev-VfR2kkLFssw@public.gmane.org Subject: Re: [dpdk-dev] [PATCH] kni: fix compile errors on Oracle Linux6.4 = and RHEL6.5 Hi Helin, 2014-06-09 16:38, Helin Zhang: > #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) ) #define=20 > skb_tx_timestamp(skb) do {} while (0) -#if !(RHEL_RELEASE_CODE &&=20 > RHEL_RELEASE_CODE >=3D RHEL_RELEASE_VERSION(6,4)) -static inline bool=20 > ether_addr_equal(const u8 *addr1, const u8 *addr2) > +#ifndef ether_addr_equal It should be always true as it is a function (not known by the preprocessor= ). > +static inline bool __kc_ether_addr_equal(const u8 *addr1, const u8=20 > +*addr2) > { > return !compare_ether_addr(addr1, addr2); } -#endif > +#define ether_addr_equal(_addr1, _addr2)=20 > +__kc_ether_addr_equal((_addr1),(_addr2)) > +#endif /* __kc_ether_addr_equal*/ So it is always replacing ether_addr_equal() by a kcompat equivalent for ol= d kernels, even if ether_addr_equal() is already defined as a C function. Just to confirm: is it really what we want? [...] > -#endif > +#define ethtool_adv_to_mmd_eee_adv_t(adv) \ > +__kc_ethtool_adv_to_mmd_eee_adv_t(adv) An indentation is missing here. > +#endif /* ethtool_adv_to_mmd_eee_adv_t */ #endif /* */ Why an empty comment? Thanks -- Thomas