DPDK: Default to Meson-Build of DPDK. 16/73516/1
authorSridhar K. N. Rao <srao@linuxfoundation.org>
Sat, 1 Oct 2022 13:33:06 +0000 (19:03 +0530)
committerSridhar K. N. Rao <srao@linuxfoundation.org>
Sat, 1 Oct 2022 13:34:42 +0000 (19:04 +0530)
This patch makes meson based build as default.

Signed-off-by: Sridhar K. N. Rao <srao@linuxfoundation.org>
Change-Id: Ie41748342a76cf157a1afcb2e1866d8f9e01c6f2

src/dpdk/Makefile
src/dpdk/Makefile.dpdk_meson [deleted file]
src/dpdk/Makefile.legacy [new file with mode: 0755]
src/ovs/Makefile
src/ovs/Makefile.legacy [moved from src/ovs/Makefile.ovs_dpdk_meson with 88% similarity]
src/package-list.mk
src/package-list.mk.dpdk_meson [deleted file]
systems/README.md

index d5d91ab..a843494 100755 (executable)
@@ -1,7 +1,7 @@
 # makefile to manage dpdk package
 #
 
-# Copyright 2015-2016 OPNFV
+# Copyright 2022 Anuket
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@
 #   Aihua Li, Huawei Technologies.
 #   Martin Klozik, Intel Corporation.
 #   Christian Trautman, Red Hat Inc.
+#   Sridhar Rao, The Linux Foundation.
 
 include ../mk/master.mk
 include ../package-list.mk
@@ -33,73 +34,17 @@ endif
 WORK_DIR = dpdk
 TAG_DONE_FLAG = $(WORK_DIR)/.$(DPDK_TAG).tag.done
 
-# VHOST configuration options are stored in different files based on DPDK version
-# v1.2.3r0-v1.6.0r2 - configuration inside config/defconfig_x86_64-default-linuxapp-gcc
-# v1.7.0-rc1-v2.2.0 - configuration inside config/common_linuxapp
-# v16 and newer - configuration split between config/common_linuxapp and config/common_base
-DPDK_TAG_MAJOR = $(shell echo $(DPDK_TAG) | cut -d. -f1)
-DPDK_TAG_MINOR = $(shell echo $(DPDK_TAG) | cut -d. -f2)
-ifeq ($(DPDK_TAG_MAJOR),v1)
-ifeq ($(DPDK_TAG_MINOR), $(filter $(DPDK_TAG_MINOR), 7 8))
-    DPDK_TARGET = x86_64-native-linuxapp-gcc
-    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linuxapp
-else
-    DPDK_TARGET = x86_64-default-linuxapp-gcc
-    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/defconfig_x86_64-default-linuxapp-gcc
-endif
-else
-ifeq ($(DPDK_TAG_MAJOR),v2)
-    DPDK_TARGET = x86_64-native-linuxapp-gcc
-    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linuxapp
-else
-    DPDK_TARGET = x86_64-native-linuxapp-gcc
-    CONFIG_FILE_BASE = $(WORK_DIR)/config/common_base
-    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linux
-endif
-endif
-
 all: force_make
        @echo "Finished making $(WORK_DIR) "
 
 INSTALL_TARGET = force_make
 
-# modify CONFIG_FILE to enable VHOST_USER build and restore original CONFIG_FILE after the build
-# DPDK v16 comments:
-## CONFIG_RTE_BUILD_COMBINE_LIBS has been obsoleted
-## CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_LIBRTE_KNI are listed in both config_base and config_linuxapp,
-## values from config_linuxapp will be used, but options are modified at both places to avoid confusion.
 force_make: $(TAG_DONE_FLAG)
        $(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG)
