summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author童宗振 <[email protected]>2024-01-17 02:44:24 +0000
committer陆秋文 <[email protected]>2024-01-17 02:44:24 +0000
commite0433fc974a91a2ec7a6939325a47a74b01f450e (patch)
treec530a6d0147f4cb733211558becb60988ca409d9
parent4b061783cf6771a47b39fd34443c81cd0ea7fe14 (diff)
refactor ci
-rw-r--r--.gitignore2
-rw-r--r--.gitlab-ci.yml572
-rw-r--r--CMakeLists.txt68
-rw-r--r--Testing/Temporary/CTestCostData.txt1
-rw-r--r--dpdk/dpdk-17.05.2.tar.xzbin9919440 -> 0 bytes
-rw-r--r--dpdk/patch/dpdk-17.05-config.patch60
-rw-r--r--dpdk/patch/dpdk-17.05-debug-config.patch66
-rw-r--r--dpdk/patch/dpdk-17.05-pdump.patch125
-rw-r--r--support/CMakeLists.txt12
-rw-r--r--test/CMakeLists.txt120
-rw-r--r--test/fuzzing/CMakeLists.txt (renamed from fuzzing/CMakeLists.txt)0
-rw-r--r--test/fuzzing/FuzzingPktParser.cc (renamed from fuzzing/FuzzingPktParser.cc)0
-rw-r--r--test/fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan (renamed from fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan)bin168 -> 168 bytes
-rw-r--r--test/fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS (renamed from fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS)bin143 -> 143 bytes
-rw-r--r--test/fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u (renamed from fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u)bin1498 -> 1498 bytes
-rw-r--r--test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4 (renamed from fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4)bin82 -> 82 bytes
-rw-r--r--test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4 (renamed from fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4)bin214 -> 214 bytes
-rw-r--r--test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4 (renamed from fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4)bin66 -> 66 bytes
-rw-r--r--test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner (renamed from fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner)bin195 -> 195 bytes
-rw-r--r--test/fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP (renamed from fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP)bin119 -> 119 bytes
-rw-r--r--test/post_install_test/package_content_test.py168
-rw-r--r--test/ptf_test/CMakeLists.txt119
-rw-r--r--test/ptf_test/bfd_test.py (renamed from test/bfd_test.py)0
-rw-r--r--test/ptf_test/bridge_test.py (renamed from test/bridge_test.py)0
-rw-r--r--test/ptf_test/classifier_test.py (renamed from test/classifier_test.py)0
-rw-r--r--test/ptf_test/common_pkt.py (renamed from test/common_pkt.py)0
-rw-r--r--test/ptf_test/create_veth.sh (renamed from test/create_veth.sh)0
-rw-r--r--test/ptf_test/endpoint_dev_test.py (renamed from test/endpoint_dev_test.py)0
-rw-r--r--test/ptf_test/etherfabric_test.py (renamed from test/etherfabric_test.py)0
-rw-r--r--test/ptf_test/health_check_test.py (renamed from test/health_check_test.py)0
-rw-r--r--test/ptf_test/load_balance_test.py (renamed from test/load_balance_test.py)0
-rw-r--r--test/ptf_test/mrzcpd.py (renamed from test/mrzcpd.py)8
-rw-r--r--test/ptf_test/msgpack_test.py (renamed from test/msgpack_test.py)0
-rw-r--r--test/ptf_test/tera_test.py (renamed from test/tera_test.py)0
-rw-r--r--test/ptf_test/vwire_test.py (renamed from test/vwire_test.py)0
35 files changed, 484 insertions, 837 deletions
diff --git a/.gitignore b/.gitignore
index 396968f..f13b3bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,7 +18,7 @@ __pycache__
mpack*/
mrglobal*.conf
build*/
-test/test
+test/ptf_test/ptf_test
/*.opendb
/.vs/marsio1/v14/.suo
/x64/Debug/marsio1.tlog
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f72ae77..51eb02d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,439 +2,167 @@ variables:
GIT_STRATEGY: "clone"
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:dpdk-21-11-mlx5-el8"
BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/marsio-build-env:dpdk-21-11-mlx5-el7"
+ BUILD_ROOT_DIR: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH/build
stages:
-- build
-- package
-- deploy
+ - build
+ - package
.build_before_script:
before_script:
- - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/
- - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
- - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
+ - pip3 install msgpack
+ - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/
+ - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
+ - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
-.build_mrzcpd_for_centos8:
- image: $BUILD_IMAGE_CENTOS8
- extends: .build_before_script
- script:
- - mkdir -p build
- - cd build
- - cmake3 .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DMACHINE=$MACHINE
- - make VERBOSE=1
-
-.package_mrzcpd_for_centos8:
- image: $BUILD_IMAGE_CENTOS8
- extends: .build_before_script
- script:
- - yum install -y rpm-build
- - mkdir -p build
- - cd build
- - cmake3 .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DMACHINE=$MACHINE
- - make package VERBOSE=1
- - cp ~/rpm_upload_tools.py ./
- - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
-
-.fuzzing_mrzcpd_for_centos8:
- image: $BUILD_IMAGE_CENTOS8
- extends: .build_before_script
- script:
- - mkdir -p build
- - cd build
- - cmake3 .. -DENABLE_FUZZING_TEST=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DMACHINE=$MACHINE
- - make VERBOSE=1
- - cd fuzzing
- - ./FuzzingPktParser -max_total_time=5 seeds/
-
-build-debug-for-centos8-icelake-server:
- stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- MACHINE: "icelake-server"
- except:
- - tags
-
-build-release-for-centos8-icelake-server:
- stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- MACHINE: "icelake-server"
- except:
- - tags
-
-build-debug-for-centos8-znver1:
- stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- MACHINE: "znver1"
- except:
- - tags
-
-build-release-for-centos8-znver1:
- stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- MACHINE: "znver1"
- except:
- - tags
-
-build-debug-for-centos8-generic:
+.build_test_and_deploy:
stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- MACHINE: "corei7"
- except:
- - tags
-
-build-release-for-centos8-generic:
- stage: build
- extends: .build_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- MACHINE: "corei7"
- except:
- - tags
-
-stable-package-debug-for-centos8-icelake-server:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "icelake-server"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-release-for-centos8-icelake-server:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "icelake-server"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-debug-for-centos8-znver1:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "znver1"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-release-for-centos8-znver1:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "znver1"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-debug-for-centos8-generic:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-release-for-centos8-generic:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-stable-x86_64.el8
- PULP3_DIST_NAME: platform-stable-x86_64.el8
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-testing-package-debug-for-centos8-icelake-server:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "icelake-server"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-testing-package-release-for-centos8-icelake-server:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "icelake-server"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-
-testing-package-debug-for-centos8-znver1:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "znver1"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-testing-package-release-for-centos8-znver1:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "znver1"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-testing-package-debug-for-centos8-generic:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-testing-package-release-for-centos8-generic:
- stage: package
- extends: .package_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-testing-x86_64.el8
- PULP3_DIST_NAME: platform-testing-x86_64.el8
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-
-fuzzing-debug-for-centos8-generic:
- stage: package
- extends: .fuzzing_mrzcpd_for_centos8
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- MACHINE: "corei7"
- only:
- - /^feature.*$/i
-
-.build_mrzcpd_for_centos7:
- image: $BUILD_IMAGE_CENTOS7
- extends: .build_before_script
- script:
- - mkdir -p build
- - cd build
- - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DMACHINE=$MACHINE -DENABLE_WARNING_AS_ERROR=FALSE
- - make VERBOSE=1
-
-.package_mrzcpd_for_centos7:
- image: $BUILD_IMAGE_CENTOS7
extends: .build_before_script
- script:
- - yum install -y rpm-build
- - mkdir -p build
- - cd build
- - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DMACHINE=$MACHINE -DENABLE_WARNING_AS_ERROR=FALSE
- - make package VERBOSE=1
- - cp ~/rpm_upload_tools.py ./
- - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
-
-build-debug-for-centos7-generic:
- stage: build
- extends: .build_mrzcpd_for_centos7
+ image: ${BUILD_IMAGE_CENTOS8}
tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- MACHINE: "corei7"
- except:
- - tags
-
-build-release-for-centos7-generic:
+ - share
+ script:
+ - set -e
+ - mkdir -p build
+ - cd build
+ - cmake3 .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OTHER_CMAKE_OPTION}
+ - make VERBOSE=1
+ - if [[ "${TEST_OPTIONS}" == *"ENABLE_CTEST"* ]]; then
+ cd ${BUILD_ROOT_DIR};
+ ctest --output-on-failure;
+ fi
+ - if [[ "${TEST_OPTIONS}" == *"ENABLE_PACKAGE_TEST"* ]]; then
+ cd ${BUILD_ROOT_DIR};
+ make package VERBOSE=1;
+ rpm -i mrzcpd*.rpm;
+ cd ../test/post_install_test;
+ python3 package_content_test.py;
+ fi
+ - if [[ "${TEST_OPTIONS}" == *"ENABLE_FUZZING"* ]]; then
+ cd ${BUILD_ROOT_DIR}/test/fuzzing;
+ ./FuzzingPktParser -max_total_time=5 seeds/;
+ fi
+ - if [[ "${ENABLE_PACKAGE}" == "True" ]]; then
+ cd ${BUILD_ROOT_DIR};
+ make package VERBOSE=1;
+ cp ~/rpm_upload_tools.py ./;
+ python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm;
+ else
+ echo "no need to execute the deploy script";
+ fi
+
+.build_and_test:
stage: build
- extends: .build_mrzcpd_for_centos7
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- MACHINE: "corei7"
- except:
- - tags
-
-stable-package-debug-for-centos7-generic:
- stage: package
- extends: .package_mrzcpd_for_centos7
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-stable-x86_64.el7
- PULP3_DIST_NAME: platform-stable-x86_64.el7
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
-
-stable-package-release-for-centos7-generic:
- stage: package
- extends: .package_mrzcpd_for_centos7
- tags:
- - share
+ extends: .build_test_and_deploy
+ rules:
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+ when: never
+ - if: $CI_COMMIT_TAG
+ when: never
+ - if: $CI_COMMIT_BRANCH
+
+.package_and_deploy:
+ stage: package
+ extends: .build_test_and_deploy
+ variables:
+ ENABLE_PACKAGE: "True"
+ artifacts:
+ name: "mrzcpd-$BUILD_TYPE-$CI_COMMIT_REF_NAME-binary"
+ paths:
+ - build/*.rpm
+
+build_for_centos8:
+ extends: .build_and_test
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION:
+ - "-DMACHINE=icelake-server"
+ - "-DMACHINE=znver1"
+
+build_for_centos8_and_enable_ctest:
+ tags:
+ - tsg-os-builder-el8
+ extends: .build_and_test
+ variables:
+ TEST_OPTIONS: "ENABLE_CTEST"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION: "-DMACHINE=corei7 -DENABLE_PTF_TEST=TRUE"
+
+build_for_centos7:
+ image: ${BUILD_IMAGE_CENTOS7}
+ extends: .build_and_test
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION: "-DMACHINE=corei7 -DENABLE_WARNING_AS_ERROR=FALSE"
+
+stable-package-for-centos8:
+ extends: .package_and_deploy
+ variables:
+ TEST_OPTIONS: "ENABLE_PACKAGE_TEST"
+ PULP3_REPO_NAME: "platform-stable-x86_64.el8"
+ PULP3_DIST_NAME: "platform-stable-x86_64.el8"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION:
+ - "-DMACHINE=icelake-server"
+ - "-DMACHINE=znver1"
+ - "-DMACHINE=corei7"
+ rules:
+ - if: $CI_COMMIT_TAG
+
+stable-package-for-centos7:
+ image: ${BUILD_IMAGE_CENTOS7}
+ extends: .package_and_deploy
+ variables:
+ PULP3_REPO_NAME: "platform-stable-x86_64.el7"
+ PULP3_DIST_NAME: "platform-stable-x86_64.el7"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION: "-DMACHINE=corei7 -DENABLE_WARNING_AS_ERROR=FALSE"
+ rules:
+ - if: $CI_COMMIT_TAG
+
+testing-package-for-centos8:
+ extends: .package_and_deploy
+ variables:
+ TEST_OPTIONS: "ENABLE_PACKAGE_TEST"
+ PULP3_REPO_NAME: "platform-testing-x86_64.el8"
+ PULP3_DIST_NAME: "platform-testing-x86_64.el8"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION:
+ - "-DMACHINE=icelake-server"
+ - "-DMACHINE=znver1"
+ - "-DMACHINE=corei7"
+ rules:
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+
+testing-package-for-centos7:
+ image: ${BUILD_IMAGE_CENTOS7}
+ extends: .package_and_deploy
+ variables:
+ PULP3_REPO_NAME: "platform-testing-x86_64.el7"
+ PULP3_DIST_NAME: "platform-testing-x86_64.el7"
+ parallel:
+ matrix:
+ - BUILD_TYPE: ["RelWithDebInfo","Debug"]
+ OTHER_CMAKE_OPTION: "-DMACHINE=corei7 -DENABLE_WARNING_AS_ERROR=FALSE"
+ rules:
+ - if: $CI_COMMIT_BRANCH =~ /^dev.*$/
+
+fuzzing_mrzcpd_for_centos8:
+ extends: .build_and_test
variables:
BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-stable-x86_64.el7
- PULP3_DIST_NAME: platform-stable-x86_64.el7
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - tags
+ OTHER_CMAKE_OPTION: "-DMACHINE=corei7 -DENABLE_FUZZING_TEST=ON"
+ rules:
+ - if: $CI_COMMIT_BRANCH =~ /^fuzzing/
-testing-package-debug-for-centos7-generic:
- stage: package
- extends: .package_mrzcpd_for_centos7
- tags:
- - share
- variables:
- BUILD_TYPE: "Debug"
- PULP3_REPO_NAME: platform-testing-x86_64.el7
- PULP3_DIST_NAME: platform-testing-x86_64.el7
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-debug-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
-testing-package-release-for-centos7-generic:
- stage: package
- extends: .package_mrzcpd_for_centos7
- tags:
- - share
- variables:
- BUILD_TYPE: "RelWithDebInfo"
- PULP3_REPO_NAME: platform-testing-x86_64.el7
- PULP3_DIST_NAME: platform-testing-x86_64.el7
- MACHINE: "corei7"
- artifacts:
- name: "mrzcpd-$CI_COMMIT_REF_NAME-binary"
- paths:
- - build/*.rpm
- only:
- - /^dev.*$/i
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9897e77..712890f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,22 +9,28 @@ endif()
project(marsio)
+# option
+option(ENABLE_WARNING_AS_ERROR "Enable all optional warnings which are desirable for normal code" TRUE)
+option(ENABLE_SANITIZE_ADDRESS "Enable AddressSanitizer" FALSE)
+option(ENABLE_SANITIZE_THREAD "Enable ThreadSanitizer" FALSE)
+option(ENABLE_VNODE_CHECK_THREAD_SAFE "Enable concurrent write thread-safe check for VNODE." FALSE)
+option(ENABLE_PTF_TEST "Enable ptf test." FALSE)
+
+# envirment
message("CMake version: ${CMAKE_VERSION}")
message(STATUS "C Compiler Version: ${CMAKE_C_COMPILER_VERSION}")
message(STATUS "CXX Compiler Version: ${CMAKE_CXX_COMPILER_VERSION}")
message(STATUS "C Standard: ${CMAKE_C_STANDARD}")
message(STATUS "C++ Standard: ${CMAKE_CXX_STANDARD}")
-
+# machine
set(COREI7 "corei7")
set(ICELAKE_SERVER "icelake-server")
set(ZNVER1 "znver1")
set(SUPPORTED_MACHINES ${COREI7} ${ICELAKE_SERVER} ${ZNVER1})
-
if(NOT MACHINE)
set(MACHINE "corei7")
endif()
-
list(FIND SUPPORTED_MACHINES ${MACHINE} INDEX)
if(${INDEX} GREATER -1)
message(STATUS "current MACHINE is ${MACHINE}.")
@@ -32,23 +38,7 @@ else()
message(FATAL_ERROR "${MACHINE} is not in the support machines list.")
endif()
-# Include Modules
-set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
-
-find_package(PCAP REQUIRED)
-link_directories(${PCAP_LIBRARY_DIR})
-include_directories(${PCAP_INCLUDE_DIR})
-
-# version
-include(Version)
-
-# EXTRA Flags
-# GNU99 and C++11 Support
-option(ENABLE_WARNING_AS_ERROR "Enable all optional warnings which are desirable for normal code" TRUE)
-option(ENABLE_SANITIZE_ADDRESS "Enable AddressSanitizer" FALSE)
-option(ENABLE_SANITIZE_THREAD "Enable ThreadSanitizer" FALSE)
-option(ENABLE_VNODE_CHECK_THREAD_SAFE "Enable concurrent write thread-safe check for VNODE." FALSE)
-
+# FLAGS and define
set(CMAKE_C_FLAGS "-std=gnu99 -m64 -march=${MACHINE} -fPIC -Wall -Wno-format-truncation")
set(CMAKE_CXX_FLAGS "-std=gnu++11 -m64 -march=${MACHINE} -fPIC -Wall -Wno-format-truncation")
@@ -82,22 +72,21 @@ if(ENABLE_FUZZING_TEST)
set(OTHER_FLAGS "-fPIC -m64 -march=${MACHINE}")
set(CMAKE_C_FLAGS "${FSANITIZE_FUZZER_FLAGS} ${COVERAGE_FLAGS} ${OTHER_FLAGS}")
set(CMAKE_CXX_FLAGS "${FSANITIZE_FUZZER_FLAGS} ${COVERAGE_FLAGS} ${OTHER_FLAGS}")
- add_subdirectory(fuzzing)
+endif()
+
+if(ENABLE_PTF_TEST OR ENABLE_FUZZING_TEST)
+ enable_testing()
endif()
if(ENABLE_VNODE_CHECK_THREAD_SAFE)
add_definitions(-DVNODE_CHECK_THREAD_SAFE)
endif()
-# Default Install Destination Directory
-set(CMAKE_INSTALL_PREFIX /opt/tsg/mrzcpd)
add_definitions(-D_GNU_SOURCE -D__STDC_LIMIT_MACROS)
add_definitions(-DALLOW_EXPERIMENTAL_API=1)
-include_directories(include/external)
-include_directories(include/internal)
-
# Install Dirs
+set(CMAKE_INSTALL_PREFIX /opt/tsg/mrzcpd)
set(MR_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
set(MR_INSTALL_LIBDIR ${MACHINE}/lib)
set(MR_INSTALL_BINDIR ${MACHINE}/bin)
@@ -125,6 +114,17 @@ endif()
exec_program(pkg-config ARGS systemd --variable=systemdsystemunitdir OUTPUT_VARIABLE MR_INSTALL_SYSUNITDIR)
+# compile
+set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
+include(Version)
+
+include_directories(include/external)
+include_directories(include/internal)
+
+find_package(PCAP REQUIRED)
+link_directories(${PCAP_LIBRARY_DIR})
+include_directories(${PCAP_INCLUDE_DIR})
+
add_subdirectory(${CMAKE_SOURCE_DIR}/support)
add_subdirectory(${CMAKE_SOURCE_DIR}/include)
add_subdirectory(${CMAKE_SOURCE_DIR}/infra)
@@ -135,18 +135,14 @@ add_subdirectory(${CMAKE_SOURCE_DIR}/pag)
add_subdirectory(${CMAKE_SOURCE_DIR}/examples)
add_subdirectory(${CMAKE_SOURCE_DIR}/tools)
add_subdirectory(${CMAKE_SOURCE_DIR}/conf)
-#add_subdirectory(${CMAKE_SOURCE_DIR}/test)
+add_subdirectory(${CMAKE_SOURCE_DIR}/test)
-if(BUILD_TESTS)
- enable_testing()
- add_subdirectory(test)
-endif()
-
-add_custom_target("install-program" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Program -P cmake_install.cmake)
-add_custom_target("install-profile" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Profile -P cmake_install.cmake)
+# add_custom_target("install-program" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Program -P cmake_install.cmake)
+# add_custom_target("install-profile" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Profile -P cmake_install.cmake)
message(STATUS "Packet I/O Middleware based on DPDK(Marsio), Version: ${MARSIO_VERSION}")
-# packed
-include(Package)
+# package
include(InstallDPDK)
+include(Package)
+
diff --git a/Testing/Temporary/CTestCostData.txt b/Testing/Temporary/CTestCostData.txt
deleted file mode 100644
index ed97d53..0000000
--- a/Testing/Temporary/CTestCostData.txt
+++ /dev/null
@@ -1 +0,0 @@
----
diff --git a/dpdk/dpdk-17.05.2.tar.xz b/dpdk/dpdk-17.05.2.tar.xz
deleted file mode 100644
index a983125..0000000
--- a/dpdk/dpdk-17.05.2.tar.xz
+++ /dev/null
Binary files differ
diff --git a/dpdk/patch/dpdk-17.05-config.patch b/dpdk/patch/dpdk-17.05-config.patch
deleted file mode 100644
index beecd10..0000000
--- a/dpdk/patch/dpdk-17.05-config.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -ru dpdk-17.05/config/common_base dpdk-17.05.mr4/config/common_base
---- dpdk-17.05/config/common_base 2017-05-11 09:11:34.000000000 +0800
-+++ dpdk-17.05.mr4/config/common_base 2017-06-29 11:26:11.054905786 +0800
-@@ -90,7 +90,7 @@
- CONFIG_RTE_LIBRTE_EAL=y
- CONFIG_RTE_MAX_LCORE=128
- CONFIG_RTE_MAX_NUMA_NODES=8
--CONFIG_RTE_MAX_MEMSEG=256
-+CONFIG_RTE_MAX_MEMSEG=512
- CONFIG_RTE_MAX_MEMZONE=2560
- CONFIG_RTE_MAX_TAILQ=32
- CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO
-@@ -181,7 +181,7 @@
- CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
- CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER=n
- CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
--CONFIG_RTE_IXGBE_INC_VECTOR=y
-+CONFIG_RTE_IXGBE_INC_VECTOR=n
-
- #
- # Compile burst-oriented I40E PMD driver
-@@ -191,7 +191,7 @@
- CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
- CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
- CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
--CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
-+CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
- CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
- CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
- CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
-@@ -363,7 +363,7 @@
- #
- # Compile software PMD backed by PCAP files
- #
--CONFIG_RTE_LIBRTE_PMD_PCAP=n
-+CONFIG_RTE_LIBRTE_PMD_PCAP=y
-
- #
- # Compile link bonding PMD library
-@@ -387,7 +387,7 @@
- #
- # Compile software PMD backed by AF_PACKET sockets (Linux only)
- #
--CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
-+CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
-
- #
- # Compile ARK PMD
-diff -ru dpdk-17.05/lib/librte_eal/common/include/rte_memzone.h dpdk-17.05.mr4/lib/librte_eal/common/include/rte_memzone.h
---- dpdk-17.05/lib/librte_eal/common/include/rte_memzone.h 2017-05-11 09:11:34.000000000 +0800
-+++ dpdk-17.05.mr4/lib/librte_eal/common/include/rte_memzone.h 2017-06-29 11:27:25.990907337 +0800
-@@ -75,7 +75,7 @@
- */
- struct rte_memzone {
-
--#define RTE_MEMZONE_NAMESIZE 32 /**< Maximum length of memory zone name.*/
-+#define RTE_MEMZONE_NAMESIZE 64 /**< Maximum length of memory zone name.*/
- char name[RTE_MEMZONE_NAMESIZE]; /**< Name of the memory zone. */
-
- phys_addr_t phys_addr; /**< Start physical address. */
diff --git a/dpdk/patch/dpdk-17.05-debug-config.patch b/dpdk/patch/dpdk-17.05-debug-config.patch
deleted file mode 100644
index 2a20c3b..0000000
--- a/dpdk/patch/dpdk-17.05-debug-config.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -ru dpdk-17.05/config/common_base dpdk-17.05.mr4.debug/config/common_base
---- dpdk-17.05/config/common_base 2017-05-11 09:11:34.000000000 +0800
-+++ dpdk-17.05.mr4.debug/config/common_base 2017-10-12 21:09:24.334524378 +0800
-@@ -90,11 +90,11 @@
- CONFIG_RTE_LIBRTE_EAL=y
- CONFIG_RTE_MAX_LCORE=128
- CONFIG_RTE_MAX_NUMA_NODES=8
--CONFIG_RTE_MAX_MEMSEG=256
-+CONFIG_RTE_MAX_MEMSEG=512
- CONFIG_RTE_MAX_MEMZONE=2560
- CONFIG_RTE_MAX_TAILQ=32
--CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO
--CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
-+CONFIG_RTE_LOG_LEVEL=RTE_LOG_DEBUG
-+CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_DEBUG
- CONFIG_RTE_LOG_HISTORY=256
- CONFIG_RTE_BACKTRACE=y
- CONFIG_RTE_LIBEAL_USE_HPET=n
-@@ -181,7 +181,7 @@
- CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
- CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER=n
- CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
--CONFIG_RTE_IXGBE_INC_VECTOR=y
-+CONFIG_RTE_IXGBE_INC_VECTOR=n
-
- #
- # Compile burst-oriented I40E PMD driver
-@@ -191,7 +191,7 @@
- CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
- CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
- CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
--CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
-+CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
- CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
- CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
- CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4
-@@ -363,7 +363,7 @@
- #
- # Compile software PMD backed by PCAP files
- #
--CONFIG_RTE_LIBRTE_PMD_PCAP=n
-+CONFIG_RTE_LIBRTE_PMD_PCAP=y
-
- #
- # Compile link bonding PMD library
-@@ -387,7 +387,7 @@
- #
- # Compile software PMD backed by AF_PACKET sockets (Linux only)
- #
--CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
-+CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
-
- #
- # Compile ARK PMD
-diff -ru dpdk-17.05/lib/librte_eal/common/include/rte_memzone.h dpdk-17.05.mr4.debug/lib/librte_eal/common/include/rte_memzone.h
---- dpdk-17.05/lib/librte_eal/common/include/rte_memzone.h 2017-05-11 09:11:34.000000000 +0800
-+++ dpdk-17.05.mr4.debug/lib/librte_eal/common/include/rte_memzone.h 2017-10-12 21:09:02.561523927 +0800
-@@ -75,7 +75,7 @@
- */
- struct rte_memzone {
-
--#define RTE_MEMZONE_NAMESIZE 32 /**< Maximum length of memory zone name.*/
-+#define RTE_MEMZONE_NAMESIZE 64 /**< Maximum length of memory zone name.*/
- char name[RTE_MEMZONE_NAMESIZE]; /**< Name of the memory zone. */
-
- phys_addr_t phys_addr; /**< Start physical address. */
diff --git a/dpdk/patch/dpdk-17.05-pdump.patch b/dpdk/patch/dpdk-17.05-pdump.patch
deleted file mode 100644
index 4c871cc..0000000
--- a/dpdk/patch/dpdk-17.05-pdump.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- dpdk-17.05/app/pdump/main.c 2017-05-11 09:11:34.000000000 +0800
-+++ dpdk-17.05.mr4/app/pdump/main.c 2017-10-20 14:00:10.274132214 +0800
-@@ -654,26 +654,35 @@
- /* if captured packets has to send to the same vdev */
- /* create rx_ring */
- snprintf(ring_name, SIZE, RX_RING, i);
-- pt->rx_ring = rte_ring_create(ring_name, pt->ring_size,
-- rte_socket_id(), 0);
-- if (pt->rx_ring == NULL) {
-- cleanup_rings();
-- rte_exit(EXIT_FAILURE, "%s:%s:%d\n",
-- rte_strerror(rte_errno),
-- __func__, __LINE__);
-+ pt->rx_ring = rte_ring_lookup(ring_name);
-+ if(pt->rx_ring == NULL)
-+ {
-+ pt->rx_ring = rte_ring_create(ring_name, pt->ring_size,
-+ rte_socket_id(), 0);
-+
-+ if (pt->rx_ring == NULL) {
-+ cleanup_rings();
-+ rte_exit(EXIT_FAILURE, "%s:%s:%d\n",
-+ rte_strerror(rte_errno),
-+ __func__, __LINE__);
-+ }
- }
-
- /* create tx_ring */
- snprintf(ring_name, SIZE, TX_RING, i);
-- pt->tx_ring = rte_ring_create(ring_name, pt->ring_size,
-- rte_socket_id(), 0);
-- if (pt->tx_ring == NULL) {
-- cleanup_rings();
-- rte_exit(EXIT_FAILURE, "%s:%s:%d\n",
-- rte_strerror(rte_errno),
-- __func__, __LINE__);
-- }
-+ pt->tx_ring = rte_ring_lookup(ring_name);
-+ if(pt->tx_ring == NULL)
-+ {
-+ pt->tx_ring = rte_ring_create(ring_name, pt->ring_size,
-+ rte_socket_id(), 0);
-
-+ if (pt->tx_ring == NULL) {
-+ cleanup_rings();
-+ rte_exit(EXIT_FAILURE, "%s:%s:%d\n",
-+ rte_strerror(rte_errno),
-+ __func__, __LINE__);
-+ }
-+ }
- /* create vdevs */
- (pt->rx_vdev_stream_type == IFACE) ?
- snprintf(vdev_args, SIZE, VDEV_IFACE, RX_STR, i,
-@@ -703,8 +712,8 @@
- &portid) < 0) {
- cleanup_rings();
- rte_exit(EXIT_FAILURE,
-- "vdev creation failed:"
-- "%s:%d\n", __func__, __LINE__);
-+ "vdev creation failed:"
-+ "%s:%d\n", __func__, __LINE__);
- }
- pt->tx_vdev_id = portid;
-
-@@ -715,12 +724,17 @@
-
- /* create rx_ring */
- snprintf(ring_name, SIZE, RX_RING, i);
-- pt->rx_ring = rte_ring_create(ring_name, pt->ring_size,
-- rte_socket_id(), 0);
-- if (pt->rx_ring == NULL) {
-- cleanup_rings();
-- rte_exit(EXIT_FAILURE, "%s\n",
-- rte_strerror(rte_errno));
-+ pt->rx_ring = rte_ring_lookup(ring_name);
-+ if(pt->rx_ring == NULL)
-+ {
-+ pt->rx_ring = rte_ring_create(ring_name, pt->ring_size,
-+ rte_socket_id(), 0);
-+
-+ if (pt->rx_ring == NULL) {
-+ cleanup_rings();
-+ rte_exit(EXIT_FAILURE, "%s\n",
-+ rte_strerror(rte_errno));
-+ }
- }
-
- (pt->rx_vdev_stream_type == IFACE) ?
-@@ -741,12 +755,17 @@
-
- /* create tx_ring */
- snprintf(ring_name, SIZE, TX_RING, i);
-- pt->tx_ring = rte_ring_create(ring_name, pt->ring_size,
-- rte_socket_id(), 0);
-- if (pt->tx_ring == NULL) {
-- cleanup_rings();
-- rte_exit(EXIT_FAILURE, "%s\n",
-- rte_strerror(rte_errno));
-+ pt->tx_ring = rte_ring_lookup(ring_name);
-+ if(pt->tx_ring == NULL)
-+ {
-+ pt->tx_ring = rte_ring_create(ring_name, pt->ring_size,
-+ rte_socket_id(), 0);
-+
-+ if (pt->tx_ring == NULL) {
-+ cleanup_rings();
-+ rte_exit(EXIT_FAILURE, "%s\n",
-+ rte_strerror(rte_errno));
-+ }
- }
-
- (pt->tx_vdev_stream_type == IFACE) ?
-@@ -902,6 +921,12 @@
- rte_exit(EXIT_FAILURE, "Invalid argument\n");
- }
-
-+ for(i = 0; i < num_tuples; i++)
-+ {
-+ struct pdump_tuples * pt = &pdump_t[i];
-+ disable_pdump(pt);
-+ }
-+
- /* create mempool, ring and vdevs info */
- create_mp_ring_vdev();
- enable_pdump();
diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt
index 7d30e3a..d06256a 100644
--- a/support/CMakeLists.txt
+++ b/support/CMakeLists.txt
@@ -114,12 +114,12 @@ else()
endif()
set(DPDK_MESON_DISABLED_DRIVERS "common/cpt,common/dpaax,common/octeontx,common/octeontx2,common/sfc_efx,\
- common/qat,bus/dpaa,bus/fslmc,bus/ifpga,bus/vmbus,mempool/bucket,mempool/dpaa,\
- mempool/dpaa2,mempool/octeontx,mempool/octeontx2,mempool/stack,raw/ifpga,raw/ioat,\
- raw/ntb,raw/octeontx2_dma,raw/octeontx2_ep,raw/skeleton,compress/zlib,regex/octeontx2,\
- vdpa/ifc,event/skeleton,event/dlb,event/dlb2,event/opdl,sevent/keleton,event/sw,event/dsw,\
- baseband/null,baseband/turbo_sw,baseband/fpga_lte_fec,baseband/fpga_5gnr_fec,baseband/acc100,\
- crypto/bcmfs,crypto/ccp,crypto/nitrox,crypto/null,crypto/openssl,crypto/scheduler,crypto/virtio")
+common/qat,bus/dpaa,bus/fslmc,bus/ifpga,bus/vmbus,mempool/bucket,mempool/dpaa,\
+mempool/dpaa2,mempool/octeontx,mempool/octeontx2,mempool/stack,raw/ifpga,raw/ioat,\
+raw/ntb,raw/octeontx2_dma,raw/octeontx2_ep,raw/skeleton,compress/zlib,regex/octeontx2,\
+vdpa/ifc,event/skeleton,event/dlb,event/dlb2,event/opdl,sevent/keleton,event/sw,event/dsw,\
+baseband/null,baseband/turbo_sw,baseband/fpga_lte_fec,baseband/fpga_5gnr_fec,baseband/acc100,\
+crypto/bcmfs,crypto/ccp,crypto/nitrox,crypto/null,crypto/openssl,crypto/scheduler,crypto/virtio")
# Although default_library=static has been set, both dynamic and static libraries are compiled. a little strange
ExternalProject_Add(dpdk PREFIX dpdk
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 58ec534..f048460 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,119 +1,7 @@
-include_directories(${CMAKE_SOURCE_DIR}/include)
-include_directories(${CMAKE_SOURCE_DIR}/include/extern)
-include_directories(${CMAKE_SOURCE_DIR}/include/internal)
-include_directories(${CMAKE_SOURCE_DIR})
-
-# Create veth
-execute_process(
- COMMAND /bin/bash ${CMAKE_SOURCE_DIR}/test/create_veth.sh create 24
- RESULT_VARIABLE VETH_RESULT
- OUTPUT_VARIABLE VETH_OUTPUT
- ERROR_VARIABLE VETH_ERROR
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-# Check veth create
-if(VETH_RESULT)
-message(FATAL_ERROR "${CMAKE_SOURCE_DIR}/test/create_veth.sh create 24")
- message(FATAL_ERROR "Failed to create veth: ${VETH_ERROR}")
+if(ENABLE_PTF_TEST)
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ptf_test)
endif()
-# Create veth for msgpack
-execute_process(
- COMMAND /bin/bash ${CMAKE_SOURCE_DIR}/test/create_veth.sh create msgpack
- RESULT_VARIABLE VETH_RESULT
- OUTPUT_VARIABLE VETH_OUTPUT
- ERROR_VARIABLE VETH_ERROR
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-# Check veth create for msgpack
-if(VETH_RESULT)
-message(FATAL_ERROR "${CMAKE_SOURCE_DIR}/test/create_veth.sh create msgpack")
- message(FATAL_ERROR "Failed to create veth: ${VETH_ERROR}")
+if(ENABLE_FUZZING_TEST)
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/fuzzing)
endif()
-
-# Script for generating "--interface"
-# for i in range(0, 24):
-# print(f"--interface {i}@veth{i}-ptf{i}", end=" ")
-
-# Add vwire test
-add_test(
- NAME vwire_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4 --interface 5@veth5-ptf5 --interface 6@veth6-ptf6 --interface 7@veth7-ptf7 --interface 8@veth8-ptf8 --interface 9@veth9-ptf9 --interface 10@veth10-ptf10 --interface 11@veth11-ptf11 --interface 12@veth12-ptf12 --interface 13@veth13-ptf13 --interface 14@veth14-ptf14 --interface 15@veth15-ptf15 --interface 16@veth16-ptf16 --interface 17@veth17-ptf17 --interface 18@veth18-ptf18 --interface 19@veth19-ptf19 --interface 20@veth20-ptf20 --interface 21@veth21-ptf21 --interface 22@veth22-ptf22 --interface 23@veth23-ptf23
- vwire_test id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add bfd test
-add_test(
- NAME bfd_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0
- bfd_test_for_etherfabric bfd_test_for_bfdd --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add bridge test
-add_test(
- NAME bridge_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3
- bridge_test_unicast bridge_test_broadcast bridge_test_master_device --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-
-# Add classifier test
-add_test(
- NAME classifier_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4 --interface 5@veth5-ptf5
- classifier_test_base full_field_match_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add etherfabric test
-add_test(
- NAME etherfabric_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0
- virtual_wire_mode tap_mode ef_route_ctx_test ef_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add health_check test
-add_test(
- NAME health_check
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0
- health_check_base_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add load_balance test
-add_test(
- NAME load_balance
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4
- lb_base_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add msgpack test
-add_test(
- NAME msgpack_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2
- msgpack_serialize_test msgpack_deserialize_test msgpack_serialize_and_deserialize_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add endpoint dev test
-add_test(
- NAME endpoint_dev_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0
- icmp_reply_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
-
-# Add tera test
-add_test(
- NAME tera_test
- COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test
- --interface 0@veth0-ptf0 --interface 1@veth1-ptf1
- tera_base_test tera_mpack_test tera_nf_test tera_route_ctx_test tera_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'"
-)
diff --git a/fuzzing/CMakeLists.txt b/test/fuzzing/CMakeLists.txt
index 3f1b8c6..3f1b8c6 100644
--- a/fuzzing/CMakeLists.txt
+++ b/test/fuzzing/CMakeLists.txt
diff --git a/fuzzing/FuzzingPktParser.cc b/test/fuzzing/FuzzingPktParser.cc
index 5ed1074..5ed1074 100644
--- a/fuzzing/FuzzingPktParser.cc
+++ b/test/fuzzing/FuzzingPktParser.cc
diff --git a/fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan b/test/fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan
index 54b6081..54b6081 100644
--- a/fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan
+++ b/test/fuzzing/seeds/10.23.160.163_to_129.226.103.217_gtp_u_in_vxlan
Binary files differ
diff --git a/fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS b/test/fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS
index 9fa74ff..9fa74ff 100644
--- a/fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS
+++ b/test/fuzzing/seeds/10.33.60.116_to_217.76.77.34_GTP_DNS
Binary files differ
diff --git a/fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u b/test/fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u
index 47448dd..47448dd 100644
--- a/fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u
+++ b/test/fuzzing/seeds/100_95_37_122_to_149_3_200_32_gtpv1_u
Binary files differ
diff --git a/fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4 b/test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4
index a57e978..a57e978 100644
--- a/fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4
+++ b/test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_asym_mpls_ipv4
Binary files differ
diff --git a/fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4 b/test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4
index 4f8d2d6..4f8d2d6 100644
--- a/fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4
+++ b/test/fuzzing/seeds/178.89.4.221_to_31.13.70.49_mpls_ipv4
Binary files differ
diff --git a/fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4 b/test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4
index 1e6e60a..1e6e60a 100644
--- a/fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4
+++ b/test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_ipv4
Binary files differ
diff --git a/fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner b/test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner
index fb32228..fb32228 100644
--- a/fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner
+++ b/test/fuzzing/seeds/178_89_4_219_to_117_122_217_89_mpls_vxlan_inner
Binary files differ
diff --git a/fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP b/test/fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP
index c57c758..c57c758 100644
--- a/fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP
+++ b/test/fuzzing/seeds/81.211.157.203_to_10.160.72.52_mpls_ipv4_UDP
Binary files differ
diff --git a/test/post_install_test/package_content_test.py b/test/post_install_test/package_content_test.py
new file mode 100644
index 0000000..3e0623e
--- /dev/null
+++ b/test/post_install_test/package_content_test.py
@@ -0,0 +1,168 @@
+import os
+import subprocess
+import sys
+# import magic
+
+class tools:
+ def __init__(self):
+ pass
+
+ def is_package_installed(self, package_name):
+ query_package_cmd = "rpm -qa | grep " + package_name
+ # capture_output requires Python version 3.7 or higher
+ # result = subprocess.run(query_package_cmd, shell=True, capture_output=True, text=True)
+ result = subprocess.run(query_package_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ if result.returncode != 0:
+ print(f"query {package_name} fail. error: {result.stderr.decode('utf-8')}")
+ return False
+ print(result.stdout.decode('utf-8'))
+ return package_name in result.stdout.decode('utf-8')
+
+ def check_path_exists(self, path):
+ # Existing path returns True.
+ # Returns False for broken symbolic links.
+ if os.path.exists(path):
+ if os.path.islink(path):
+ real_path = os.path.realpath(path)
+ if os.path.exists(real_path):
+ print(f"The final path for {path} is {real_path}")
+ else:
+ print(f"{real_path} not exists")
+ return False
+ else:
+ print(f"{path} exists")
+ return True
+ else:
+ print(f"{path} not exists")
+ return False
+
+ # def is_elf_file(self, file_path):
+ # mime = magic.Magic()
+ # file_type = mime.from_file(file_path)
+ # print(f"{file_path} file type: {file_type}")
+ # return "ELF" in file_type
+
+ def check_symbol_exists(self, binary_name):
+ check_symbol_cmd = "eu-unstrip -n -e " + binary_name
+ result = subprocess.run(check_symbol_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ if result.returncode != 0:
+ print(f"error: {result.stderr.decode('utf-8')}")
+ return False
+ symbol_info = result.stdout.decode('utf-8').split()
+ if len(symbol_info) < 4:
+ return False
+ print(f"{binary_name} symbol path is: {symbol_info[3]}")
+ return self.check_path_exists(symbol_info[3])
+
+class package_content_test:
+ def __init__(self):
+ self.install_path = "/opt/tsg/mrzcpd"
+
+ self.package_conf_files = [
+ "/etc/ld.so.conf.d/mrzcpd.conf",
+ "/etc/profile.d/mrzcpd.sh",
+ "/etc/sysconfig/mrzcpd"
+ ]
+
+ self.package_etc_files = [
+ self.install_path + "/etc",
+ self.install_path + "/etc/mrapm.conf",
+ self.install_path + "/etc/mrglobal.conf",
+ self.install_path + "/etc/mrtunnat.conf"
+ ]
+
+ self.package_bin_files = [
+ self.install_path + "/bin",
+ self.install_path + "/bin/devbind.py",
+ self.install_path + "/bin/dpdk-devbind.py",
+ self.install_path + "/bin/dpdk-hugepages.py",
+ self.install_path + "/bin/monit_device",
+ self.install_path + "/bin/monit_obp",
+ self.install_path + "/bin/monit_stream",
+ self.install_path + "/bin/mrmarch",
+ self.install_path + "/bin/mrpdump",
+ self.install_path + "/bin/mrtools-pinfo",
+ self.install_path + "/bin/mrzcpd"
+ ]
+
+ self.package_include_files = [
+ self.install_path + "/include",
+ self.install_path + "/include/libpag.h",
+ self.install_path + "/include/marsio.h",
+ self.install_path + "/include/mrtunnat.h",
+ ]
+
+ self.package_lib_files = [
+ self.install_path + "/lib",
+ self.install_path + "/lib/libmarsio.so",
+ self.install_path + "/lib/libpag.so",
+ self.install_path + "/lib/librte_common_mlx5_glue.so",
+ # self.install_path + "/lib/librte_net_mlx4_glue.so",
+ self.install_path + "/lib/pkgconfig/mrzcpd.pc",
+ ]
+
+ self.package_altdir_files = [
+ self.install_path + "/altdir/devbind.py",
+ self.install_path + "/altdir/dpdk-devbind.py",
+ self.install_path + "/altdir/dpdk-hugepages.py",
+ self.install_path + "/altdir/include",
+ self.install_path + "/altdir/lib",
+ self.install_path + "/altdir/monit_device",
+ self.install_path + "/altdir/monit_obp",
+ self.install_path + "/altdir/monit_stream",
+ self.install_path + "/altdir/mrapm_device.service",
+ self.install_path + "/altdir/mrapm_obp.service",
+ self.install_path + "/altdir/mrapm_stream.service",
+ self.install_path + "/altdir/mrmarch",
+ self.install_path + "/altdir/mrpdump",
+ self.install_path + "/altdir/mrtools-pinfo",
+ self.install_path + "/altdir/mrtunnat.service",
+ self.install_path + "/altdir/mrzcpd",
+ self.install_path + "/altdir/mrzcpd.service",
+ self.install_path + "/altdir/mrzcpd_hugepages_setup.service",
+ self.install_path + "/altdir/mrzcpd_hwdb_setup.service"
+ ]
+
+ self.system_service_files = [
+ "/usr/lib/systemd/system/mrapm_device.service",
+ "/usr/lib/systemd/system/mrapm_stream.service",
+ "/usr/lib/systemd/system/mrapm_obp.service",
+ "/usr/lib/systemd/system/mrtunnat.service",
+ "/usr/lib/systemd/system/mrzcpd_hugepages_setup.service",
+ "/usr/lib/systemd/system/mrzcpd_hwdb_setup.service",
+ "/usr/lib/systemd/system/mrzcpd.service"
+ ]
+
+ self.package_files = (self.package_conf_files + self.package_etc_files + self.package_bin_files +
+ self.package_include_files + self.package_lib_files + self.package_altdir_files +
+ self.system_service_files)
+
+ # monit_device no symbol
+ # self.binary_files = self.package_bin_files + self.package_lib_files
+
+ self.symbol_check_files = [
+ self.install_path + "/bin/mrzcpd",
+ self.install_path + "/lib/libmarsio.so",
+ ]
+
+ self.tools = tools()
+
+ def start(self):
+ if self.tools.is_package_installed("mrzcpd") == False:
+ return False
+ for file in self.package_files:
+ if self.tools.check_path_exists(file) == False:
+ return False
+ for file in self.symbol_check_files:
+ real_path = os.path.realpath(file)
+ # if self.tools.is_elf_file(real_path) == False:
+ # continue
+ if self.tools.check_symbol_exists(real_path) == False:
+ return False
+ return True
+
+if __name__ == "__main__":
+ test = package_content_test()
+ if test.start() == False:
+ sys.exit(1)
+
diff --git a/test/ptf_test/CMakeLists.txt b/test/ptf_test/CMakeLists.txt
new file mode 100644
index 0000000..3a1890e
--- /dev/null
+++ b/test/ptf_test/CMakeLists.txt
@@ -0,0 +1,119 @@
+include_directories(${CMAKE_SOURCE_DIR}/include)
+include_directories(${CMAKE_SOURCE_DIR}/include/extern)
+include_directories(${CMAKE_SOURCE_DIR}/include/internal)
+include_directories(${CMAKE_SOURCE_DIR})
+
+# Create veth
+execute_process(
+ COMMAND /bin/bash ${CMAKE_CURRENT_SOURCE_DIR}/create_veth.sh create 24
+ RESULT_VARIABLE VETH_RESULT
+ OUTPUT_VARIABLE VETH_OUTPUT
+ ERROR_VARIABLE VETH_ERROR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+# Check veth create
+if(VETH_RESULT)
+message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/create_veth.sh create 24")
+ message(FATAL_ERROR "Failed to create veth: ${VETH_ERROR}")
+endif()
+
+# Create veth for msgpack
+execute_process(
+ COMMAND /bin/bash ${CMAKE_CURRENT_SOURCE_DIR}/create_veth.sh create msgpack
+ RESULT_VARIABLE VETH_RESULT
+ OUTPUT_VARIABLE VETH_OUTPUT
+ ERROR_VARIABLE VETH_ERROR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+# Check veth create for msgpack
+if(VETH_RESULT)
+message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/create_veth.sh create msgpack")
+ message(FATAL_ERROR "Failed to create veth: ${VETH_ERROR}")
+endif()
+
+# Script for generating "--interface"
+# for i in range(0, 24):
+# print(f"--interface {i}@veth{i}-ptf{i}", end=" ")
+
+# Add vwire test
+add_test(
+ NAME vwire_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4 --interface 5@veth5-ptf5 --interface 6@veth6-ptf6 --interface 7@veth7-ptf7 --interface 8@veth8-ptf8 --interface 9@veth9-ptf9 --interface 10@veth10-ptf10 --interface 11@veth11-ptf11 --interface 12@veth12-ptf12 --interface 13@veth13-ptf13 --interface 14@veth14-ptf14 --interface 15@veth15-ptf15 --interface 16@veth16-ptf16 --interface 17@veth17-ptf17 --interface 18@veth18-ptf18 --interface 19@veth19-ptf19 --interface 20@veth20-ptf20 --interface 21@veth21-ptf21 --interface 22@veth22-ptf22 --interface 23@veth23-ptf23
+ vwire_test id_non_contiguous_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add bfd test
+add_test(
+ NAME bfd_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0
+ bfd_test_for_etherfabric bfd_test_for_bfdd --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add bridge test
+add_test(
+ NAME bridge_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3
+ bridge_test_unicast bridge_test_broadcast bridge_test_master_device --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+
+# Add classifier test
+add_test(
+ NAME classifier_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4 --interface 5@veth5-ptf5
+ classifier_test_base full_field_match_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add etherfabric test
+add_test(
+ NAME etherfabric_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0
+ virtual_wire_mode tap_mode ef_route_ctx_test ef_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add health_check test
+add_test(
+ NAME health_check
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0
+ health_check_base_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add load_balance test
+add_test(
+ NAME load_balance
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4
+ lb_base_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add msgpack test
+add_test(
+ NAME msgpack_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2
+ msgpack_serialize_test msgpack_deserialize_test msgpack_serialize_and_deserialize_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add endpoint dev test
+add_test(
+ NAME endpoint_dev_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0
+ icmp_reply_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
+
+# Add tera test
+add_test(
+ NAME tera_test
+ COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_CURRENT_SOURCE_DIR}
+ --interface 0@veth0-ptf0 --interface 1@veth1-ptf1
+ tera_base_test tera_mpack_test tera_nf_test tera_route_ctx_test tera_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_BINARY_DIR}'"
+)
diff --git a/test/bfd_test.py b/test/ptf_test/bfd_test.py
index 06ec56f..06ec56f 100644
--- a/test/bfd_test.py
+++ b/test/ptf_test/bfd_test.py
diff --git a/test/bridge_test.py b/test/ptf_test/bridge_test.py
index bf1dfff..bf1dfff 100644
--- a/test/bridge_test.py
+++ b/test/ptf_test/bridge_test.py
diff --git a/test/classifier_test.py b/test/ptf_test/classifier_test.py
index 82e525c..82e525c 100644
--- a/test/classifier_test.py
+++ b/test/ptf_test/classifier_test.py
diff --git a/test/common_pkt.py b/test/ptf_test/common_pkt.py
index a21758f..a21758f 100644
--- a/test/common_pkt.py
+++ b/test/ptf_test/common_pkt.py
diff --git a/test/create_veth.sh b/test/ptf_test/create_veth.sh
index ed00dd6..ed00dd6 100644
--- a/test/create_veth.sh
+++ b/test/ptf_test/create_veth.sh
diff --git a/test/endpoint_dev_test.py b/test/ptf_test/endpoint_dev_test.py
index fa46b44..fa46b44 100644
--- a/test/endpoint_dev_test.py
+++ b/test/ptf_test/endpoint_dev_test.py
diff --git a/test/etherfabric_test.py b/test/ptf_test/etherfabric_test.py
index 61f2e17..61f2e17 100644
--- a/test/etherfabric_test.py
+++ b/test/ptf_test/etherfabric_test.py
diff --git a/test/health_check_test.py b/test/ptf_test/health_check_test.py
index 71a48d9..71a48d9 100644
--- a/test/health_check_test.py
+++ b/test/ptf_test/health_check_test.py
diff --git a/test/load_balance_test.py b/test/ptf_test/load_balance_test.py
index f762214..f762214 100644
--- a/test/load_balance_test.py
+++ b/test/ptf_test/load_balance_test.py
diff --git a/test/mrzcpd.py b/test/ptf_test/mrzcpd.py
index 90c216e..b0fd8fa 100644
--- a/test/mrzcpd.py
+++ b/test/ptf_test/mrzcpd.py
@@ -9,17 +9,17 @@ mrzcpd_run_dir = "/var/run/mrzcpd"
class Mrzcpd:
- def __init__(self, conf_start,conf_dynamic):
+ def __init__(self, conf_start, conf_dynamic):
self.mrzcpd_path = ptf.testutils.test_param_get(
- "source_dir") + "/build/service/mrzcpd"
+ "source_dir") + "/service/mrzcpd"
self.conf_start = str(conf_start)
self.conf_path_start = ptf.testutils.test_param_get(
- "source_dir") + "/test/mrglobal.conf"
+ "source_dir") + "/test/ptf_test/mrglobal.conf"
self.conf_dynamic = str(conf_dynamic)
self.conf_path_dynamic = ptf.testutils.test_param_get(
- "source_dir") + "/test/mrglobal.dynamic.conf"
+ "source_dir") + "/test/ptf_test/mrglobal.dynamic.conf"
self.file_start = open(self.conf_path_start, 'w')
self.file_start.write(self.conf_start)
diff --git a/test/msgpack_test.py b/test/ptf_test/msgpack_test.py
index a92b6ff..a92b6ff 100644
--- a/test/msgpack_test.py
+++ b/test/ptf_test/msgpack_test.py
diff --git a/test/tera_test.py b/test/ptf_test/tera_test.py
index 56b58f3..56b58f3 100644
--- a/test/tera_test.py
+++ b/test/ptf_test/tera_test.py
diff --git a/test/vwire_test.py b/test/ptf_test/vwire_test.py
index 3d8e7b8..3d8e7b8 100644
--- a/test/vwire_test.py
+++ b/test/ptf_test/vwire_test.py