DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v7 0/3] gro: add UDP/IPv4 GRO and VXLAN UDP/IPv4 GRO support
@ 2020-09-24  8:57 yang_y_yi
  2020-09-24  8:57 ` [dpdk-dev] [PATCH v7 1/3] gro: add " yang_y_yi
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: yang_y_yi @ 2020-09-24  8:57 UTC (permalink / raw)
  To: dev; +Cc: jiayu.hu, thomas, yangyi01, yang_y_yi

From: Yi Yang <yangyi01@inspur.com>

In case that UFO or GSO is enabled, GRO is very necessary,
especially for UDP, it is more so. Many NICs can't support
VXLAN UDP UFO/USO and VLAN UFO/USO, so UDP performance
improvement depends on GSO and GRO to a great extent.

This patch series added VLAN UDP/IPv4 GRO and VXLAN UDP/IPv4
GRO support.

I have tested it in OVS DPDK, test scenario is as below:

+-------------------------+   +--------------------------+
|VM1 --- OVS DPDK --- NIC1|---| NIC2 --- OVS-DPDK --- VM2|
+-------------------------+   +--------------------------+
         SERVER1                       SERVER2

If no GSO and GRO, 8k UDP packet can't work in case of UFO or
in case that underlay MTU is 1500, so UDP size must meet MTU
limitation, my VM MTU is 1450 (consider vxlan header), UDP
performance is about 3Gbps, with GSO and GRO enabled, I can
send 8K UDP packet, UDP performance is about 6Gbps (Note: with
small UDP packet loss rate).

FYI: OVS DPDK patch series
https://patchwork.ozlabs.org/project/openvswitch/list/?series=194621

Changelog
---------
v6 -> v7: correct max_nb_out to left_nb_out in some if statement
          add more comments for break branch in gro_*_tbl_timeout_flush
          remove whitespace line in struct vxlan_udp4_flow_key

v5 -> v6: add doc update patch for prog_guide and rel_notes
          rename udp_check_vxlan_neighbor to udp4_check_vxlan_neighbor
          remove outer_ip_id and outer_is_atomic
          some other misc changes

v4 -> v5: remove duplicate line
          fix header length check issue
          add unlikely for some low probability condition branch
          rename udp_check_neighbor to udp4_check_neighbor
          remove brace for single line else statement
          remove outer_l2_len and pkt->outer_l3_len because they
            are nonsense for non-VXLAN UDP packet

v3 -> v4: split two patches in cleaner way
          remove ip_id which is unnecessary for UDP GRO
          correct hdr_len calculation

v2 -> v3: remove UDP header length check

v1 -> v2: split into two patches

Yi Yang (3):
  gro: add UDP/IPv4 GRO support
  gro: add VXLAN UDP/IPv4 GRO support
  doc: update prog_guide and rel_notes for GRO

 .../prog_guide/generic_receive_offload_lib.rst     |   6 +-
 doc/guides/rel_notes/release_20_11.rst             |   6 +
 lib/librte_gro/gro_udp4.c                          | 433 ++++++++++++++++
 lib/librte_gro/gro_udp4.h                          | 282 +++++++++++
 lib/librte_gro/gro_vxlan_udp4.c                    | 545 +++++++++++++++++++++
 lib/librte_gro/gro_vxlan_udp4.h                    | 153 ++++++
 lib/librte_gro/meson.build                         |   2 +-
 lib/librte_gro/rte_gro.c                           | 193 ++++++--
 lib/librte_gro/rte_gro.h                           |   8 +-
 9 files changed, 1590 insertions(+), 38 deletions(-)
 create mode 100644 lib/librte_gro/gro_udp4.c
 create mode 100644 lib/librte_gro/gro_udp4.h
 create mode 100644 lib/librte_gro/gro_vxlan_udp4.c
 create mode 100644 lib/librte_gro/gro_vxlan_udp4.h

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2020-10-09  8:45 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-24  8:57 [dpdk-dev] [PATCH v7 0/3] gro: add UDP/IPv4 GRO and VXLAN UDP/IPv4 GRO support yang_y_yi
2020-09-24  8:57 ` [dpdk-dev] [PATCH v7 1/3] gro: add " yang_y_yi
2020-09-27  4:56   ` Hu, Jiayu
2020-09-24  8:57 ` [dpdk-dev] [PATCH v7 2/3] gro: add VXLAN " yang_y_yi
2020-09-27  1:49   ` Hu, Jiayu
2020-09-27  3:14     ` yang_y_yi
2020-09-27  5:03       ` Jiayu Hu
2020-09-27  4:56   ` Hu, Jiayu
2020-09-24  8:57 ` [dpdk-dev] [PATCH v7 3/3] doc: update prog_guide and rel_notes for GRO yang_y_yi
2020-09-27  4:56   ` Hu, Jiayu
2020-10-09  6:34     ` yang_y_yi
2020-10-09  6:48       ` Thomas Monjalon
2020-10-09  7:47         ` yang_y_yi
2020-10-09  8:00           ` Thomas Monjalon
2020-10-09  8:11           ` yang_y_yi
2020-10-09  8:45             ` Thomas Monjalon
2020-10-06 19:53 ` [dpdk-dev] [PATCH v7 0/3] gro: add UDP/IPv4 GRO and VXLAN UDP/IPv4 GRO support Thomas Monjalon

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).