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-boun...@dpdk.org> On Behalf Of Fady Bader > Sent: Thursday, July 23, 2020 10:08 AM > To: dev@dpdk.org > Cc: Thomas Monjalon <tho...@monjalon.net>; Tasnim Bashar > <tbas...@mellanox.com>; Tal Shnaiderman <tal...@mellanox.com>; > Yohad Tor <yoh...@mellanox.com>; dmitry.kozl...@gmail.com; > harini.ramakrish...@microsoft.com; ocard...@microsoft.com; > pallavi.ka...@intel.com; ranjit.me...@intel.com; > olivier.m...@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 <f...@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