-ifdef CONFIG_FILE_BASE
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_USER=.\+/CONFIG_RTE_LIBRTE_VHOST_USER=$(VHOST_USER)/g' $(CONFIG_FILE_BASE)
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST=./CONFIG_RTE_LIBRTE_VHOST=y/g' $(CONFIG_FILE_BASE)
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_BASE)
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_NUMA=./CONFIG_RTE_LIBRTE_VHOST_NUMA=y/g' $(CONFIG_FILE_BASE)
-       $(AT)sed -i -e 's/CONFIG_RTE_EAL_IGB_UIO=./CONFIG_RTE_EAL_IGB_UIO=y/g' $(CONFIG_FILE_BASE)
-else
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_USER=.\+/CONFIG_RTE_LIBRTE_VHOST_USER=$(VHOST_USER)/g' $(CONFIG_FILE_LINUXAPP)
-       $(AT)sed -i -e 's/CONFIG_RTE_BUILD_COMBINE_LIBS=./CONFIG_RTE_BUILD_COMBINE_LIBS=y/g' $(CONFIG_FILE_LINUXAPP)
-endif
-# CentOS 7.3 specific config changes to compile
-ifeq ($(ID),"centos")
-ifeq ($(VERSION_ID),"7")
-       $(AT)sed -i.bak s@'SRCS-y += ethtool/igb/igb_main.c'@'#SRCS-y += ethtool/igb/igb_main.c'@g $(WORK_DIR)/kernel/linux/kni/Makefile
-endif
-endif
-# RHEL 7.3 specific config changes to compile
-ifeq ($(ID),"rhel")
-ifeq ($(VERSION_ID),"7.3")
-       $(AT)sed -i.bak s@'SRCS-y += ethtool/igb/igb_main.c'@'#SRCS-y += ethtool/igb/igb_main.c'@g $(WORK_DIR)/kernel/linux/kni/Makefile
-endif
-endif
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST=./CONFIG_RTE_LIBRTE_VHOST=y/g' $(CONFIG_FILE_LINUXAPP)
-       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_LINUXAPP)
-       $(AT)cd $(WORK_DIR); make install T=$(DPDK_TARGET) -j DESTDIR=$(WORK_DIR)
-       $(AT)cd `dirname $(CONFIG_FILE_LINUXAPP)` && git checkout `basename $(CONFIG_FILE_LINUXAPP)` && cd -
-ifdef CONFIG_FILE_BASE
-       $(AT)cd `dirname $(CONFIG_FILE_BASE)` && git checkout `basename $(CONFIG_FILE_BASE)` && cd -
-endif
-       $(AT)echo "VHOST_USER = $(VHOST_USER)"
+       $(AT)cd $(WORK_DIR) && meson --prefix=$(CURDIR)/dpdk/build -Dtests=false build
+       $(AT)cd $(WORK_DIR) && ninja -C build
+       $(AT)cd $(WORK_DIR) && ninja -C build install
+       $(AT)cd $(WORK_DIR) && cd build && meson configure -Denable_kmods=true && ninja
        @echo "Make done"
 
 install: $(INSTALL_TARGET)
