[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