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. --- v2: add patch 'net/mlx5: enforce limitation on IPv6 next proto' v3: update patch 'ethdev: add IPv6 fragment extension header item' to avoid ABI breakage. --- Dekel Peled (11): 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 net/mlx5: enforce limitation on IPv6 next proto app/test-pmd/cmdline_flow.c | 53 +++++ doc/guides/nics/mlx5.rst | 7 + doc/guides/prog_guide/rte_flow.rst | 28 ++- doc/guides/rel_notes/release_20_11.rst | 10 + drivers/net/mlx5/mlx5_flow.c | 62 ++++-- 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 | 45 +++- lib/librte_ip_frag/rte_ip_frag.h | 26 +-- lib/librte_net/rte_ip.h | 26 ++- 12 files changed, 573 insertions(+), 90 deletions(-) -- 1.8.3.1