diff --git a/src/dpdk/Makefile.dpdk_meson b/src/dpdk/Makefile.dpdk_meson
deleted file mode 100755 (executable)
index d0dd9e1..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# makefile to manage dpdk package
-#
-
-# Copyright 2022 Anuket
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# Contributors:
-#   Aihua Li, Huawei Technologies.
-#   Martin Klozik, Intel Corporation.
-#   Christian Trautman, Red Hat Inc.
-#   Sridhar Rao, The Linux Foundation.
-
-include ../mk/master.mk
-include ../package-list.mk
-include /etc/os-release
-
-.PHONY: install force_make
-
-ifndef VHOST_USER
-    VHOST_USER = n
-endif
-WORK_DIR = dpdk
-TAG_DONE_FLAG = $(WORK_DIR)/.$(DPDK_TAG).tag.done
-
-all: force_make
-       @echo "Finished making $(WORK_DIR) "
-
-INSTALL_TARGET = force_make
-
-force_make: $(TAG_DONE_FLAG)
-       $(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG)
-       $(AT)cd $(WORK_DIR) && meson build
-       $(AT)cd $(WORK_DIR) && cd build && meson configure -Denable_kmods=true && ninja
-       @echo "Make done"
-
-install: $(INSTALL_TARGET)
-       $(AT)sudo cp -a $(WORK_DIR)/$(DPDK_TARGET)/kmod $(INSTALL_DIR)/lib/modules/$(KERNEL_VERSION)
-       @echo "install done"
-
-# hard way to clean and clobber
-clean:
-       $(AT)cd $(WORK_DIR) && git clean -xfd *.o
-clobber:
-       $(AT)rm -rf $(WORK_DIR)
-
-# distclean is for developer who would like to keep the
-# clone git repo, saving time to fetch again from url
-distclean:
-       $(AT)cd $(WORK_DIR) && git clean -xfd && git checkout -f
-
-test:
-       @echo "Make test in $(WORK_DIR) (stub) "
-
-sanity:
-       @echo "Make sanity in $(WORK_DIR) (stub) "
-
-$(WORK_DIR):
-       $(AT)git clone $(DPDK_URL) dpdk
-
-$(TAG_DONE_FLAG): $(WORK_DIR)
-       $(AT)cd $(WORK_DIR); git checkout $(DPDK_TAG)
-       $(AT)touch $@
diff --git a/src/dpdk/Makefile.legacy b/src/dpdk/Makefile.legacy
new file mode 100755 (executable)
index 0000000..d5d91ab
--- /dev/null
@@ -0,0 +1,131 @@
+# makefile to manage dpdk package
+#
+
+# Copyright 2015-2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Contributors:
+#   Aihua Li, Huawei Technologies.
+#   Martin Klozik, Intel Corporation.
+#   Christian Trautman, Red Hat Inc.
+
+include ../mk/master.mk
+include ../package-list.mk
+include /etc/os-release
+
+.PHONY: install force_make
+
+ifndef VHOST_USER
+    VHOST_USER = n
+endif
+WORK_DIR = dpdk
+TAG_DONE_FLAG = $(WORK_DIR)/.$(DPDK_TAG).tag.done
+
+# VHOST configuration options are stored in different files based on DPDK version
+# v1.2.3r0-v1.6.0r2 - configuration inside config/defconfig_x86_64-default-linuxapp-gcc
+# v1.7.0-rc1-v2.2.0 - configuration inside config/common_linuxapp
+# v16 and newer - configuration split between config/common_linuxapp and config/common_base
+DPDK_TAG_MAJOR = $(shell echo $(DPDK_TAG) | cut -d. -f1)
+DPDK_TAG_MINOR = $(shell echo $(DPDK_TAG) | cut -d. -f2)
+ifeq ($(DPDK_TAG_MAJOR),v1)
+ifeq ($(DPDK_TAG_MINOR), $(filter $(DPDK_TAG_MINOR), 7 8))
+    DPDK_TARGET = x86_64-native-linuxapp-gcc
+    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linuxapp
+else
+    DPDK_TARGET = x86_64-default-linuxapp-gcc
+    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/defconfig_x86_64-default-linuxapp-gcc
+endif
+else
+ifeq ($(DPDK_TAG_MAJOR),v2)
+    DPDK_TARGET = x86_64-native-linuxapp-gcc
+    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linuxapp
+else
+    DPDK_TARGET = x86_64-native-linuxapp-gcc
+    CONFIG_FILE_BASE = $(WORK_DIR)/config/common_base
+    CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linux
+endif
+endif
+
+all: force_make
+       @echo "Finished making $(WORK_DIR) "
+
+INSTALL_TARGET = force_make
+
+# modify CONFIG_FILE to enable VHOST_USER build and restore original CONFIG_FILE after the build
+# DPDK v16 comments:
+## CONFIG_RTE_BUILD_COMBINE_LIBS has been obsoleted
+## CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_LIBRTE_KNI are listed in both config_base and config_linuxapp,
+## values from config_linuxapp will be used, but options are modified at both places to avoid confusion.
+force_make: $(TAG_DONE_FLAG)
+       $(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG)
+ifdef CONFIG_FILE_BASE
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_USER=.\+/CONFIG_RTE_LIBRTE_VHOST_USER=$(VHOST_USER)/g' $(CONFIG_FILE_BASE)
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST=./CONFIG_RTE_LIBRTE_VHOST=y/g' $(CONFIG_FILE_BASE)
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_BASE)
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_NUMA=./CONFIG_RTE_LIBRTE_VHOST_NUMA=y/g' $(CONFIG_FILE_BASE)
+       $(AT)sed -i -e 's/CONFIG_RTE_EAL_IGB_UIO=./CONFIG_RTE_EAL_IGB_UIO=y/g' $(CONFIG_FILE_BASE)
+else
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST_USER=.\+/CONFIG_RTE_LIBRTE_VHOST_USER=$(VHOST_USER)/g' $(CONFIG_FILE_LINUXAPP)
+       $(AT)sed -i -e 's/CONFIG_RTE_BUILD_COMBINE_LIBS=./CONFIG_RTE_BUILD_COMBINE_LIBS=y/g' $(CONFIG_FILE_LINUXAPP)
+endif
+# CentOS 7.3 specific config changes to compile
+ifeq ($(ID),"centos")
+ifeq ($(VERSION_ID),"7")
+       $(AT)sed -i.bak s@'SRCS-y += ethtool/igb/igb_main.c'@'#SRCS-y += ethtool/igb/igb_main.c'@g $(WORK_DIR)/kernel/linux/kni/Makefile
+endif
+endif
+# RHEL 7.3 specific config changes to compile
+ifeq ($(ID),"rhel")
+ifeq ($(VERSION_ID),"7.3")
+       $(AT)sed -i.bak s@'SRCS-y += ethtool/igb/igb_main.c'@'#SRCS-y += ethtool/igb/igb_main.c'@g $(WORK_DIR)/kernel/linux/kni/Makefile
+endif
+endif
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST=./CONFIG_RTE_LIBRTE_VHOST=y/g' $(CONFIG_FILE_LINUXAPP)
+       $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_LINUXAPP)
+       $(AT)cd $(WORK_DIR); make install T=$(DPDK_TARGET) -j DESTDIR=$(WORK_DIR)
+       $(AT)cd `dirname $(CONFIG_FILE_LINUXAPP)` && git checkout `basename $(CONFIG_FILE_LINUXAPP)` && cd -
+ifdef CONFIG_FILE_BASE
+       $(AT)cd `dirname $(CONFIG_FILE_BASE)` && git checkout `basename $(CONFIG_FILE_BASE)` && cd -
+endif
+       $(AT)echo "VHOST_USER = $(VHOST_USER)"
+       @echo "Make done"
+
+install: $(INSTALL_TARGET)
+       $(AT)sudo cp -a $(WORK_DIR)/$(DPDK_TARGET)/kmod $(INSTALL_DIR)/lib/modules/$(KERNEL_VERSION)
+       @echo "install done"
+
+# hard way to clean and clobber
+clean:
+       $(AT)cd $(WORK_DIR) && git clean -xfd *.o
+clobber:
+       $(AT)rm -rf $(WORK_DIR)
+
+# distclean is for developer who would like to keep the
+# clone git repo, saving time to fetch again from url
+distclean:
+       $(AT)cd $(WORK_DIR) && git clean -xfd && git checkout -f
+
+test:
+       @echo "Make test in $(WORK_DIR) (stub) "
+
+sanity:
+       @echo "Make sanity in $(WORK_DIR) (stub) "
+
+$(WORK_DIR):
+       $(AT)git clone $(DPDK_URL) dpdk
+
+$(TAG_DONE_FLAG): $(WORK_DIR)
+       $(AT)cd $(WORK_DIR); git checkout $(DPDK_TAG)
+       $(AT)touch $@
index e3adc2f..2c0c007 100644 (file)
@@ -1,7 +1,7 @@
 # makefile to manage ovs package
 #
 
