From: Qi Zhang <qi.z.zhang@intel.com>
To: dev@dpdk.org
Cc: magnus.karlsson@intel.com, bjorn.topel@intel.com,
Qi Zhang <qi.z.zhang@intel.com>
Subject: [dpdk-dev] [RFC 0/7] PMD driver for AF_XDP
Date: Tue, 27 Feb 2018 17:35:47 +0800 [thread overview]
Message-ID: <20180227093554.23951-1-qi.z.zhang@intel.com> (raw)
The RFC patches add a new PMD driver for AF_XDP which is a proposed
faster version of AF_PACKET interface in Linux, see below link for
detail AF_XDP introduction:
https://fosdem.org/2018/schedule/event/af_xdp/
https://lwn.net/Articles/745934/
This patchset is base on v18.02.
It also require a linux kernel that have below AF_XDP RFC patches be
applied.
https://patchwork.ozlabs.org/patch/867961/
https://patchwork.ozlabs.org/patch/867960/
https://patchwork.ozlabs.org/patch/867938/
https://patchwork.ozlabs.org/patch/867939/
https://patchwork.ozlabs.org/patch/867940/
https://patchwork.ozlabs.org/patch/867941/
https://patchwork.ozlabs.org/patch/867942/
https://patchwork.ozlabs.org/patch/867943/
https://patchwork.ozlabs.org/patch/867944/
https://patchwork.ozlabs.org/patch/867945/
https://patchwork.ozlabs.org/patch/867946/
https://patchwork.ozlabs.org/patch/867947/
https://patchwork.ozlabs.org/patch/867948/
https://patchwork.ozlabs.org/patch/867949/
https://patchwork.ozlabs.org/patch/867950/
https://patchwork.ozlabs.org/patch/867951/
https://patchwork.ozlabs.org/patch/867952/
https://patchwork.ozlabs.org/patch/867953/
https://patchwork.ozlabs.org/patch/867954/
https://patchwork.ozlabs.org/patch/867955/
https://patchwork.ozlabs.org/patch/867956/
https://patchwork.ozlabs.org/patch/867957/
https://patchwork.ozlabs.org/patch/867958/
https://patchwork.ozlabs.org/patch/867959/
There is no clean upstream target yet since kernel patch is still in
RFC stage, The purpose of the patchset is just for anyone that want to
eveluate af_xdp with DPDK application and get feedback for further
improvement.
To try with the new PMD
1. compile and install the kernel with above patches applied.
2. configure $LINUX_HEADER_DIR (dir of "make headers_install")
and $TOOLS_DIR (dir at <kernel_src>/tools) at driver/net/af_xdp/Makefile
before compile DPDK.
3. make sure libelf and libbpf is installed.
BTW, performance test shows our PMD can reach 94%~98% of the orignal benchmark
when share memory is enabled.
Qi Zhang (7):
net/af_xdp: new PMD driver
lib/mbuf: enable parse flags when create mempool
lib/mempool: allow page size aligned mempool
net/af_xdp: use mbuf mempool for buffer management
net/af_xdp: enable share mempool
net/af_xdp: load BPF file
app/testpmd: enable parameter for mempool flags
app/test-pmd/parameters.c | 12 +
app/test-pmd/testpmd.c | 15 +-
app/test-pmd/testpmd.h | 1 +
config/common_base | 5 +
config/common_linuxapp | 1 +
drivers/net/Makefile | 1 +
drivers/net/af_xdp/Makefile | 60 ++
drivers/net/af_xdp/bpf_load.c | 798 +++++++++++++++++++++++
drivers/net/af_xdp/bpf_load.h | 65 ++
drivers/net/af_xdp/libbpf.h | 199 ++++++
drivers/net/af_xdp/meson.build | 7 +
drivers/net/af_xdp/rte_eth_af_xdp.c | 878 ++++++++++++++++++++++++++
drivers/net/af_xdp/rte_pmd_af_xdp_version.map | 4 +
drivers/net/af_xdp/xdpsock_queue.h | 62 ++
lib/librte_mbuf/rte_mbuf.c | 15 +-
lib/librte_mbuf/rte_mbuf.h | 8 +-
lib/librte_mempool/rte_mempool.c | 2 +
lib/librte_mempool/rte_mempool.h | 1 +
mk/rte.app.mk | 1 +
19 files changed, 2125 insertions(+), 10 deletions(-)
create mode 100644 drivers/net/af_xdp/Makefile
create mode 100644 drivers/net/af_xdp/bpf_load.c
create mode 100644 drivers/net/af_xdp/bpf_load.h
create mode 100644 drivers/net/af_xdp/libbpf.h
create mode 100644 drivers/net/af_xdp/meson.build
create mode 100644 drivers/net/af_xdp/rte_eth_af_xdp.c
create mode 100644 drivers/net/af_xdp/rte_pmd_af_xdp_version.map
create mode 100644 drivers/net/af_xdp/xdpsock_queue.h
--
2.13.6
next reply other threads:[~2018-02-27 9:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-27 9:35 Qi Zhang [this message]
2018-02-27 9:35 ` [dpdk-dev] [RFC 1/7] net/af_xdp: new PMD driver Qi Zhang
2018-02-27 9:35 ` [dpdk-dev] [RFC 2/7] lib/mbuf: enable parse flags when create mempool Qi Zhang
2018-02-27 9:35 ` [dpdk-dev] [RFC 3/7] lib/mempool: allow page size aligned mempool Qi Zhang
2018-02-27 9:35 ` [dpdk-dev] [RFC 4/7] net/af_xdp: use mbuf mempool for buffer management Qi Zhang
2018-02-27 9:35 ` [dpdk-dev] [RFC 5/7] net/af_xdp: enable share mempool Qi Zhang
2018-02-27 9:35 ` [dpdk-dev] [RFC 6/7] net/af_xdp: load BPF file Qi Zhang
2018-02-28 21:10 ` Stephen Hemminger
2018-02-28 21:12 ` Stephen Hemminger
2018-02-27 9:35 ` [dpdk-dev] [RFC 7/7] app/testpmd: enable parameter for mempool flags Qi Zhang
-- strict thread matches above, loose matches on Subject: below --
2018-02-27 9:32 [dpdk-dev] [RFC 0/7] PMD driver for AF_XDP Qi Zhang
2018-03-01 2:52 ` Jason Wang
2018-03-01 4:18 ` Zhang, Qi Z
2018-03-01 4:20 ` Zhang, Qi Z
2018-03-01 7:46 ` Jason Wang
2018-03-01 12:56 ` Zhang, Qi Z
2018-03-01 13:18 ` Jason Wang
2018-03-02 4:05 ` Zhang, Qi Z
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=20180227093554.23951-1-qi.z.zhang@intel.com \
--to=qi.z.zhang@intel.com \
--cc=bjorn.topel@intel.com \
--cc=dev@dpdk.org \
--cc=magnus.karlsson@intel.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).