Hi Ilya, On Sat, Dec 10, 2022 at 3:17 AM Ilya Maximets <[email protected]> wrote: > > AF_XDP bits was removed from kernel's libbpf in 6.0. libbpf > and libxdp are now primary way to build AF_XDP applications. > Most of modern distributions are already packaging some version > of libbpf, so it's better to test building with it instead > of building old unsupported kernel tree. > > All the jobs will now try to build with AF_XDP support. One > AF_XDP-specific job kept to fail explicitly if something is > wrong in the configuration process, others will just skip > building AF_XDP support in case of missing dependencies. > > Ubuntu started packaging libxdp only in 22.10, so not using > it for now. > > Signed-off-by: Ilya Maximets <[email protected]> > --- > .ci/linux-build.sh | 22 ++-------------------- > .github/workflows/build-and-test.yml | 9 +++------ > 2 files changed, 5 insertions(+), 26 deletions(-) > > diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh > index 1f8896423..2904aadd2 100755 > --- a/.ci/linux-build.sh > +++ b/.ci/linux-build.sh > @@ -76,22 +76,6 @@ function install_kernel() > make net/bridge/ > fi > > - if [ "$AFXDP" ]; then > - sudo make headers_install INSTALL_HDR_PATH=/usr > - pushd tools/lib/bpf/ > - # Bulding with gcc because there are some issues in make files > - # that breaks building libbpf with clang on Travis. > - CC=gcc sudo make install > - CC=gcc sudo make install_headers > - sudo ldconfig > - popd > - # The Linux kernel defines __always_inline in stddef.h (283d7573), > and > - # sys/cdefs.h tries to re-define it. Older libc-dev package in > xenial > - # doesn't have a fix for this issue. Applying it manually. > - sudo sed -i '/^# define __always_inline .*/i # undef > __always_inline' \ > - /usr/include/x86_64-linux-gnu/sys/cdefs.h || true > - EXTRA_OPTS="${EXTRA_OPTS} --enable-afxdp" > - fi > popd > } > > @@ -247,10 +231,8 @@ elif [ "$M32" ]; then > export CC="$CC -m32" > elif [ "$TRAVIS_ARCH" != "aarch64" ]; then > EXTRA_OPTS="$EXTRA_OPTS --enable-sparse" > - if [ "$AFXDP" ]; then > - # netdev-afxdp uses memset for 64M for umem initialization. > - SPARSE_FLAGS="${SPARSE_FLAGS} -Wno-memcpy-max-count" > - fi > + # netdev-afxdp uses memset for 64M for umem initialization. > + SPARSE_FLAGS="${SPARSE_FLAGS} -Wno-memcpy-max-count" > CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} ${SPARSE_FLAGS}" > fi > > diff --git a/.github/workflows/build-and-test.yml > b/.github/workflows/build-and-test.yml > index e08d7b1ba..5f28493c7 100644 > --- a/.github/workflows/build-and-test.yml > +++ b/.github/workflows/build-and-test.yml > @@ -8,8 +8,7 @@ jobs: > dependencies: | > automake libtool gcc bc libjemalloc2 libjemalloc-dev \ > libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev \ > - ninja-build selinux-policy-dev > - AFXDP: ${{ matrix.afxdp }} > + ninja-build selinux-policy-dev libbpf-dev > ASAN: ${{ matrix.asan }} > UBSAN: ${{ matrix.ubsan }} > CC: ${{ matrix.compiler }} > @@ -65,11 +64,9 @@ jobs: > libs: -ljemalloc > > - compiler: gcc > - afxdp: afxdp > - kernel: 5.3 > + opts: --enable-afxdp > - compiler: clang > - afxdp: afxdp > - kernel: 5.3 > + opts: --enable-afxdp
This removes the last user of custom kernel builds in GHA. IIUC, the remaining traces in Travis configuration is a noop (I sent a patch dropping it). Can't we cleanup KERNEL / install_kernel too? -- David Marchand _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