-# Copyright 2015 OPNFV
+# Copyright 2022 Anuket
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
 #
 # Contributors:
 #   Aihua Li, Huawei Technologies.
+#   Sridhar Rao, The Linux Foundation
 
 include ../mk/master.mk
 include ../package-list.mk
@@ -48,10 +49,16 @@ ifeq ($(DPDK_DIR),)
 DPDK_DIR = ../../dpdk/dpdk
 endif
 
-ifeq ($(DPDK_TARGET),)
-DPDK_TARGET = x86_64-native-linuxapp-gcc
-endif
-CONFIG_CMD += --with-dpdk=$(DPDK_DIR)/$(DPDK_TARGET)
+DPDK_LIB = $(DPDK_DIR)/build/lib/x86_64-linux-gnu
+LD_CONFIG_PATH := $(DPDK_LIB)/:$(LD_CONFIG_PATH)
+PKG_CONFIG_PATH := $(DPDK_LIB)/pkgconfig/:$(PKG_CONFIG_PATH)
+
+export LD_CONFIG_PATH
+export PKG_CONFIG_PATH
+
+# echo $$ENV{LD_CONFIG_PATH}
+
+CONFIG_CMD += --with-dpdk=shared
 CONFIG_CMD += CFLAGS="-g -O2 -Wno-cast-align"
 
 endif # Kernel vs. DPDK
@@ -65,7 +72,7 @@ all: force_make
        @echo "Finished making $(WORK_DIR) "
 
 config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure
-       $(AT)cd $(WORK_DIR); $(CONFIG_CMD)
+       $(AT)cd $(WORK_DIR); LD_LIBRARY_PATH=$(DPDK_LIB) PKG_CONFIG_PATH=$(DPDK_LIB)/pkgconfig/ $(CONFIG_CMD)
        @echo "Configure done"
 
 INSTALL_TARGET = force_install force_make
similarity index 88%
rename from src/ovs/Makefile.ovs_dpdk_meson
rename to src/ovs/Makefile.legacy
index 4b4d997..e3adc2f 100644 (file)
@@ -1,7 +1,7 @@
 # makefile to manage ovs package
 #
 
-# Copyright 2022 Anuket
+# Copyright 2015 OPNFV
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@
 #
 # Contributors:
 #   Aihua Li, Huawei Technologies.
