From: Luo Gaoliang <michael....@intel.com> Build error was seen on RHEL8 when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.
Build error log: /root/kni/dpdk-19.05/kernel/linux/kni/ethtool/igb/kcompat.h:3928:25: error: 'const struct net_device_ops' has no member named 'extended' #define ndo_set_vf_vlan extended.ndo_set_vf_vlan ^~~~~~~~ RHEL8 defined ndo_set_vf_vlan in net_device_ops as well as the mainline kernel. Signed-off-by: Luo Gaoliang <michael....@intel.com> --- kernel/linux/kni/ethtool/igb/kcompat.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h index 649a69c..f041a3e 100644 --- a/kernel/linux/kni/ethtool/igb/kcompat.h +++ b/kernel/linux/kni/ethtool/igb/kcompat.h @@ -3922,7 +3922,8 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) (SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0)) || \ (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4))) #define HAVE_VF_VLAN_PROTO -#if (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) +#if ((RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) && \ + (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8, 0))) /* In RHEL/Centos 7.4, the "new" version of ndo_set_vf_vlan * is in the struct net_device_ops_extended */ #define ndo_set_vf_vlan extended.ndo_set_vf_vlan -- 2.7.4