msquic icon indicating copy to clipboard operation
msquic copied to clipboard

openSUSE package xdp dependency

Open ManickaP opened this issue 1 month ago • 9 comments

OS: openSUSE Leap 15.6 libmsquic-2.4.16 requires libxdp >= 1.4.0, openSUSE Leap 15.6 only provides libxdp1 version 1.3.1.

Context: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/pull/1536

ManickaP avatar Nov 04 '25 17:11 ManickaP

@mtfriesen Do you know if MsQuic needs libxdp >= 1.4.0 or if the dependency required is too strong?

guhetier avatar Nov 04 '25 18:11 guhetier

I don't think MsQuic needs (or at least, should need) libxdp at all. It should be an optional acceleration; I'm also not sure XDP support is even included in the MsQuic official builds.

However, my experience is limited to XDP on Windows.

Let me dig around a bit.

mtfriesen avatar Nov 04 '25 18:11 mtfriesen

It looks like official 24.04 builds do link to libxdp on x64. From the import table, I think the effective dependency is >= 1.2?

Separately, IMO MsQuic should not require XDP at all - just try runtime loading the libxdp.so file.

nm -gD /lib/x86_64-linux-gnu/libmsquic.so.2 | grep LIBXDP
                 U libxdp_get_error@LIBXDP_1.0.0
                 U libxdp_set_print@LIBXDP_1.0.0
                 U libxdp_strerror@LIBXDP_1.0.0
                 U xdp_multiprog__close@LIBXDP_1.0.0
                 U xdp_multiprog__detach@LIBXDP_1.0.0
                 U xdp_multiprog__get_from_ifindex@LIBXDP_1.0.0
                 U xdp_program__attach@LIBXDP_1.0.0
                 U xdp_program__bpf_obj@LIBXDP_1.0.0
                 U xdp_program__close@LIBXDP_1.0.0
                 U xdp_program__open_file@LIBXDP_1.0.0
                 U xsk_socket__create@LIBXDP_1.2.0
                 U xsk_socket__delete@LIBXDP_1.2.0
                 U xsk_socket__fd@LIBXDP_1.2.0
                 U xsk_socket__update_xskmap@LIBXDP_1.2.0
                 U xsk_umem__create@LIBXDP_1.2.0
                 U xsk_umem__delete@LIBXDP_1.2.0

mtfriesen avatar Nov 04 '25 18:11 mtfriesen

Unless we can identify a need, we should remove XDP support from the Linux package.

  • XDP support on Linux is a recent addition that wasn't part of older packages
  • There is no clearly identified need for it as of now

A longer-term solution would be to load libxdp.so at runtime as mentioned above, which can be done if/when there is a need.

guhetier avatar Nov 04 '25 19:11 guhetier

This is a problem for us. We recently shipped openSUSE 16 packages, but are unable to test on that platform. Will this issue be fixed this month?

richlander avatar Nov 13 '25 22:11 richlander

We are working on a fix. Some unrelated build issue (#5583) is delaying progress, but I expect this will be addressed this month.

guhetier avatar Nov 13 '25 23:11 guhetier

The issue should be addressed in v2.4.17-rc (already published). Stable version v2.4.17 and v2.5.6 will be released shortly to make the fix available by default.

guhetier avatar Dec 04 '25 17:12 guhetier

I don't see that package version at:

  • https://packages.microsoft.com/opensuse/15/prod/Packages/l/
  • https://packages.microsoft.com/opensuse/16/prod/Packages/l/

richlander avatar Dec 05 '25 21:12 richlander

They are currently in the pre-release repository only.

https://packages.microsoft.com/yumrepos/microsoft-opensuse15-testing-prod/Packages/l/

We have the same change for opensuse16, but an ES change broke the build pipeline, we are working on solving it so we are able to release the remaining packages.

guhetier avatar Dec 05 '25 22:12 guhetier