[dpdk-dev] [PATCH v4 3/3] eal/windows: librte_net build on Windows
Ophir Munk
ophirmu at nvidia.com
Tue Sep 8 10:14:17 CEST 2020
Please add IPPROTO_ICMP and IPPROTO_ICMPV6 definitions:
#define IPPROTO_IP 0
+#define IPPROTO_ICMP 1 /* Internet Ctrl Message Protocol */
#define IPPROTO_HOPOPTS 0
@@ -17,6 +18,7 @@
#define IPPROTO_AH 51 /* IP6 Auth Header */
+#define IPPROTO_ICMPV6 58 /* Internet Ctrl Message Protocol V6 */
#define IPPROTO_NONE 59 /* IPv6 no next header */
> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Fady Bader
> Sent: Thursday, July 23, 2020 10:08 AM
> To: dev at dpdk.org
> Cc: Thomas Monjalon <thomas at monjalon.net>; Tasnim Bashar
> <tbashar at mellanox.com>; Tal Shnaiderman <talshn at mellanox.com>;
> Yohad Tor <yohadt at mellanox.com>; dmitry.kozliuk at gmail.com;
> harini.ramakrishnan at microsoft.com; ocardona at microsoft.com;
> pallavi.kadam at intel.com; ranjit.menon at intel.com;
> olivier.matz at 6wind.com
> Subject: [dpdk-dev] [PATCH v4 3/3] eal/windows: librte_net build on
> Windows
>
> librte_net wasn't compiling under Windows.
> To solve this, needed header files were added.
>
> Signed-off-by: Fady Bader <fady at mellanox.com>
> ---
> lib/librte_eal/windows/include/netinet/in.h | 23
> +++++++++++++++++++++++ lib/librte_eal/windows/include/netinet/ip.h |
> 10 ++++++++++
> lib/librte_net/rte_ether.c | 4 ++++
> lib/meson.build | 2 +-
> 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644
> lib/librte_eal/windows/include/netinet/in.h
> create mode 100644 lib/librte_eal/windows/include/netinet/ip.h
>
> diff --git a/lib/librte_eal/windows/include/netinet/in.h
> b/lib/librte_eal/windows/include/netinet/in.h
> new file mode 100644
> index 0000000000..2be25c8bea
> --- /dev/null
> +++ b/lib/librte_eal/windows/include/netinet/in.h
> @@ -0,0 +1,23 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright 2020 Mellanox Technologies, Ltd */
> +
> +#ifndef _IN_H_
> +#define _IN_H_
> +
> +#define IPPROTO_IP 0 /* Dummy for IP */
> +#define IPPROTO_HOPOPTS 0 /* IPv6 Hop-by-Hop options */
> +#define IPPROTO_IPIP 4 /* IPIP tunnels (for compatibility) */
> +#define IPPROTO_TCP 6 /* Transmission Control Protocol */
> +#define IPPROTO_UDP 17 /* User Datagram Protocol */
> +#define IPPROTO_IPV6 41 /* IPv6 header */
> +#define IPPROTO_ROUTING 43 /* IPv6 routing header */
> +#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
> +#define IPPROTO_GRE 47 /* General Routing Encap */
> +#define IPPROTO_ESP 50 /* IPsec Encap Sec. Payload */
> +#define IPPROTO_AH 51 /* IPsec Auth Header */
> +#define IPPROTO_NONE 59 /* IPv6 no next header */
> +#define IPPROTO_DSTOPTS 60 /* IPv6 destination option */
> +#define IPPROTO_SCTP 132 /* Stream Control Transmission Protocol
> */
> +
> +#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
> index 0000000000..2126498797
> --- /dev/null
> +++ b/lib/librte_eal/windows/include/netinet/ip.h
> @@ -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
> diff --git a/lib/librte_net/rte_ether.c b/lib/librte_net/rte_ether.c index
> ced65ed9f3..6055ae1463 100644
> --- a/lib/librte_net/rte_ether.c
> +++ b/lib/librte_net/rte_ether.c
> @@ -10,12 +10,16 @@
> void
> rte_eth_random_addr(uint8_t *addr)
> {
> +#ifdef RTE_EXEC_ENV_WINDOWS
> + RTE_SET_USED(addr); /* random is not supported yet */ #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
> diff --git a/lib/meson.build b/lib/meson.build index 3852c01564..6bbaf242a9
> 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -40,7 +40,7 @@ if is_windows
> 'kvargs',
> 'eal',
> 'ring',
> - 'mempool', 'mbuf', 'pci',
> + 'mempool', 'mbuf', 'pci', 'net',
> ] # only supported libraries for windows endif
>
> --
> 2.16.1.windows.4
More information about the dev
mailing list