# vector packet processor
vpp_arch = native
+ifeq ($(shell uname -m),x86_64)
+vpp_march = corei7 # Nehalem Instruction set
+vpp_mtune = corei7-avx # Optimize for Sandy Bridge
+else ifeq ($(shell uname -m),aarch64)
+ifeq ($(TARGET_PLATFORM),thunderx)
+vpp_march = armv8-a+crc
+vpp_mtune = thunderx
+vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
+else
+vpp_march = native
+vpp_mtune = generic
+endif
+endif
vpp_native_tools = vppapigen
-vpp_root_packages = vpp vlib vlib-api vnet svm dpdk vpp-api-test \
- vpp-japi
+vpp_uses_dpdk = yes
-vpp_configure_args_vpp = --with-dpdk
-vnet_configure_args_vpp = --with-dpdk
+# Uncoment to enable building unit tests
+# vpp_enable_tests = yes
-# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e.
-# dpdk_headroom = uiotarball_headroom = vlib_pre_data + 128
-dpdk_configure_args_vpp = --with-headroom=256
-vlib_configure_args_vpp = --with-pre-data=128
+vpp_root_packages = vpp gmod
+# DPDK configuration parameters
+# vpp_uses_dpdk_cryptodev_sw = yes
+# vpp_uses_dpdk_mlx5_pmd = yes
+# vpp_uses_external_dpdk = yes
+# vpp_dpdk_inc_dir = /usr/include/dpdk
+# vpp_dpdk_lib_dir = /usr/lib
+# vpp_dpdk_shared_lib = yes
vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector-all -fPIC
+ -fstack-protector-all -fPIC -Werror
vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector-all -fPIC
+ -fstack-protector-all -fPIC -Werror
+
+vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fstack-protector -fPIC -Werror
+vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fstack-protector -fPIC -Werror
+
+vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fstack-protector -fPIC -Werror
+vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fstack-protector -fPIC -Werror
+
+vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
+ -fPIC -Werror -fprofile-arcs -ftest-coverage
+vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
+ -fPIC -Werror -coverage
+
+vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fPIC -Werror -D__COVERITY__
+vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
+ -fPIC -Werror -D__COVERITY__
-vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector -fPIC
-vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector -fPIC