[dpdk-dev] [PATCH] kni: fix compile errors on Oracle Linux6.4 and RHEL6.5
Zhang, Helin
helin.zhang at intel.com
Tue Jun 10 16:59:13 CEST 2014
Hi Thomas
Were you talking about the "#ifndef ether_addr_equal "?
The compile errors I copied in that patch shows that the function has already 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 useful and has been reviewed by Linux kernel community.
Oops, it seems that there are useless code which I need to remove. I will update it later! Thank you very much for the pointing!
Regards,
Helin
-----Original Message-----
From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
Sent: Tuesday, June 10, 2014 6:03 PM
To: Zhang, Helin
Cc: dev at dpdk.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
> 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
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
> +*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*/
So it is always replacing ether_addr_equal() by a kcompat equivalent for old 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
More information about the dev
mailing list