net/mlx: fix compilation with glibc 2.20
Since _BSD_SOURCE was deprecated in favor of _DEFAULT_SOURCE in Glibc 2.19 and entirely removed in 2.20, various BSD ioctl macros are not exposed anymore when _XOPEN_SOURCE is defined, and linux/if.h now conflicts with net/if.h. Add _DEFAULT_SOURCE and keep _BSD_SOURCE for compatibility with older versions. Suggested-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
e07f80c850
commit
d06c608c01
@ -48,6 +48,8 @@ CFLAGS += -O3
|
||||
CFLAGS += -std=gnu99 -Wall -Wextra
|
||||
CFLAGS += -g
|
||||
CFLAGS += -I.
|
||||
CFLAGS += -D_BSD_SOURCE
|
||||
CFLAGS += -D_DEFAULT_SOURCE
|
||||
CFLAGS += -D_XOPEN_SOURCE=600
|
||||
CFLAGS += $(WERROR_FLAGS)
|
||||
LDLIBS += -libverbs
|
||||
|
@ -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 = ðpause;
|
||||
ifr.ifr_data = (void *)ðpause;
|
||||
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 = ðpause;
|
||||
ifr.ifr_data = (void *)ðpause;
|
||||
ethpause.autoneg = fc_conf->autoneg;
|
||||
if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
|
||||
(fc_conf->mode & RTE_FC_RX_PAUSE))
|
||||
|
@ -59,6 +59,8 @@ CFLAGS += -O3
|
||||
CFLAGS += -std=gnu99 -Wall -Wextra
|
||||
CFLAGS += -g
|
||||
CFLAGS += -I.
|
||||
CFLAGS += -D_BSD_SOURCE
|
||||
CFLAGS += -D_DEFAULT_SOURCE
|
||||
CFLAGS += -D_XOPEN_SOURCE=600
|
||||
CFLAGS += $(WERROR_FLAGS)
|
||||
CFLAGS += -Wno-strict-prototypes
|
||||
|
@ -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. */
|
||||
|
@ -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 = ðpause;
|
||||
ifr.ifr_data = (void *)ðpause;
|
||||
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 = ðpause;
|
||||
ifr.ifr_data = (void *)ðpause;
|
||||
ethpause.autoneg = fc_conf->autoneg;
|
||||
if (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||
|
||||
(fc_conf->mode & RTE_FC_RX_PAUSE))
|
||||
|
@ -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>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user