Skip to content

Commit

Permalink
Merge branch 'DPDK:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
eroullit authored Nov 5, 2024
2 parents 9ef8d0a + 64f2788 commit c0c9d81
Show file tree
Hide file tree
Showing 3,350 changed files with 225,254 additions and 59,817 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .ci/linux-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ fi
if [ "$MINI" = "true" ]; then
OPTS="$OPTS -Denable_drivers=net/null"
OPTS="$OPTS -Ddisable_libs=*"
if [ "$DEF_LIB" = "static" ]; then
OPTS="$OPTS -Dexamples=l2fwd"
fi
else
OPTS="$OPTS -Denable_deprecated_libs=*"
fi
Expand Down
2 changes: 1 addition & 1 deletion .ci/linux-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[ "$(id -u)" != '0' ] || alias sudo=

# need to install as 'root' since some of the unit tests won't run without it
sudo python3 -m pip install --upgrade 'meson==0.53.2'
sudo python3 -m pip install --upgrade 'meson==0.57.2'

# setup hugepages. error ignored because having hugepage is not mandatory.
cat /proc/meminfo
Expand Down
85 changes: 46 additions & 39 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
MINGW: ${{ matrix.config.cross == 'mingw' }}
MINI: ${{ matrix.config.mini != '' }}
PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
REF_GIT_TAG: v23.11
REF_GIT_TAG: none
RISCV64: ${{ matrix.config.cross == 'riscv64' }}
RUN_TESTS: ${{ contains(matrix.config.checks, 'tests') }}
STDATOMIC: ${{ contains(matrix.config.checks, 'stdatomic') }}
Expand All @@ -36,65 +36,65 @@ jobs:
fail-fast: false
matrix:
config:
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
mini: mini
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
checks: stdatomic
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: clang
checks: stdatomic
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
checks: abi+debug+doc+examples+tests
- os: ubuntu-20.04
checks: debug+doc+examples+tests
- os: ubuntu-22.04
compiler: clang
checks: asan+doc+tests
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
library: static
cross: i386
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
library: static
cross: mingw
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
library: shared
cross: aarch64
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
cross: ppc64le
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: gcc
cross: riscv64

steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Generate cache keys
id: get_ref_keys
run: |
echo 'ccache=ccache-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-'$(date -u +%Y-w%W) >> $GITHUB_OUTPUT
echo 'libabigail=libabigail-${{ env.LIBABIGAIL_VERSION }}-${{ matrix.config.os }}' >> $GITHUB_OUTPUT
echo 'abi=abi-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-${{ env.REF_GIT_TAG }}' >> $GITHUB_OUTPUT
- name: Retrieve ccache cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ steps.get_ref_keys.outputs.ccache }}-${{ github.ref }}
restore-keys: |
${{ steps.get_ref_keys.outputs.ccache }}-refs/heads/main
- name: Retrieve libabigail cache
id: libabigail-cache
uses: actions/cache@v3
uses: actions/cache@v4
if: env.ABI_CHECKS == 'true'
with:
path: libabigail
key: ${{ steps.get_ref_keys.outputs.libabigail }}
- name: Retrieve ABI reference cache
uses: actions/cache@v3
uses: actions/cache@v4
if: env.ABI_CHECKS == 'true'
with:
path: reference
Expand All @@ -105,10 +105,10 @@ jobs:
- name: Update APT cache
run: sudo apt update || true
- name: Install packages
run: sudo apt install -y ccache libarchive-dev libbsd-dev libfdt-dev
libibverbs-dev libjansson-dev libnuma-dev libpcap-dev libssl-dev
ninja-build pkg-config python3-pip python3-pyelftools python3-setuptools
python3-wheel zlib1g-dev
run: sudo apt install -y ccache libarchive-dev libbsd-dev libbpf-dev
libfdt-dev libibverbs-dev libipsec-mb-dev libisal-dev libjansson-dev
libnuma-dev libpcap-dev libssl-dev ninja-build pkg-config python3-pip
python3-pyelftools python3-setuptools python3-wheel zlib1g-dev
- name: Install libabigail build dependencies if no cache is available
if: env.ABI_CHECKS == 'true' && steps.libabigail-cache.outputs.cache-hit != 'true'
run: sudo apt install -y autoconf automake libdw-dev libtool libxml2-dev
Expand Down Expand Up @@ -139,11 +139,18 @@ jobs:
.ci/linux-setup.sh
# Workaround on $HOME permissions as EAL checks them for plugin loading
chmod o-w $HOME
- name: Reduce ASLR entropy
if: env.ASAN == 'true'
# ASan in llvm 14 provided in ubuntu-22.04 is incompatible with
# high-entropy ASLR configured in much newer kernels that GitHub
# runners are using leading to random crashes:
# https://github.com/actions/runner-images/issues/9491
run: sudo sysctl -w vm.mmap_rnd_bits=28
- name: Build and test
run: .ci/linux-build.sh
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: meson-logs-${{ join(matrix.config.*, '-') }}
path: |
Expand All @@ -162,7 +169,7 @@ jobs:
fail-fast: false
matrix:
config:
- image: fedora:37
- image: fedora:39

