dpdk: prevent linking dpdk against libbsd

If libbsd is detected by the DPDK build system, DPDK does not provide
implementations for strlcpy and dynamically link against the one
provided by libbsd. When the DPDK plugin is loaded by VPP, a crash
occurs because libbsd is not loaded by VPP.

Type: fix
Change-Id: Ib691bbe27edcf0f6f0a3d39952e439027cef72cb
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
This commit is contained in:
Mohammed Hawari
2020-09-18 21:47:04 +02:00
committed by Damjan Marion
parent 5cc11b1210
commit 1f799bc3cb
+16 -1
View File
@@ -12,6 +12,7 @@
# limitations under the License.
DPDK_PKTMBUF_HEADROOM ?= 128
DPDK_USE_LIBBSD ?= n
DPDK_DEBUG ?= n
DPDK_MLX4_PMD ?= n
DPDK_MLX5_PMD ?= n
@@ -118,6 +119,19 @@ echo '$(HASH)define RTE_$(1) $(DPDK_$(1))' \
fi
endef
define dpdk_config_def
if [[ "$(DPDK_$(1))" == "y" ]]; then \
if ! grep -q "RTE_$(1)" $(dpdk_build_dir)/rte_build_config.h \
$(dpdk_src_dir)/config/rte_config.h ; then \
echo '$(HASH)define RTE_$(1) 1' \
>> $(dpdk_build_dir)/rte_build_config.h ; \
fi; \
elif [[ "$(DPDK_$(1))" == "n" ]]; then \
sed -i '/$(HASH)define RTE_$(1) .*/d' $(dpdk_build_dir)/rte_build_config.h \
$(dpdk_src_dir)/config/rte_config.h ; \
fi
endef
DPDK_MESON_ARGS = \
--default-library static \
--libdir lib \
@@ -143,7 +157,8 @@ define dpdk_config_cmds
deactivate && \
echo "DPDK post meson configuration" && \
echo "Altering rte_build_config.h" && \
$(call dpdk_config,PKTMBUF_HEADROOM)
$(call dpdk_config,PKTMBUF_HEADROOM) && \
$(call dpdk_config_def,USE_LIBBSD)
endef
define dpdk_build_cmds