[00/10] support match on L3 fragmented packets

Message ID cover.1601474841.git.dekelp@nvidia.com (mailing list archive)


Dekel Peled Sept. 30, 2020, 2:10 p.m. UTC
  This series implements support of matching on packets based on the
fragmentation attribute of the packet, i.e. if packet is a fragment
of a larger packet, or the opposite - packet is not a fragment.

In ethdev, add API to support IPv6 extension headers, and specifically
the IPv6 fragment extension header item.
In MLX5 PMD, support match on IPv4 fragmented packets, IPv6 fragmented
packets, and IPv6 fragment extension header item.
Testpmd CLI is updated accordingly.
Documentation is updated accordingly.

Dekel Peled (10):
  ethdev: add extensions attributes to IPv6 item
  ethdev: add IPv6 fragment extension header item
  app/testpmd: support IPv4 fragments
  app/testpmd: support IPv6 fragments
  app/testpmd: support IPv6 fragment extension item
  net/mlx5: remove handling of ICMP fragmented packets
  net/mlx5: support match on IPv4 fragment packets
  net/mlx5: support match on IPv6 fragment packets
  net/mlx5: support match on IPv6 fragment ext. item
  doc: update release notes for MLX5 L3 frag support

 app/test-pmd/cmdline_flow.c            |  53 +++++
 doc/guides/prog_guide/rte_flow.rst     |  28 ++-
 doc/guides/rel_notes/release_20_11.rst |  10 +
 drivers/net/mlx5/mlx5_flow.c           |  48 +++--
 drivers/net/mlx5/mlx5_flow.h           |  14 ++
 drivers/net/mlx5/mlx5_flow_dv.c        | 382 +++++++++++++++++++++++++++++----
 drivers/net/mlx5/mlx5_flow_verbs.c     |   9 +-
 lib/librte_ethdev/rte_flow.c           |   1 +
 lib/librte_ethdev/rte_flow.h           |  46 +++-
 lib/librte_ip_frag/rte_ip_frag.h       |  26 +--
 lib/librte_net/rte_ip.h                |  26 ++-
 11 files changed, 555 insertions(+), 88 deletions(-)