Various BSD ioctl macros are not exposed anymore when _XOPEN_SOURCE is
defined, and linux/if.h now conflicts with net/if.h.

Suggested-by: Bruce Richardson <bruce.richardson at intel.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
---
 drivers/net/mlx4/Makefile      | 1 +
 drivers/net/mlx4/mlx4.c        | 7 +++----
 drivers/net/mlx5/Makefile      | 1 +
 drivers/net/mlx5/mlx5.h        | 1 -
 drivers/net/mlx5/mlx5_ethdev.c | 7 +++----
 drivers/net/mlx5/mlx5_mac.c    | 1 -
 6 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index d2f5692..6ec33a6 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -48,6 +48,7 @@ CFLAGS += -O3
 CFLAGS += -std=gnu99 -Wall -Wextra
 CFLAGS += -g
 CFLAGS += -I.
+CFLAGS += -D_DEFAULT_SOURCE
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -libverbs
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 9ed1491..5000eb1 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -54,7 +54,6 @@
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
-#include <linux/if.h>
 #include <linux/ethtool.h>
 #include <linux/sockios.h>
 #include <fcntl.h>
@@ -4771,7 +4770,7 @@ mlx4_link_update_unlocked(struct rte_eth_dev *dev, int 
wait_to_complete)
        memset(&dev_link, 0, sizeof(dev_link));
        dev_link.link_status = ((ifr.ifr_flags & IFF_UP) &&
                                (ifr.ifr_flags & IFF_RUNNING));
-       ifr.ifr_data = &edata;
+       ifr.ifr_data = (void *)&edata;
        if (priv_ifreq(priv, SIOCETHTOOL, &ifr)) {
                WARN("ioctl(SIOCETHTOOL, ETHTOOL_GSET) failed: %s",
                     strerror(errno));
@@ -4930,7 +4929,7 @@ mlx4_dev_get_flow_ctrl(struct rte_eth_dev *dev, struct 
rte_eth_fc_conf *fc_conf)

        if (mlx4_is_secondary())
                return -E_RTE_SECONDARY;
-       ifr.ifr_data = &ethpause;
+       ifr.ifr_data = (void *)&ethpause;
        priv_lock(priv);
        if (priv_ifreq(priv, SIOCETHTOOL, &ifr)) {
                ret = errno;
@@ -4980,7 +4979,7 @@ mlx4_dev_set_flow_ctrl(struct rte_eth_dev *dev, struct 
rte_eth_fc_conf *fc_conf)

        if (mlx4_is_secondary())
                return -E_RTE_SECONDARY;
-       ifr.ifr_data = &ethpause;
+       ifr.ifr_data = (void *)&ethpause;
        ethpause.autoneg = fc_conf->autoneg;
        if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
            (fc_conf->mode & RTE_FC_RX_PAUSE))
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index 92bfa07..a25649b 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -59,6 +59,7 @@ CFLAGS += -O3
 CFLAGS += -std=gnu99 -Wall -Wextra
 CFLAGS += -g
 CFLAGS += -I.
+CFLAGS += -D_DEFAULT_SOURCE
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -Wno-strict-prototypes
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 2487662..fb4f95a 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -39,7 +39,6 @@
 #include <limits.h>
 #include <net/if.h>
 #include <netinet/in.h>
-#include <linux/if.h>

 /* Verbs header. */
 /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 36b369e..9a8d1d9 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -44,7 +44,6 @@
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
-#include <linux/if.h>
 #include <linux/ethtool.h>
 #include <linux/sockios.h>
 #include <fcntl.h>
@@ -617,7 +616,7 @@ mlx5_link_update_unlocked(struct rte_eth_dev *dev, int 
wait_to_complete)
        memset(&dev_link, 0, sizeof(dev_link));
        dev_link.link_status = ((ifr.ifr_flags & IFF_UP) &&
                                (ifr.ifr_flags & IFF_RUNNING));
-       ifr.ifr_data = &edata;
+       ifr.ifr_data = (void *)&edata;
        if (priv_ifreq(priv, SIOCETHTOOL, &ifr)) {
                WARN("ioctl(SIOCETHTOOL, ETHTOOL_GSET) failed: %s",
                     strerror(errno));
@@ -767,7 +766,7 @@ mlx5_dev_get_flow_ctrl(struct rte_eth_dev *dev, struct 
rte_eth_fc_conf *fc_conf)
        if (mlx5_is_secondary())
                return -E_RTE_SECONDARY;

-       ifr.ifr_data = &ethpause;
+       ifr.ifr_data = (void *)&ethpause;
        priv_lock(priv);
        if (priv_ifreq(priv, SIOCETHTOOL, &ifr)) {
                ret = errno;
@@ -818,7 +817,7 @@ mlx5_dev_set_flow_ctrl(struct rte_eth_dev *dev, struct 
rte_eth_fc_conf *fc_conf)
        if (mlx5_is_secondary())
                return -E_RTE_SECONDARY;

-       ifr.ifr_data = &ethpause;
+       ifr.ifr_data = (void *)&ethpause;
        ethpause.autoneg = fc_conf->autoneg;
        if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
            (fc_conf->mode & RTE_FC_RX_PAUSE))
diff --git a/drivers/net/mlx5/mlx5_mac.c b/drivers/net/mlx5/mlx5_mac.c
index c9cea48..f6b27bb 100644
--- a/drivers/net/mlx5/mlx5_mac.c
+++ b/drivers/net/mlx5/mlx5_mac.c
@@ -38,7 +38,6 @@
 #include <inttypes.h>
 #include <errno.h>
 #include <netinet/in.h>
-#include <linux/if.h>
 #include <sys/ioctl.h>
 #include <arpa/inet.h>

-- 
2.1.4

Reply via email to