summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2024-11-12 10:21:02 +0800
committerluwenpeng <[email protected]>2024-11-12 14:25:36 +0800
commit1942f792e7e207cf9ea41cff46744d7c95d01a00 (patch)
tree20212846b54fc88b7aeb586b8061138d46d9768d
parent37c0b1b783f53ba7dab1658315019805bcc415c8 (diff)
TSG-23595 PacketAdapter适配AArch64架构v2.1.0-20241112
-rw-r--r--.gitlab-ci.yml138
-rw-r--r--ci/travis.sh7
-rw-r--r--cmake/FindNFNETLINK.cmake39
-rw-r--r--platform/CMakeLists.txt2
-rw-r--r--vendor/CMakeLists.txt10
5 files changed, 134 insertions, 62 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 864ba36..50e8521 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,33 +3,137 @@ variables:
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/packet_adapter"
TESTING_VERSION_BUILD: 0
- BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ BUILD_IMAGE_X86_64_EL8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ BUILD_IMAGE_AARCH64_EL9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
stages:
- build
###############################################################################
-# compile use image: build-env:rockylinux
+# compile for el9
###############################################################################
-.build_by_travis_for_centos8:
- image: $BUILD_IMAGE_CENTOS8
+.build_by_travis_for_el9:
+ image: $BUILD_IMAGE_AARCH64_EL9
+ before_script:
+ - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
+ - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
+ - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
+ - chmod +x ./ci/travis.sh
+ - yum install -y elfutils-libelf-devel
+ script:
+ - yum makecache
+ - ./ci/travis.sh
+ tags:
+ - tsg-os-builder-aarch64
+
+branch_build_debug_for_el9:
+ stage: build
+ extends: .build_by_travis_for_el9
+ variables:
+ BUILD_TYPE: Debug
+ except:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+ - tags
+
+branch_build_release_for_el9:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ extends: .build_by_travis_for_el9
+ except:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+ - tags
+
+develop_build_debug_for_el9:
+ stage: build
+ extends: .build_by_travis_for_el9
+ variables:
+ TESTING_VERSION_BUILD: 1
+ BUILD_TYPE: Debug
+# ASAN_OPTION: ADDRESS
+ PACKAGE: 1
+ PULP3_REPO_NAME: tsg-testing-aarch64.el9
+ PULP3_DIST_NAME: tsg-testing-aarch64.el9
+ artifacts:
+ name: "packet_adapter-develop-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - build/*.rpm
+ only:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+
+develop_build_release_for_el9:
+ stage: build
+ extends: .build_by_travis_for_el9
+ variables:
+ TESTING_VERSION_BUILD: 1
+# ASAN_OPTION: ADDRESS
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ PULP3_REPO_NAME: tsg-testing-aarch64.el9
+ PULP3_DIST_NAME: tsg-testing-aarch64.el9
+ artifacts:
+ name: "packet_adapter-develop-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+
+release_build_debug_for_el9:
+ stage: build
+ variables:
+ BUILD_TYPE: Debug
+ PACKAGE: 1
+ PULP3_REPO_NAME: tsg-stable-aarch64.el9
+ PULP3_DIST_NAME: tsg-stable-aarch64.el9
+ extends: .build_by_travis_for_el9
+ artifacts:
+ name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - build/*.rpm
+ only:
+ - tags
+
+release_build_release_for_el9:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ PULP3_REPO_NAME: tsg-stable-aarch64.el9
+ PULP3_DIST_NAME: tsg-stable-aarch64.el9
+ extends: .build_by_travis_for_el9
+ artifacts:
+ name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - tags
+
+###############################################################################
+# compile for el8
+###############################################################################
+
+.build_by_travis_for_el8:
+ image: $BUILD_IMAGE_X86_64_EL8
before_script:
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- chmod +x ./ci/travis.sh
- yum install -y elfutils-libelf-devel
- - dnf --enablerepo=powertools install -y libnetfilter_queue-devel
script:
- yum makecache
- ./ci/travis.sh
tags:
- share
-branch_build_debug_for_centos8:
+branch_build_debug_for_el8:
stage: build
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
variables:
BUILD_TYPE: Debug
except:
@@ -37,19 +141,19 @@ branch_build_debug_for_centos8:
- /^release-.*$/i
- tags
-branch_build_release_for_centos8:
+branch_build_release_for_el8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
-develop_build_debug_for_centos8:
+develop_build_debug_for_el8:
stage: build
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
variables:
TESTING_VERSION_BUILD: 1
BUILD_TYPE: Debug
@@ -65,9 +169,9 @@ develop_build_debug_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
-develop_build_release_for_centos8:
+develop_build_release_for_el8:
stage: build
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
variables:
TESTING_VERSION_BUILD: 1
# ASAN_OPTION: ADDRESS
@@ -83,14 +187,14 @@ develop_build_release_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
-release_build_debug_for_centos8:
+release_build_debug_for_el8:
stage: build
variables:
BUILD_TYPE: Debug
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
artifacts:
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
paths:
@@ -98,14 +202,14 @@ release_build_debug_for_centos8:
only:
- tags
-release_build_release_for_centos8:
+release_build_release_for_el8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
+ extends: .build_by_travis_for_el8
artifacts:
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
paths:
diff --git a/ci/travis.sh b/ci/travis.sh
index 3bc250d..accd89e 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -33,8 +33,11 @@ env | sort
: "${COMPILER_IS_GNUCXX:=OFF}"
# Install dependency from YUM
-#yum install -y libmnl-devel libnfnetlink-devel
-yum install -y mrzcpd-corei7-4.*
+if [[ `arch` =~ 'x86_64' ]];then
+ yum install -y mrzcpd-corei7
+elif [[ `arch` =~ 'aarch64' ]];then
+ yum install -y mrzcpd
+fi
yum install -y numactl-devel
yum install -y libfieldstat4-devel
yum install -y libMESA_handle_logger-devel
diff --git a/cmake/FindNFNETLINK.cmake b/cmake/FindNFNETLINK.cmake
deleted file mode 100644
index e0e7742..0000000
--- a/cmake/FindNFNETLINK.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-# - Find nfnetlinkDaemon
-# Find the nfnetlink daemon library
-#
-# This module defines the following variables:
-# NFNETLINK_FOUND - True if library and include directory are found
-# If set to TRUE, the following are also defined:
-# NFNETLINK_INCLUDE_DIRS - The directory where to find the header file
-# NFNETLINK_LIBRARIES - Where to find the library file
-#
-# For conveniance, these variables are also set. They have the same values
-# than the variables above. The user can thus choose his/her prefered way
-# to write them.
-# NFNETLINK_LIBRARY
-# NFNETLINK_INCLUDE_DIR
-#
-# This file is in the public domain
-
-include(FindPkgConfig)
-pkg_check_modules(NFNETLINK libnfnetlink)
-
-if(NOT NFNETLINK_FOUND)
- find_path(NFNETLINK_INCLUDE_DIRS NAMES nlibnfnetlink/libnfnetlink.h
- DOC "The nfnetlink include directory")
-
- find_library(NFNETLINK_LIBRARIES NAMES libnfnetlink
- DOC "The nfnetlink library")
-
- # Use some standard module to handle the QUIETLY and REQUIRED arguments, and
- # set NFNETLINK_FOUND to TRUE if these two variables are set.
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(NFNETLINK REQUIRED_VARS NFNETLINK_LIBRARIES NFNETLINK_INCLUDE_DIRS)
-
- if(NFNETLINK_FOUND)
- set(NFNETLINK_LIBRARY ${NFNETLINK_LIBRARIES})
- set(NFNETLINK_INCLUDE_DIR ${NFNETLINK_INCLUDE_DIRS})
- endif()
-endif()
-
-mark_as_advanced(NFNETLINK_INCLUDE_DIRS NFNETLINK_LIBRARIES) \ No newline at end of file
diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt
index cdbe9f2..429fb45 100644
--- a/platform/CMakeLists.txt
+++ b/platform/CMakeLists.txt
@@ -1,5 +1,3 @@
-find_package(NFNETLINK REQUIRED)
-
add_executable(packet_adapter
src/system.cpp
src/packet_stat.cpp
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index 7cff521..cea1615 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -36,8 +36,14 @@ add_library(fieldstat4 SHARED IMPORTED GLOBAL)
set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so)
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
-set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
-set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
+# MRZCPD
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+ set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
+ set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+ set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib)
+ set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include)
+endif()
add_library(mrzcpd SHARED IMPORTED GLOBAL)
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)