net: build on Windows
authorFady Bader <fady@mellanox.com>
Thu, 23 Jul 2020 07:08:25 +0000 (10:08 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 10 Sep 2020 19:53:48 +0000 (21:53 +0200)
librte_net was not compiling under Windows.
To solve this, needed header files are added.

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_eal/windows/include/netinet/in.h [new file with mode: 0644]
lib/librte_eal/windows/include/netinet/ip.h [new file with mode: 0644]
lib/librte_net/rte_ether.c
lib/meson.build

diff --git a/lib/librte_eal/windows/include/netinet/in.h b/lib/librte_eal/windows/include/netinet/in.h
new file mode 100644 (file)
index 0000000..534a2d9
--- /dev/null
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2020 Mellanox Technologies, Ltd
+ */
+
+#ifndef _IN_H_
+#define _IN_H_
+
+#define IPPROTO_IP         0
+#define IPPROTO_HOPOPTS    0
+#define IPPROTO_ICMP       1
+#define IPPROTO_IPIP       4
+#define IPPROTO_TCP        6
+#define IPPROTO_UDP       17
+#define IPPROTO_IPV6      41
+#define IPPROTO_ROUTING   43
+#define IPPROTO_FRAGMENT  44
+#define IPPROTO_GRE       47
+#define IPPROTO_ESP       50
+#define IPPROTO_AH        51
+#define IPPROTO_ICMPV6    58
+#define IPPROTO_NONE      59
+#define IPPROTO_DSTOPTS   60
+#define IPPROTO_SCTP     132
+
+#endif
diff --git a/lib/librte_eal/windows/include/netinet/ip.h b/lib/librte_eal/windows/include/netinet/ip.h
new file mode 100644 (file)
index 0000000..2126498
--- /dev/null
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2020 Mellanox Technologies, Ltd
+ */
+
+#ifndef _IP_H_
+#define _IP_H_
+
+#define IPVERSION 4
+
+#endif
index ced65ed..3460583 100644 (file)
 void
 rte_eth_random_addr(uint8_t *addr)
 {
+#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
+       RTE_SET_USED(addr);
+#else
        uint64_t rand = rte_rand();
        uint8_t *p = (uint8_t *)&rand;
 
        rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
        addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR;      /* clear multicast bit */
        addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR;  /* set local assignment bit */
+#endif
 }
 
 void
index 3852c01..283ee6c 100644 (file)
@@ -40,7 +40,7 @@ if is_windows
                'kvargs',
                'eal',
                'ring',
-               'mempool', 'mbuf', 'pci',
+               'mempool', 'mbuf', 'net', 'pci',
        ] # only supported libraries for windows
 endif