net: fix redefinition in Windows
authorFady Bader <fady@mellanox.com>
Thu, 23 Jul 2020 07:08:23 +0000 (10:08 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 10 Sep 2020 19:52:04 +0000 (21:52 +0200)
In Windows, s_addr is defined in winsock2.h which is included by windows.h.
It is undefined in order to be defined as part of rte_ether_hdr.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_net/rte_ether.h

index a358e88..a9c6925 100644 (file)
@@ -23,6 +23,10 @@ extern "C" {
 #include <rte_mbuf.h>
 #include <rte_byteorder.h>
 
+#ifdef RTE_EXEC_ENV_WINDOWS /* Workaround conflict with rte_ether_hdr. */
+#undef s_addr /* Defined in winsock2.h included in windows.h. */
+#endif
+
 #define RTE_ETHER_ADDR_LEN  6 /**< Length of Ethernet address. */
 #define RTE_ETHER_TYPE_LEN  2 /**< Length of Ethernet type field. */
 #define RTE_ETHER_CRC_LEN   4 /**< Length of Ethernet CRC. */