-#   Sridhar Rao, The Linux Foundation
 
 include ../mk/master.mk
 include ../package-list.mk
@@ -44,14 +43,15 @@ else # Building with DPDK
 # it can be passed in from Makefile command
 # if it is not set, try to read it in from environment
 # if it is still not set, then set it using relative path
-PKG_CONFIG_PATH := ../dpdk/dpdk/build/meson-private
-LD_CONFIG_PATH := ../dpdk/dpdk/build/lib
-export LD_CONFIG_PATH
-export PKG_CONFIG_PATH
-
-# echo $$ENV{LD_CONFIG_PATH}
+DPDK_DIR ?= $(shell echo $$DPDK_DIR)
+ifeq ($(DPDK_DIR),)
+DPDK_DIR = ../../dpdk/dpdk
+endif
 
-CONFIG_CMD += --with-dpdk=shared
+ifeq ($(DPDK_TARGET),)
+DPDK_TARGET = x86_64-native-linuxapp-gcc
+endif
+CONFIG_CMD += --with-dpdk=$(DPDK_DIR)/$(DPDK_TARGET)
 CONFIG_CMD += CFLAGS="-g -O2 -Wno-cast-align"
 
 endif # Kernel vs. DPDK
@@ -65,7 +65,7 @@ all: force_make
        @echo "Finished making $(WORK_DIR) "
 
 config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure
-       $(AT)cd $(WORK_DIR); LD_CONFIG_PATH=../../dpdk/dpdk/build/lib PKG_CONFIG_PATH=../../dpdk/dpdk/build/meson-private $(CONFIG_CMD)
+       $(AT)cd $(WORK_DIR); $(CONFIG_CMD)
        @echo "Configure done"
 
 INSTALL_TARGET = force_install force_make
index 49aa82c..c11a04f 100644 (file)
 # dpdk section
 # DPDK_URL ?= git://dpdk.org/dpdk
 DPDK_URL ?= http://dpdk.org/git/dpdk
-DPDK_TAG ?= v20.05
+DPDK_TAG ?= v21.11
 
 # OVS section
 OVS_URL ?= https://github.com/openvswitch/ovs
-OVS_TAG ?= v2.14.0
+OVS_TAG ?= v2.17.2
 
 # VPP section
 VPP_URL ?= https://git.fd.io/vpp
diff --git a/src/package-list.mk.dpdk_meson b/src/package-list.mk.dpdk_meson
deleted file mode 100644 (file)
index 3c219e5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2016-2017 Intel corporation.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Upstream Package List
-#
-# Everything here is defined as its suggested default
-# value, it can always be overriden when invoking Make
-
-# dpdk section
-# DPDK_URL ?= git://dpdk.org/dpdk
-DPDK_URL ?= http://dpdk.org/git/dpdk
-DPDK_TAG ?= v22.03
-
-# OVS section
-OVS_URL ?= https://github.com/openvswitch/ovs
-OVS_TAG ?= v2.17.0
-
-# VPP section
-VPP_URL ?= https://git.fd.io/vpp
-VPP_TAG ?= v21.01
-
-# QEMU section
-QEMU_URL ?= https://github.com/qemu/qemu.git
-QEMU_TAG ?= v3.1.1
-
-# TREX section
-TREX_URL ?= https://github.com/cisco-system-traffic-generator/trex-core.git
-TREX_TAG ?= v2.86
index 60f903c..d0812a8 100644 (file)
@@ -10,13 +10,14 @@ One time setup:
 
 On a freshly built system, run the following with a super user privilege
 or with password less sudo access.
-
-./build_base_machine.sh
+```
+    ./build_base_machine.sh
+```
 
 If you want to use vsperf in trafficgen-mode ONLY, then add a parameter.
-
-./build_base_machine.sh trafficgen
-
+```
+    ./build_base_machine.sh trafficgen
+```
 
 Newer Kernel Versions:
 ----------------------
@@ -26,5 +27,16 @@ May need following changes:
 1. In src/l2fwd/l2fwd.c, comment out the line with xmit_more (193).
 
 2. In src/qemu/Makefile, In line 30, we MAY have to add the following:
-   --disable-werror --python='/usr/bin/python3'
+```
+    --disable-werror 
+```
+3. In src/qemu/Makefile, In line 31, we MAY have to change python flag to:
+```
+    --python='/usr/bin/python3'
+```
+4. If Fedora 32+ is used, then change the line 52 in src/ovs/Makefile to:
+```   
+    DPDK_LIB = $(DPDK_DIR)/build/lib64
+```
+