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

Reply via email to