From: Jiayu Hu <jiayu.hu@intel.com>
To: dev@dpdk.org
Cc: xiao.w.wang@intel.com, konstantin.ananyev@intel.com,
yuwei1.zhang@intel.com, bernard.iremonger@intel.com,
thomas@monjalon.net, Jiayu Hu <jiayu.hu@intel.com>
Subject: [dpdk-dev] [PATCH v3 0/3] Support UDP/IPv4 GSO
Date: Fri, 22 Jun 2018 13:54:00 +0800 [thread overview]
Message-ID: <1529646843-45903-1-git-send-email-jiayu.hu@intel.com> (raw)
In-Reply-To: <1529205194-87434-1-git-send-email-jiayu.hu@intel.com>
With the support of UDP Fragmentation Offload (UFO) and TCP Segmentation
Offload (TSO) in virtio, VMs can exchange large UDP and TCP packets
exceeding MTU between each other, which can greatly reduce per-packet
processing overheads.
When the destination of the large TCP and UDP packets is crossing
machines, the host application needs to call two different libraries,
GSO and IP fragmentation, to split the large packets respectively.
However,the GSO and IP fragmentation library have quite different APIs,
which greatly complicates the host application implementation.
To simplify application development, we propose to support UDP/IPv4
fragmentation in the GSO library. With supporting UDP GSO, host
applicationss can use the unified APIs to split large UDP and TCP packets.
This patchset is to support UDP/IPv4 GSO. The first patch is to provide
UDP GSO function, the second patch is to enable UDP/IPv4 GSO in the
testpmd checksum forwarding engine, and the last patch is to update the
programmer guide and testpmd user guide.
Change log
==========
v3:
- replace rte_pktmbuf_mtod() with rte_pktmbuf_mtod_offset().
- fix meson build.
- add updates to document for better explaining how UDP GSO works.
V2:
- fix fragment offset calculation bug.
- add UDP GSO description in testpmd user guide.
- shorten the second patch name.
Jiayu Hu (3):
gso: support UDP/IPv4 fragmentation
app/testpmd: enable UDP GSO in csum engine
gso: update documents for UDP/IPv4 GSO
app/test-pmd/cmdline.c | 5 +-
app/test-pmd/csumonly.c | 2 +
app/test-pmd/testpmd.c | 2 +-
.../generic_segmentation_offload_lib.rst | 10 +++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 7 ++
lib/librte_gso/Makefile | 1 +
lib/librte_gso/gso_common.h | 3 +
lib/librte_gso/gso_udp4.c | 81 ++++++++++++++++++++++
lib/librte_gso/gso_udp4.h | 42 +++++++++++
lib/librte_gso/meson.build | 2 +-
lib/librte_gso/rte_gso.c | 24 +++++--
lib/librte_gso/rte_gso.h | 6 +-
12 files changed, 175 insertions(+), 10 deletions(-)
create mode 100644 lib/librte_gso/gso_udp4.c
create mode 100644 lib/librte_gso/gso_udp4.h
--
2.7.4
next prev parent reply other threads:[~2018-06-22 5:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 7:41 [dpdk-dev] [PATCH " Jiayu Hu
2018-05-29 7:41 ` [dpdk-dev] [PATCH 1/3] gso: support UDP/IPv4 fragmentation Jiayu Hu
2018-05-29 7:41 ` [dpdk-dev] [PATCH 2/3] app/testpmd: enable UDP GSO in the checksum forwarding engine Jiayu Hu
2018-06-14 14:44 ` Iremonger, Bernard
2018-06-16 9:14 ` Hu, Jiayu
2018-05-29 7:41 ` [dpdk-dev] [PATCH 3/3] gso: add UDP/IPv4 GSO to the programmer guide Jiayu Hu
2018-06-27 1:59 ` Zhang, Yuwei1
2018-06-17 3:13 ` [dpdk-dev] [PATCH v2 0/3] Support UDP/IPv4 GSO Jiayu Hu
2018-06-17 3:13 ` [dpdk-dev] [PATCH v2 1/3] gso: support UDP/IPv4 fragmentation Jiayu Hu
2018-06-21 8:24 ` Wang, Xiao W
2018-06-21 8:26 ` Hu, Jiayu
2018-06-17 3:13 ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: enable UDP GSO in csum engine Jiayu Hu
2018-06-26 9:46 ` Iremonger, Bernard
2018-06-17 3:13 ` [dpdk-dev] [PATCH v2 3/3] gso: update documents for UDP/IPv4 GSO Jiayu Hu
2018-06-22 5:54 ` Jiayu Hu [this message]
2018-06-22 5:54 ` [dpdk-dev] [PATCH v3 1/3] gso: support UDP/IPv4 fragmentation Jiayu Hu
2018-06-26 23:58 ` Ophir Munk
2018-06-27 2:28 ` Hu, Jiayu
2018-06-27 5:05 ` Hu, Jiayu
2018-06-22 5:54 ` [dpdk-dev] [PATCH v3 2/3] app/testpmd: enable UDP GSO in csum engine Jiayu Hu
2018-06-22 5:54 ` [dpdk-dev] [PATCH v3 3/3] gso: update documents for UDP/IPv4 GSO Jiayu Hu
2018-06-25 4:13 ` [dpdk-dev] [PATCH v3 0/3] Support " Wang, Xiao W
2018-07-06 1:02 ` [dpdk-dev] [PATCH v4 " Jiayu Hu
2018-07-06 1:02 ` [dpdk-dev] [PATCH v4 1/3] gso: support UDP/IPv4 fragmentation Jiayu Hu
2018-07-06 1:02 ` [dpdk-dev] [PATCH v4 2/3] app/testpmd: enable UDP GSO in csum engine Jiayu Hu
2018-07-06 1:02 ` [dpdk-dev] [PATCH v4 3/3] gso: update documents for UDP/IPv4 GSO Jiayu Hu
2018-07-11 21:51 ` [dpdk-dev] [PATCH v4 0/3] Support " 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=1529646843-45903-1-git-send-email-jiayu.hu@intel.com \
--to=jiayu.hu@intel.com \
--cc=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=thomas@monjalon.net \
--cc=xiao.w.wang@intel.com \
--cc=yuwei1.zhang@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).