> -----Original Message----- > From: Hu, Jiayu > Sent: Friday, December 22, 2017 3:26 PM > To: [email protected] > Cc: Tan, Jianfeng <[email protected]>; Chen, Junjie J > <[email protected]>; Ananyev, Konstantin > <[email protected]>; [email protected]; Yigit, > Ferruh <[email protected]>; Yao, Lei A <[email protected]>; Hu, Jiayu > <[email protected]> > 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<[email protected]> Thanks