steps:
- name: Generate various keys
Expand All @@ -171,7 +178,7 @@ jobs:
echo 'image=image-${{ matrix.config.image }}-'$(date -u +%Y-%m-%d) >> $GITHUB_OUTPUT
- name: Retrieve image cache
id: image_cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.image
key: ${{ steps.get_keys.outputs.image }}
Expand All @@ -187,11 +194,11 @@ jobs:
run: docker exec -i dpdk dnf update -y
- name: Install packages
if: steps.image_cache.outputs.cache-hit != 'true'
run: docker exec -i dpdk dnf install -y ccache jansson-devel
libarchive-devel libatomic libbsd-devel libbpf-devel libfdt-devel
libpcap-devel ninja-build numactl-devel openssl-devel python3-pip
python3-pyelftools python3-setuptools python3-wheel rdma-core-devel
zlib-devel
run: docker exec -i dpdk dnf install -y ccache intel-ipsec-mb-devel
isa-l-devel jansson-devel libarchive-devel libatomic libbsd-devel
libbpf-devel libfdt-devel libpcap-devel libxdp-devel ninja-build
numactl-devel openssl-devel python3-pip python3-pyelftools
python3-setuptools python3-wheel rdma-core-devel zlib-devel
- name: Save image in cache
if: steps.image_cache.outputs.cache-hit != 'true'
run: |
Expand All @@ -211,22 +218,22 @@ jobs:
fail-fast: false
matrix:
config:
- image: fedora:37
- image: fedora:39
compiler: gcc
- image: fedora:37
- image: fedora:39
compiler: clang

steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Generate various keys
id: get_keys
run: |
echo 'ccache=ccache-${{ matrix.config.image }}-${{ matrix.config.compiler }}-'$(date -u +%Y-w%W) >> $GITHUB_OUTPUT
echo 'logs=meson-logs-${{ join(matrix.config.*, '-') }}' | tr -d ':' >> $GITHUB_OUTPUT
- name: Retrieve image cache
id: image_cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.image
key: ${{ needs.prepare-container-images.outputs.image }}
Expand All @@ -236,7 +243,7 @@ jobs:
echo 'Image ${{ matrix.config.image }} is not cached.'
false
- name: Retrieve ccache cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ steps.get_keys.outputs.ccache }}-${{ github.ref }}
Expand All @@ -262,11 +269,11 @@ jobs:
- name: Update
run: docker exec -i dpdk dnf update -y || true
- name: Install packages
run: docker exec -i dpdk dnf install -y ccache jansson-devel
libarchive-devel libatomic libbsd-devel libxdp-devel libfdt-devel
libpcap-devel ninja-build numactl-devel openssl-devel python3-pip
python3-pyelftools python3-setuptools python3-wheel rdma-core-devel
zlib-devel
run: docker exec -i dpdk dnf install -y ccache intel-ipsec-mb-devel
isa-l-devel jansson-devel libarchive-devel libatomic libbsd-devel
libbpf-devel libfdt-devel libpcap-devel libxdp-devel ninja-build
numactl-devel openssl-devel python3-pip python3-pyelftools
python3-setuptools python3-wheel rdma-core-devel zlib-devel
${{ matrix.config.compiler }}
- name: Run setup
run: docker exec -i dpdk .ci/linux-setup.sh
Expand All @@ -276,7 +283,7 @@ jobs:
run: docker kill dpdk
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.get_keys.outputs.logs }}
path: |
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ TAGS
# ignore python bytecode files
*.pyc

# ignore BPF programs
drivers/net/tap/bpf/tap_bpf_program.o

# DTS results
dts/output

Expand Down
Loading

0 comments on commit c0c9d81

Please sign in to comment.