[dpdk-dev] [PATCH v3 0/2] Support VxLAN GRO
Chen, Junjie J
junjie.j.chen at intel.com
Fri Dec 29 04:52:52 CET 2017
> -----Original Message-----
> From: Hu, Jiayu
> Sent: Friday, December 22, 2017 3:26 PM
> To: dev at dpdk.org
> Cc: Tan, Jianfeng <jianfeng.tan at intel.com>; Chen, Junjie J
> <junjie.j.chen at intel.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; stephen at networkplumber.org; Yigit,
> Ferruh <ferruh.yigit at intel.com>; Yao, Lei A <lei.a.yao at intel.com>; Hu, Jiayu
> <jiayu.hu at intel.com>
> Subject: [PATCH v3 0/2] Support VxLAN GRO
>
> VxLAN is one of the most widely used tunneled protocols. Providing GRO
> support for VxLAN-encapsulated packets can benefit many per-packet based
> applications, like Open vSwitch.
>
> This patchset is to support VxLAN GRO. The first patch cleans up current gro
> codes for the sake of supporting tunneled GRO. The second patch supports
> GRO on the VxLAN packets which have an outer IPv4 header and an inner
> TCP/IPv4 packet.
>
> Change log
> ===========
> v3:
> - remove needless check
> - add "likely()" and "unlikely()" to optimize branch prediction
> - fix a bug in merge_two_tcp4_packets(): for VxLAN packets, check if
> the outer IPv4 packet length is less than or equal to UINT16_MAX,
> rather than the inner IPv4 packet length.
> - fix a bug in rte_gro.h: change RTE_GRO_TYPE_SUPPORT_NUM to 2
> - Avoid inserting timestamp in rte_gro_reassemble_burst(), since all
> packets in the tables will be flushed.
> - fix typos
> v2:
> - comply RFC 6848 to process IP ID fields. Specifically, we require the
> IP ID fields of neighbor packets whose DF bit is 0 to be increased by
> 1. We don't check IP ID for the packets whose DF bit is 1.
> Additionally, packets whose DF bits are different cannot be merged.
> - update the programmer guide and function comments
>
> Jiayu Hu (2):
> gro: code cleanup
> gro: support VxLAN GRO
>
> .../prog_guide/generic_receive_offload_lib.rst | 269 ++++++-----
> doc/guides/prog_guide/img/gro-key-algorithm.png | Bin 0 -> 28231
> bytes
> lib/librte_gro/Makefile | 1 +
> lib/librte_gro/gro_tcp4.c | 330 +++++--------
> lib/librte_gro/gro_tcp4.h | 253 +++++++---
> lib/librte_gro/gro_vxlan_tcp4.c | 515
> +++++++++++++++++++++
> lib/librte_gro/gro_vxlan_tcp4.h | 184 ++++++++
> lib/librte_gro/rte_gro.c | 199 +++++---
> lib/librte_gro/rte_gro.h | 97 ++--
> 9 files changed, 1337 insertions(+), 511 deletions(-) create mode 100644
> doc/guides/prog_guide/img/gro-key-algorithm.png
> create mode 100644 lib/librte_gro/gro_vxlan_tcp4.c create mode 100644
> lib/librte_gro/gro_vxlan_tcp4.h
>
> --
> 2.7.4
Reviewed-by: Junjie Chen<junjie.j.chen at intel.com>
Thanks
More information about the dev
mailing list