When compiling DPDK 2.1.0 on RHEL 7.2, errors are encountered in ../librte_eal/linuxapp/kni/ethtool/igb/igb_main.c. The following changes can be applied relative to dpdk-2.2.0-rc2 to resolve these issues.
- Lee Roberts [root at dp91 lroberts]# diff -rc dpdk-2.2.0-rc2 dpdk-2.2.0-rc2-rhel7.2 diff -rc dpdk-2.2.0-rc2/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c dpdk-2.2.0-rc2-rhel7.2/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c *** dpdk-2.2.0-rc2/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c 2015-11-25 16:45:50.000000000 -0700 --- dpdk-2.2.0-rc2-rhel7.2/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c 2015-12-03 10:45:17.574014636 -0700 *************** *** 2274,2280 **** else mode = BRIDGE_MODE_VEPA; ! #ifdef HAVE_NDO_FDB_ADD_VID #ifdef HAVE_NDO_BRIDGE_GETLINK_NLFLAGS #ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK_VLAN_FILL return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, --- 2274,2280 ---- else mode = BRIDGE_MODE_VEPA; ! #ifdef HAVE_NDO_DFLT_BRIDGE_ADD_MASK #ifdef HAVE_NDO_BRIDGE_GETLINK_NLFLAGS #ifdef HAVE_NDO_BRIDGE_GETLINK_FILTER_MASK_VLAN_FILL return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, *************** *** 2287,2293 **** #endif /* HAVE_NDO_BRIDGE_GETLINK_NLFLAGS */ #else return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode); ! #endif /* HAVE_NDO_FDB_ADD_VID */ } #endif /* HAVE_BRIDGE_ATTRIBS */ #endif /* NTF_SELF */ --- 2287,2293 ---- #endif /* HAVE_NDO_BRIDGE_GETLINK_NLFLAGS */ #else return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode); ! #endif /* HAVE_NDO_DFLT_BRIDGE_ADD_MASK */ } #endif /* HAVE_BRIDGE_ATTRIBS */ #endif /* NTF_SELF */ diff -rc dpdk-2.2.0-rc2/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h dpdk-2.2.0-rc2-rhel7.2/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h *** dpdk-2.2.0-rc2/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h 2015-11-25 16:45:50.000000000 -0700 --- dpdk-2.2.0-rc2-rhel7.2/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h 2015-12-03 10:51:09.551371049 -0700 *************** *** 3881,3900 **** #endif /* < RHEL7 */ #endif /* < 3.14.0 */ ! #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0) ) #define SET_ETHTOOL_OPS(netdev, ops) ((netdev)->ethtool_ops = (ops)) #define HAVE_VF_MIN_MAX_TXRATE 1 #endif /* >= 3.16.0 */ ! #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) ) #define HAVE_NDO_FDB_ADD_VID #endif /* >= 3.19.0 */ ! #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) ) /* vlan_tx_xx functions got renamed to skb_vlan */ #define vlan_tx_tag_get skb_vlan_tag_get #define vlan_tx_tag_present skb_vlan_tag_present #define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS #endif /* 4.0.0 */ #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) ) --- 3881,3909 ---- #endif /* < RHEL7 */ #endif /* < 3.14.0 */ ! #if (( LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0) ) \ ! || ( RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,2) )) ! #undef SET_ETHTOOL_OPS #define SET_ETHTOOL_OPS(netdev, ops) ((netdev)->ethtool_ops = (ops)) #define HAVE_VF_MIN_MAX_TXRATE 1 #endif /* >= 3.16.0 */ ! #if (( LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) ) \ ! || ( RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,2) )) ! #define HAVE_NDO_DFLT_BRIDGE_ADD_MASK ! #if (!( RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,2) )) #define HAVE_NDO_FDB_ADD_VID + #endif /* !RHEL 7.2 */ #endif /* >= 3.19.0 */ ! #if (( LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) ) \ ! || ( RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,2) )) /* vlan_tx_xx functions got renamed to skb_vlan */ #define vlan_tx_tag_get skb_vlan_tag_get #define vlan_tx_tag_present skb_vlan_tag_present + #if (!( RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,2) )) #define HAVE_NDO_BRIDGE_SET_DEL_LINK_FLAGS + #endif /* !RHEL 7.2 */ #endif /* 4.0.0 */ #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) ) [root at dp91 lroberts]#