[dpdk-dev] net/mlx5: fix compilation error of rdma-core on ARM

Message ID 20180314175148.11176-1-yskoh@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK

Commit Message

Yongseok Koh March 14, 2018, 5:51 p.m. UTC
  rdma-core v16 has a bug. The following compilation error occurs on ARM
hosts.

In file included
from /auto/mswg/yskoh/git/dpdk.org/drivers/net/mlx5/mlx5_glue.h:16:0,
from /auto/mswg/yskoh/git/dpdk.org/drivers/net/mlx5/mlx5_glue.c:11:
/usr/include/infiniband/mlx5dv.h:144:2: error: unknown type name ‘off_t’
off_t   uar_mmap_offset;
^

As a temporary fix, sys/types.h is included in PMD. This has been fixed in
rdma-core v17. This can be removed when all the Linux distros are shipped
with rdma-core v17 or back-ported fix. As of now, RedHat 7.5 is known to
have rdma-core v16.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5_glue.c | 6 ++++++
 drivers/net/mlx5/mlx5_vlan.c | 6 ++++++
 2 files changed, 12 insertions(+)
  

Comments

Shahaf Shuler March 19, 2018, 5:56 p.m. UTC | #1
Wednesday, March 14, 2018 7:52 PM, Yongseok Koh:
> rdma-core v16 has a bug. The following compilation error occurs on ARM

> hosts.

> 

> In file included

> from /auto/mswg/yskoh/git/dpdk.org/drivers/net/mlx5/mlx5_glue.h:16:0,

> from /auto/mswg/yskoh/git/dpdk.org/drivers/net/mlx5/mlx5_glue.c:11:

> /usr/include/infiniband/mlx5dv.h:144:2: error: unknown type name ‘off_t’

> off_t   uar_mmap_offset;

> ^

> 

> As a temporary fix, sys/types.h is included in PMD. This has been fixed in

> rdma-core v17. This can be removed when all the Linux distros are shipped

> with rdma-core v17 or back-ported fix. As of now, RedHat 7.5 is known to

> have rdma-core v16.

> 

> Signed-off-by: Yongseok Koh <yskoh@mellanox.com>

> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>


Applied to next-net-mlx, thanks.
  

Patch

diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c
index 1c4396ada..484824870 100644
--- a/drivers/net/mlx5/mlx5_glue.c
+++ b/drivers/net/mlx5/mlx5_glue.c
@@ -7,6 +7,12 @@ 
 #include <stddef.h>
 #include <stdint.h>
 
+/*
+* Not needed by this file; included to work around the lack of off_t
+* definition for mlx5dv.h with unpatched rdma-core versions.
+*/
+#include <sys/types.h>
+
 /* Verbs headers do not support -pedantic. */
 #ifdef PEDANTIC
 #pragma GCC diagnostic ignored "-Wpedantic"
diff --git a/drivers/net/mlx5/mlx5_vlan.c b/drivers/net/mlx5/mlx5_vlan.c
index 75c345626..e3f887738 100644
--- a/drivers/net/mlx5/mlx5_vlan.c
+++ b/drivers/net/mlx5/mlx5_vlan.c
@@ -8,6 +8,12 @@ 
 #include <assert.h>
 #include <stdint.h>
 
+/*
+* Not needed by this file; included to work around the lack of off_t
+* definition for mlx5dv.h with unpatched rdma-core versions.
+*/
+#include <sys/types.h>
+
 /* Verbs headers do not support -pedantic. */
 #ifdef PEDANTIC
 #pragma GCC diagnostic ignored "-Wpedantic"