drivers/net: fix mlx* glue libraries ABI version
Checks
Commit Message
Those libraries have been missed when switching to global ABI version.
Fixes: cba806e07d6f ("build: change ABI versioning to global")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/mlx4/Makefile | 2 +-
drivers/net/mlx4/meson.build | 2 +-
drivers/net/mlx5/Makefile | 2 +-
drivers/net/mlx5/meson.build | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
Comments
04/12/2019 11:05, David Marchand:
> Those libraries have been missed when switching to global ABI version.
The versioning of the glue libraries are for compatibility checks
between the PMD and its dependency (rdma-core) packaged as a plugin,
called glue library.
This versioning is updated when there is a change in the verbs glue
interface, in order to avoid issues in case of PMD and glue
updated separately with a non-compatible version.
I don't think the mlx glue libraries are part of the ABI policy
which acts at the application level.
Am I missing something?
On Thu, Dec 12, 2019 at 11:18 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 04/12/2019 11:05, David Marchand:
> > Those libraries have been missed when switching to global ABI version.
>
> The versioning of the glue libraries are for compatibility checks
> between the PMD and its dependency (rdma-core) packaged as a plugin,
> called glue library.
>
> This versioning is updated when there is a change in the verbs glue
> interface, in order to avoid issues in case of PMD and glue
> updated separately with a non-compatible version.
> I don't think the mlx glue libraries are part of the ABI policy
> which acts at the application level.
>
> Am I missing something?
Sorry, this patch fell into the cracks.
I agree that this is not part of the ABI policy.
This version only indicates something internal.
But what I am proposing here is just to remove this special case.
What is the point of exposing a special version, while the net drivers
are the only one depending on those glue libs?
Do you expect separate packaging for the net driver and its associated glue lib?
This special version also makes it impossible to install two versions
of dpdk if those versions of dpdk need the same glue version.
I still think it is better to align to the version of dpdk, though the
commitlog needs some work.
07/05/2020 14:35, David Marchand:
> On Thu, Dec 12, 2019 at 11:18 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > 04/12/2019 11:05, David Marchand:
> > > Those libraries have been missed when switching to global ABI version.
> >
> > The versioning of the glue libraries are for compatibility checks
> > between the PMD and its dependency (rdma-core) packaged as a plugin,
> > called glue library.
> >
> > This versioning is updated when there is a change in the verbs glue
> > interface, in order to avoid issues in case of PMD and glue
> > updated separately with a non-compatible version.
> > I don't think the mlx glue libraries are part of the ABI policy
> > which acts at the application level.
> >
> > Am I missing something?
>
> Sorry, this patch fell into the cracks.
>
> I agree that this is not part of the ABI policy.
> This version only indicates something internal.
>
> But what I am proposing here is just to remove this special case.
> What is the point of exposing a special version, while the net drivers
> are the only one depending on those glue libs?
> Do you expect separate packaging for the net driver and its associated glue lib?
>
> This special version also makes it impossible to install two versions
> of dpdk if those versions of dpdk need the same glue version.
Yes I'm OK with using DPDK version for glue versioning.
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_pmd_mlx4.a
LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
LIB_GLUE_BASE = librte_pmd_mlx4_glue.so
-LIB_GLUE_VERSION = 18.02.0
+LIB_GLUE_VERSION = $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
# Sources.
SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c
@@ -11,7 +11,7 @@ build = true
pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')
LIB_GLUE_BASE = 'librte_pmd_mlx4_glue.so'
-LIB_GLUE_VERSION = '18.02.0'
+LIB_GLUE_VERSION = abi_version
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
if pmd_dlopen
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_pmd_mlx5.a
LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
-LIB_GLUE_VERSION = 19.08.0
+LIB_GLUE_VERSION = $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
# Sources.
SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
@@ -11,7 +11,7 @@ build = true
pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')
LIB_GLUE_BASE = 'librte_pmd_mlx5_glue.so'
-LIB_GLUE_VERSION = '19.08.0'
+LIB_GLUE_VERSION = abi_version
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
if pmd_dlopen
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)