On 29/06/2026 13:01, Eelco Chaudron wrote:
External email: Use caution opening links or attachments


On 24 Jun 2026, at 15:02, Eli Britstein wrote:

[...]

The netdev-doca by itself doesn't have a lot of value for the OVS users
without the offload provider, AFAIU, which we will not get within the
current release cycle (there is simply not enough time to get everything
reviewed).  The main benefit of having it in git is to avoid dragging
the patch set on the mailing list.  Having it on dpdk-latest surely
requires a bit more rebasing work than having it on main, but it still
provides ability to have follow-up changes with a full CI coverage.  And
most rebases should be fairly straightforward.

We could have it on main if there were no other obstacles, but without
any benefit for OVS users there is really no reason to bring more
experimental code into main.  We should just stick with simple rules.
That's fair. When v5 is ready it will be for dpdk-latest.
I removed -DALLOW_EXPERIMENTAL_API from acinclude.m4. It can still work with 
current dpdk version since doca silently has it in its pkg-config files.

I rebased on dpdk-latest. It applies cleanly.

The problem is that shared linking cannot work because doca was compiled with 
those API as experimental and now they are not.

We get the following:

/usr/bin/ld: /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_dpdk_bridge.so: 
undefined reference to `rte_pmd_mlx5_disable_steering@EXPERIMENTAL'
/usr/bin/ld: /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_dpdk_bridge.so: 
undefined reference to `rte_pmd_mlx5_driver_event_cb_register@EXPERIMENTAL'

The options I see are:

1. Move back to push to main. The problem is that compiling against doca 
silently implies ALLOW_EXPERIMENTAL_API, even it is not enabled in acinclude.m4 
(but has usage of those in the code, if using a dpdk with which they are still 
experimental).

2. Keep this plan to push to dpdk-latest but temporarily disable doca-shared 
linkage in CI (or remove the support of it completely). When we have an updated 
doca version that compiles against a dpdk version in which has those API 
stable, we can enable it back.

Thoughts?
Hi Eli,

Sorry for the late response, but I'm involved in handling an
escalation at the moment.

Keep -DALLOW_EXPERIMENTAL_API in acinclude.m4 for the dpdk-latest
series. There is no need to remove it there. The policy is that
main does not get it, and when the APIs eventually get promoted to
stable and the series merges to main, the flag comes out at that
point. Removing it early just causes the shared linking breakage
you are seeing.

No. From compilation/link point of view I can keep it or remove it. It doesn't make any difference.

The reason is that in anyway doca pkg-config files have it. Only when there is a newer doca version without it will go away.

The breakage now is because doca was compiled against a dpdk version with those API as experimental, so when trying to link with a newer dpdk version in which they are not, it breaks.

A 3rd option I didn't mention is to go back to link in CI ovs-doca against the provided dpdk version in doca, rather than the compiled/cached version.


Cheers,

Eelco

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to