DPDK build: fix l3fwd build and update Meson opts
[csit.git] / resources / libraries / bash / function / dpdk.sh
index 3625243..ea7871b 100644 (file)
@@ -86,17 +86,20 @@ function dpdk_compile () {
 
     pushd "${DPDK_DIR}" || die "Pushd failed"
 
-    # Patch ARM.
-    sed_file="config/arm/meson.build"
-    sed_cmd="s/'RTE_MAX_LCORE', [0-9]*/'RTE_MAX_LCORE', $(nproc --all)/"
-    sed -i "${sed_cmd}" "${sed_file}" || die "RTE_MAX_LCORE Patch failed"
-    sed_cmd="s/'RTE_MAX_NUMA_NODES', [0-9]*/'RTE_MAX_NUMA_NODES', "
-    sed_cmd+="$(echo /sys/devices/system/node/node* | wc -w)/"
-    sed -i "${sed_cmd}" "${sed_file}" || die "RTE_MAX_NUMA_NODES Patch failed"
+    # enable l3fwd
+    meson_options="-Dexamples=l3fwd "
+
+    # i40e specific options
+    meson_options="${meson_options} -Dc_args=RTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
+
+    # Configure generic build - the same used by VPP
+    meson_options="${meson_options} -Dplatform=generic"
 
     # Patch L3FWD.
-    sed_rxd="s/^#define RTE_TEST_RX_DESC_DEFAULT 128/#define RTE_TEST_RX_DESC_DEFAULT 1024/g"
-    sed_txd="s/^#define RTE_TEST_TX_DESC_DEFAULT 512/#define RTE_TEST_TX_DESC_DEFAULT 1024/g"
+    sed_rxd="s/^#define RTE_TEST_RX_DESC_DEFAULT 128"
+    sed_rxd+="/#define RTE_TEST_RX_DESC_DEFAULT 1024/g"
+    sed_txd="s/^#define RTE_TEST_TX_DESC_DEFAULT 512"
+    sed_txd+="/#define RTE_TEST_TX_DESC_DEFAULT 1024/g"
     sed_file="./main.c"
     pushd examples/l3fwd || die "Pushd failed"
     sed -i "${sed_rxd}" "${sed_file}" || die "Patch failed"
@@ -104,9 +107,7 @@ function dpdk_compile () {
     popd || die "Popd failed"
 
     # Compile using Meson and Ninja.
-    export CFLAGS=""
-    CFLAGS+="-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
-    meson -Dexamples=l3fwd build || {
+    meson ${meson_options} build || {
         die "Failed to compile DPDK!"
     }
     ninja -C build || die "Failed to compile DPDK!"
@@ -207,8 +208,10 @@ function dpdk_l3fwd_compile () {
 
     pushd "${DPDK_DIR}" || die "Pushd failed"
     # Patch L3FWD.
-    sed_rxd="s/^#define RTE_TEST_RX_DESC_DEFAULT 128/#define RTE_TEST_RX_DESC_DEFAULT 2048/g"
-    sed_txd="s/^#define RTE_TEST_TX_DESC_DEFAULT 512/#define RTE_TEST_TX_DESC_DEFAULT 2048/g"
+    sed_rxd="s/^#define RTE_TEST_RX_DESC_DEFAULT 128"
+    sed_rxd+="/#define RTE_TEST_RX_DESC_DEFAULT 2048/g"
+    sed_txd="s/^#define RTE_TEST_TX_DESC_DEFAULT 512"
+    sed_txd+="/#define RTE_TEST_TX_DESC_DEFAULT 2048/g"
     sed_file="./main.c"
     pushd examples/l3fwd || die "Pushd failed"
     sed -i "${sed_rxd}" "${sed_file}" || die "Patch failed"