From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: Nick Connolly <nick.connolly@mayadata.io>,
Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org, Tyler Retzlaff <roretzla@microsoft.com>,
Mike Wells <mike.wells@telchemy.com>,
Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,
Dmitry Malloy <dmitrym@microsoft.com>,
Pallavi Kadam <pallavi.kadam@intel.com>,
Jie Zhou <jizh@linux.microsoft.com>
Subject: Re: [dpdk-dev] [PATCH v2 4/6] net/pcap: add libpcap wrappers
Date: Wed, 3 Mar 2021 19:32:40 +0300 [thread overview]
Message-ID: <20210303193240.2b83d9c9@sovereign> (raw)
In-Reply-To: <65bd9188-0fcd-ab0c-2434-6a298be19b1a@mayadata.io>
2021-03-02 11:22, Nick Connolly:
> > Is posix_memalign() used more extensively in SPDK? In DPDK, it's 2 PMDs:
> Yes, there are about 80 references. A lot are in ISA-L where they are
> #defined to _aligned_malloc and can be ignored, but there still several
> in the rest of the code.
I think portable code should try sticking to C11 aligned_malloc().
BTW, _aligned_malloc (with "_") only supports power-of-2 alignment.
There's a related passage in MSVC blog:
Due to the nature of the Windows heap, aligned_alloc support is
missing. The alternative is to use _aligned_malloc.
https://devblogs.microsoft.com/cppblog/c11-and-c17-standard-support-arriving-in-msvc/
> >> * Sockets are unfortunately specified as using close(). This is
> >> probably easy to address by rte_ wrapping all socket calls.
> > Which public DPDK APIs operate on sockets?
> > I don't like the idea of wrapping APIs like sockets or files.
> I'm not sure about use in public APIs - I'd hope none do. I was thinking
> about 'internal' use.
This is important (even more so for SPDK, I suspect), however, I'd like to
focus on public API first.
> > I drafted what I was talking about: adding address types and removing shims:
> >
> > * librte_net/rte_ip.h then includes <netinet/ip.h> or <ws2tcpip.h>
> > conditionally for AF_xxx, IPPROTO_xxx, and a few other constants.
> > That's probably OK, there are similar places for Linux/FreeBSD differences,
> > e.g. in <rte_endian.h>.
> >
> > * Some IPPROTO_xxx constants are missing on Windows, so rte_ip.h has to
> > provide them. I hope Mirosoft will add them to system headers one day.
> >
> > * It affects cmdline (mostly), ethdev, security, crypto/dpaax.
> Sounds good - well done!
...or not :)
If we can't help including <ws2tcpip.h>/<netinet/ip.h> from public headers,
might as well use `struct in_addr`, just replace `#include <netinet/ip.h>`
with `#include <rte_ip.h>` everywhere.
The only remaining issue will be `s_addr` macro on Windows that conflicts with
`struct rte_ether_addr` field `s_addr`. I don't know a better solution than
renaming `s_addr` to `src_addr` in DPDK (OTOH, it will be consistent with
`struct rte_ipvX_hdr` field naming).
Ferruh, what do you think?
next prev parent reply other threads:[~2021-03-03 16:32 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-14 1:20 [dpdk-dev] [PATCH 0/6] net/pcap: build on Windows Dmitry Kozlyuk
2021-02-14 1:20 ` [dpdk-dev] [PATCH 1/6] eal: add internal API for current time Dmitry Kozlyuk
2021-03-01 22:31 ` Nick Connolly
2021-03-01 22:36 ` Nick Connolly
2021-02-14 1:20 ` [dpdk-dev] [PATCH 2/6] net/pcap: fix format string Dmitry Kozlyuk
2021-03-01 22:33 ` Nick Connolly
2021-02-14 1:20 ` [dpdk-dev] [PATCH 3/6] net/pcap: move OS-dependent code to separate files Dmitry Kozlyuk
2021-02-14 1:20 ` [dpdk-dev] [PATCH 4/6] net/pcap: add libpcap wrappers Dmitry Kozlyuk
2021-02-14 1:20 ` [dpdk-dev] [PATCH 5/6] config: discover libpcap on Windows Dmitry Kozlyuk
2021-02-14 1:20 ` [dpdk-dev] [PATCH 6/6] net/pcap: build " Dmitry Kozlyuk
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 0/6] " Dmitry Kozlyuk
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 1/6] eal: add internal API for current time Dmitry Kozlyuk
2021-03-01 22:39 ` Nick Connolly
2021-03-05 17:50 ` Jie Zhou
2021-03-16 9:18 ` Thomas Monjalon
2021-03-16 18:59 ` Stephen Hemminger
2021-03-16 20:07 ` Dmitry Kozlyuk
2021-03-17 9:50 ` Morten Brørup
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 2/6] net/pcap: fix format string Dmitry Kozlyuk
2021-02-25 14:45 ` Ferruh Yigit
2021-03-02 11:48 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 3/6] net/pcap: move OS-dependent code to separate files Dmitry Kozlyuk
2021-02-25 14:51 ` Ferruh Yigit
2021-02-25 16:05 ` Dmitry Kozlyuk
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 4/6] net/pcap: add libpcap wrappers Dmitry Kozlyuk
2021-02-25 14:59 ` Ferruh Yigit
2021-02-25 19:04 ` Dmitry Kozlyuk
2021-02-25 20:31 ` Nick Connolly
2021-02-25 23:10 ` Dmitry Kozlyuk
2021-03-01 21:43 ` Nick Connolly
2021-03-01 23:05 ` Dmitry Kozlyuk
2021-03-01 23:23 ` Dmitry Kozlyuk
2021-03-02 11:22 ` Nick Connolly
2021-03-03 16:32 ` Dmitry Kozlyuk [this message]
2021-03-03 16:47 ` Ferruh Yigit
2021-03-03 18:19 ` Dmitry Kozlyuk
2021-03-03 19:30 ` Ferruh Yigit
2021-03-03 23:03 ` Dmitry Kozlyuk
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 5/6] config: discover libpcap on Windows Dmitry Kozlyuk
2021-02-25 15:02 ` Ferruh Yigit
2021-02-25 16:04 ` Dmitry Kozlyuk
2021-02-25 16:33 ` Bruce Richardson
2021-02-25 17:42 ` Dmitry Kozlyuk
2021-03-16 9:16 ` Thomas Monjalon
2021-03-16 9:37 ` Dmitry Kozlyuk
2021-02-14 2:16 ` [dpdk-dev] [PATCH v2 6/6] net/pcap: build " Dmitry Kozlyuk
2021-03-24 0:50 ` [dpdk-dev] [PATCH v3 0/3] " Dmitry Kozlyuk
2021-03-24 0:50 ` [dpdk-dev] [PATCH v3 1/3] eal/windows: add timespec_get shim for MinGW Dmitry Kozlyuk
2021-03-24 0:50 ` [dpdk-dev] [PATCH v3 2/3] net/pcap: move OS-dependent code to separate files Dmitry Kozlyuk
2021-03-24 0:50 ` [dpdk-dev] [PATCH v3 3/3] net/pcap: build on Windows Dmitry Kozlyuk
2021-04-09 10:51 ` [dpdk-dev] [PATCH v3 0/3] " Ferruh Yigit
2021-04-09 11:03 ` Dmitry Kozlyuk
2021-04-09 11:24 ` Ferruh Yigit
2021-04-15 22:10 ` [dpdk-dev] [PATCH v4 " Dmitry Kozlyuk
2021-04-15 22:10 ` [dpdk-dev] [PATCH v4 1/3] eal/windows: add timespec_get shim for MinGW Dmitry Kozlyuk
2021-04-15 22:10 ` [dpdk-dev] [PATCH v4 2/3] net/pcap: move OS-dependent code to separate files Dmitry Kozlyuk
2021-04-15 22:10 ` [dpdk-dev] [PATCH v4 3/3] net/pcap: build on Windows Dmitry Kozlyuk
2021-04-19 21:05 ` Tyler Retzlaff
2021-04-16 17:22 ` [dpdk-dev] [PATCH v4 0/3] " Ferruh Yigit
2021-04-20 22:20 ` Thomas Monjalon
2021-04-21 14:53 ` Dmitry Kozlyuk
2021-04-21 18:12 ` Thomas Monjalon
2021-04-21 19:33 ` [dpdk-dev] [PATCH v5 " Dmitry Kozlyuk
2021-04-21 19:33 ` [dpdk-dev] [PATCH v5 1/3] eal: add timespec_get shim Dmitry Kozlyuk
2021-04-21 19:33 ` [dpdk-dev] [PATCH v5 2/3] net/pcap: move OS-dependent code to separate files Dmitry Kozlyuk
2021-04-21 19:33 ` [dpdk-dev] [PATCH v5 3/3] net/pcap: build on Windows Dmitry Kozlyuk
2021-04-21 21:54 ` [dpdk-dev] [PATCH v5 0/3] " Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210303193240.2b83d9c9@sovereign \
--to=dmitry.kozliuk@gmail.com \
--cc=dev@dpdk.org \
--cc=dmitrym@microsoft.com \
--cc=ferruh.yigit@intel.com \
--cc=jizh@linux.microsoft.com \
--cc=mike.wells@telchemy.com \
--cc=navasile@linux.microsoft.com \
--cc=nick.connolly@mayadata.io \
--cc=pallavi.kadam@intel.com \
--cc=roretzla@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).