TSG-23595 PacketAdapter适配AArch64架构
This commit is contained in:
140
.gitlab-ci.yml
140
.gitlab-ci.yml
@@ -3,33 +3,33 @@ variables:
|
|||||||
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
||||||
INSTALL_PREFIX: "/opt/tsg/packet_adapter"
|
INSTALL_PREFIX: "/opt/tsg/packet_adapter"
|
||||||
TESTING_VERSION_BUILD: 0
|
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:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# compile use image: build-env:rockylinux
|
# compile for el9
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
.build_by_travis_for_centos8:
|
.build_by_travis_for_el9:
|
||||||
image: $BUILD_IMAGE_CENTOS8
|
image: $BUILD_IMAGE_AARCH64_EL9
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
|
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
|
||||||
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||||
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||||
- chmod +x ./ci/travis.sh
|
- chmod +x ./ci/travis.sh
|
||||||
- yum install -y elfutils-libelf-devel
|
- yum install -y elfutils-libelf-devel
|
||||||
- dnf --enablerepo=powertools install -y libnetfilter_queue-devel
|
|
||||||
script:
|
script:
|
||||||
- yum makecache
|
- yum makecache
|
||||||
- ./ci/travis.sh
|
- ./ci/travis.sh
|
||||||
tags:
|
tags:
|
||||||
- share
|
- tsg-os-builder-aarch64
|
||||||
|
|
||||||
branch_build_debug_for_centos8:
|
branch_build_debug_for_el9:
|
||||||
stage: build
|
stage: build
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_el9
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
except:
|
except:
|
||||||
@@ -37,19 +37,123 @@ branch_build_debug_for_centos8:
|
|||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
branch_build_release_for_centos8:
|
branch_build_release_for_el9:
|
||||||
stage: build
|
stage: build
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_el9
|
||||||
except:
|
except:
|
||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
develop_build_debug_for_centos8:
|
develop_build_debug_for_el9:
|
||||||
stage: build
|
stage: build
|
||||||
extends: .build_by_travis_for_centos8
|
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
|
||||||
|
script:
|
||||||
|
- yum makecache
|
||||||
|
- ./ci/travis.sh
|
||||||
|
tags:
|
||||||
|
- share
|
||||||
|
|
||||||
|
branch_build_debug_for_el8:
|
||||||
|
stage: build
|
||||||
|
extends: .build_by_travis_for_el8
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: Debug
|
||||||
|
except:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
- tags
|
||||||
|
|
||||||
|
branch_build_release_for_el8:
|
||||||
|
stage: build
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: RelWithDebInfo
|
||||||
|
extends: .build_by_travis_for_el8
|
||||||
|
except:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
- tags
|
||||||
|
|
||||||
|
develop_build_debug_for_el8:
|
||||||
|
stage: build
|
||||||
|
extends: .build_by_travis_for_el8
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
@@ -65,9 +169,9 @@ develop_build_debug_for_centos8:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
develop_build_release_for_centos8:
|
develop_build_release_for_el8:
|
||||||
stage: build
|
stage: build
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_el8
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
# ASAN_OPTION: ADDRESS
|
# ASAN_OPTION: ADDRESS
|
||||||
@@ -83,14 +187,14 @@ develop_build_release_for_centos8:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
release_build_debug_for_centos8:
|
release_build_debug_for_el8:
|
||||||
stage: build
|
stage: build
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
||||||
PULP3_DIST_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:
|
artifacts:
|
||||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
|
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
|
||||||
paths:
|
paths:
|
||||||
@@ -98,14 +202,14 @@ release_build_debug_for_centos8:
|
|||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
release_build_release_for_centos8:
|
release_build_release_for_el8:
|
||||||
stage: build
|
stage: build
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
||||||
PULP3_DIST_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:
|
artifacts:
|
||||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
|
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
|
||||||
paths:
|
paths:
|
||||||
|
|||||||
@@ -33,8 +33,11 @@ env | sort
|
|||||||
: "${COMPILER_IS_GNUCXX:=OFF}"
|
: "${COMPILER_IS_GNUCXX:=OFF}"
|
||||||
|
|
||||||
# Install dependency from YUM
|
# Install dependency from YUM
|
||||||
#yum install -y libmnl-devel libnfnetlink-devel
|
if [[ `arch` =~ 'x86_64' ]];then
|
||||||
yum install -y mrzcpd-corei7-4.*
|
yum install -y mrzcpd-corei7
|
||||||
|
elif [[ `arch` =~ 'aarch64' ]];then
|
||||||
|
yum install -y mrzcpd
|
||||||
|
fi
|
||||||
yum install -y numactl-devel
|
yum install -y numactl-devel
|
||||||
yum install -y libfieldstat4-devel
|
yum install -y libfieldstat4-devel
|
||||||
yum install -y libMESA_handle_logger-devel
|
yum install -y libMESA_handle_logger-devel
|
||||||
|
|||||||
@@ -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)
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
find_package(NFNETLINK REQUIRED)
|
|
||||||
|
|
||||||
add_executable(packet_adapter
|
add_executable(packet_adapter
|
||||||
src/system.cpp
|
src/system.cpp
|
||||||
src/packet_stat.cpp
|
src/packet_stat.cpp
|
||||||
|
|||||||
10
vendor/CMakeLists.txt
vendored
10
vendor/CMakeLists.txt
vendored
@@ -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 IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so)
|
||||||
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
|
# MRZCPD
|
||||||
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
|
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)
|
add_library(mrzcpd SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
|
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
|
||||||
|
|||||||
Reference in New Issue
Block a user