Dell R220 Centos 7.8 mTCP DPDK 18.05 ERROR: This system does not support "AES".
vincentmli opened this issue · comments
Running mTCP on an old Dell PowerEdge R220 with CPU Intel(R) Celeron(R) CPU G1820 @ 2.70GHz that does not support AES
got error when building dpdk-iface-kmod
[35] Exit Script Option: 35 Setting RTE_TARGET as x86_64-native-linuxapp-gcc /usr/src/mtcp Set RTE_SDK env variable as /usr/src/mtcp/dpdk Set RTE_TARGET env variable as x86_64-native-linuxapp-gcc Are you using an Intel NIC (y/n)? y Creating dpdk interface entries make -C /lib/modules/3.10.0-1127.el7.x86_64/build/ M=/usr/src/mtcp/dpdk-iface-kmod modules make[1]: Entering directory `/usr/src/kernels/3.10.0-1127.18.2.el7.x86_64' Building modules, stage 2. MODPOST 1 modules make[1]: Leaving directory `/usr/src/kernels/3.10.0-1127.18.2.el7.x86_64' make -C /lib/modules/3.10.0-1127.el7.x86_64/build/ M=/usr/src/mtcp/dpdk-iface-kmod modules make[1]: Entering directory `/usr/src/kernels/3.10.0-1127.18.2.el7.x86_64' Building modules, stage 2. MODPOST 1 modules make[1]: Leaving directory `/usr/src/kernels/3.10.0-1127.18.2.el7.x86_64' sudo ./dpdk_iface_main Removing existing device node entry... done. Creating device node entry... done. Setting permissions on the device node entry... done. Scanning the system for dpdk-compatible devices...ERROR: This system does not support "AES". Please check that RTE_MACHINE is set correctly. EAL: FATAL: unsupported cpu type. No Ethernet port detected! make: *** [run] Error 1
I found commit 88e5b9d "Updated DPDK to v19.08" and did
#git reset --hard HEAD^
to that commit with DPDK to v19.08.
it fixed the "ERROR: This system does not support "AES"." problem
then ran into error:
[60] Exit Script Option: 60 Setting RTE_TARGET as x86_64-native-linuxapp-gcc /usr/src/mtcp Set RTE_SDK env variable as /usr/src/mtcp/dpdk Set RTE_TARGET env variable as x86_64-native-linuxapp-gcc Are you using an Intel NIC (y/n)? y Creating dpdk interface entries CC dpdk_iface_main.c dpdk_iface_main.c:26:20: error: field ‘ports_eth_addr’ has incomplete type struct ether_addr ports_eth_addr; ^ dpdk_iface_main.c: In function ‘main’: dpdk_iface_main.c:264:2: warning: ‘rte_eth_dev_count’ is deprecated (declared at /usr/src/mtcp/dpdk/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:1603) [-Wdeprecated-declarations] num_devices = rte_eth_dev_count(); ^ make: *** [dpdk_iface_main] Error 1 CC dpdk_iface_main.c dpdk_iface_main.c:26:20: error: field ‘ports_eth_addr’ has incomplete type struct ether_addr ports_eth_addr; ^ dpdk_iface_main.c: In function ‘main’: dpdk_iface_main.c:264:2: warning: ‘rte_eth_dev_count’ is deprecated (declared at /usr/src/mtcp/dpdk/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:1603) [-Wdeprecated-declarations] num_devices = rte_eth_dev_count(); ^ make: *** [dpdk_iface_main] Error 1
had to add diff below to resolve the issue, this is a hack to run mTCP on an old server.
diff --git a/dpdk-iface-kmod/dpdk_iface_main.c b/dpdk-iface-kmod/dpdk_iface_main.c index 143cea4..ba8e199 100644 --- a/dpdk-iface-kmod/dpdk_iface_main.c +++ b/dpdk-iface-kmod/dpdk_iface_main.c @@ -19,6 +19,13 @@ #define SYSFS_PCI_UIOPCIGEN SYSFS_PCI_DRIVER_PATH"uio_pci_generic" #define RTE_ARGC_MAX (RTE_MAX_ETHPORTS << 1) + 7 /*--------------------------------------------------------------------------*/ + +#define ETHER_ADDR_LEN 6 +struct ether_addr { + uint8_t addr_bytes[ETHER_ADDR_LEN]; /**< Addr bytes in tx order */ +} __attribute__((__packed__)); + + typedef struct { PciDevice pd; struct rte_eth_dev_info dev_details;
I am wondering what is the reason revert back from DPDK v19.08 to DPDK 18.05 for mTCP