> -----Original Message----- > From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Thursday, March 01, 2018 5:18 PM > To: Roberts, Lee A. <lee.robe...@hpe.com> > Cc: ferruh.yi...@intel.com; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] kni: fix compilation under RHEL 7.5 > > On Thu, 1 Mar 2018 16:20:35 -0700 > Lee Roberts <lee.robe...@hpe.com> wrote: > > > Fix kni compilation under RHEL 7.5. > > > > Signed-off-by: Lee Roberts <lee.robe...@hpe.com> > > --- > > lib/librte_eal/linuxapp/kni/compat.h | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/lib/librte_eal/linuxapp/kni/compat.h > > b/lib/librte_eal/linuxapp/kni/compat.h > > index 3f8c0bc..6a6968d 100644 > > --- a/lib/librte_eal/linuxapp/kni/compat.h > > +++ b/lib/librte_eal/linuxapp/kni/compat.h > > @@ -101,6 +101,11 @@ > > #undef NET_NAME_UNKNOWN > > #endif > > > > +#if (defined(RHEL_RELEASE_CODE) && \ > > + (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 5))) > > +#define ndo_change_mtu ndo_change_mtu_rh74 > > +#endif > > + > > #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) > > #define HAVE_SIGNAL_FUNCTIONS_OWN_HEADER > > #endif > > Do we really want upstream DPDK trying to track every vendor kernel > compatibility wart? > Should Redhat be owning this in their own DPDK package?
If I look at the first few lines of ../lib/librte_eal/linuxapp/kni/compat.h, it appears that tracking changes in RHEL and SLES is certainly part of the purpose of this file: 1 /* 2 * Minimal wrappers to allow compiling kni on older kernels. 3 */ 4 5 #include <linux/version.h> 6 7 #ifndef RHEL_RELEASE_VERSION 8 #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) 9 #endif 10 11 /* SuSE version macro is the same as Linux kernel version */ 12 #ifndef SLE_VERSION 13 #define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c) 14 #endif 15 #ifdef CONFIG_SUSE_KERNEL If you want to remove the vendor dependency, I'd suggest the following actions: 1) Submit a patch to remove the RHEL- and SLES-specific code. 2) Disable KNI by default in the build system. - Lee