[dpdk-dev] [PATCH] common/mlx5: redefine Netlink include

Matan Azrad matan at mellanox.com
Mon Feb 3 16:02:38 CET 2020



From: Ferruh Yigit
> On 2/2/2020 3:59 PM, Matan Azrad wrote:
> > The new RDMA-CORE versions may have the same sub-path to include the
> > linux Netlink header file.
> >
> > It uses the pre-proccessor command #include_next what breaks the PMD
> > gcc compilation of common/mlx5_netlink.h file in debug mode.
> >
> > Use specific include for linux/netlink.h to be taken from
> > /usr/include/linux.
> >
> > Signed-off-by: Matan Azrad <matan at mellanox.com>
> > ---
> >  drivers/common/mlx5/mlx5_nl.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/common/mlx5/mlx5_nl.h
> > b/drivers/common/mlx5/mlx5_nl.h index 2c3f837..ebaa655 100644
> > --- a/drivers/common/mlx5/mlx5_nl.h
> > +++ b/drivers/common/mlx5/mlx5_nl.h
> > @@ -5,7 +5,7 @@
> >  #ifndef RTE_PMD_MLX5_NL_H_
> >  #define RTE_PMD_MLX5_NL_H_
> >
> > -#include <linux/netlink.h>
> > +#include "/usr/include/linux/netlink.h"
> 
> It is odd to change the include to the exact path, can't this be fixed other
> way, can you please give more details on the issue and the macro etc..?

I tried to find other solution but didn't find.

As I wrote in commit log, the #include_next (from RDMA-CORE) is not compiled when we compile with mlx5 debug mode (pedantic).
The error is " error: #include_next is a GCC extension [-Werror]"
Even If I wrap the relevant include line to disable pedantic it is not compiled with gcc.

So, I changed to include specific path from the linux headers.

Do you have other suggestion?

Matan


More information about the dev mailing list