From: Dekel Peled <dekelp@nvidia.com> To: orika@nvidia.com, thomas@monjalon.net, ferruh.yigit@intel.com, arybchenko@solarflare.com, konstantin.ananyev@intel.com, olivier.matz@6wind.com, wenzhuo.lu@intel.com, beilei.xing@intel.com, bernard.iremonger@intel.com, matan@nvidia.com, shahafs@nvidia.com, viacheslavo@nvidia.com Cc: dev@dpdk.org Subject: [dpdk-dev] [PATCH v4 03/11] app/testpmd: support IPv4 fragments Date: Wed, 7 Oct 2020 13:54:02 +0300 Message-ID: <771cef3c9b3d951e80977efb3f3ada484b53678d.1602064141.git.dekelp@nvidia.com> (raw) In-Reply-To: <cover.1602064141.git.dekelp@nvidia.com> This patch updates testpmd CLI to support fragment_offset field of IPv4 header item. To match on non-fragmented IPv4 packets, need to use pattern: ... ipv4 fragment_offset spec 0 fragment_offset mask 0x3fff ... To match on fragmented IPv4 packets, need to use pattern: ... ipv4 fragment_offset spec 1 fragment_offset last 0x3fff fragment_offset mask 0x3fff ... (Use the full available range 1 to 0x3fff to include all possible values.) To match on any IPv4 packets, fragmented and non-fragmented, the fragment_offset field should not be specified for match. Signed-off-by: Dekel Peled <dekelp@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- app/test-pmd/cmdline_flow.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 6e04d53..a9bf29f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -129,6 +129,7 @@ enum index { ITEM_VLAN_INNER_TYPE, ITEM_IPV4, ITEM_IPV4_TOS, + ITEM_IPV4_FRAGMENT_OFFSET, ITEM_IPV4_TTL, ITEM_IPV4_PROTO, ITEM_IPV4_SRC, @@ -873,6 +874,7 @@ struct parse_action_priv { static const enum index item_ipv4[] = { ITEM_IPV4_TOS, + ITEM_IPV4_FRAGMENT_OFFSET, ITEM_IPV4_TTL, ITEM_IPV4_PROTO, ITEM_IPV4_SRC, @@ -2097,6 +2099,13 @@ static int comp_set_raw_index(struct context *, const struct token *, .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4, hdr.type_of_service)), }, + [ITEM_IPV4_FRAGMENT_OFFSET] = { + .name = "fragment_offset", + .help = "fragmentation flags and fragment offset", + .next = NEXT(item_ipv4, NEXT_ENTRY(UNSIGNED), item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4, + hdr.fragment_offset)), + }, [ITEM_IPV4_TTL] = { .name = "ttl", .help = "time to live", -- 1.8.3.1
next prev parent reply other threads:[~2020-10-07 10:55 UTC|newest] Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-30 14:10 [dpdk-dev] [PATCH 00/10] support match on L3 fragmented packets Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 01/10] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-09-30 14:54 ` Ori Kam 2020-09-30 14:10 ` [dpdk-dev] [PATCH 02/10] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-09-30 14:55 ` Ori Kam 2020-09-30 14:10 ` [dpdk-dev] [PATCH 03/10] app/testpmd: support IPv4 fragments Dekel Peled 2020-09-30 14:54 ` Ori Kam 2020-09-30 14:10 ` [dpdk-dev] [PATCH 04/10] app/testpmd: support IPv6 fragments Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 05/10] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-09-30 14:56 ` Ori Kam 2020-09-30 14:10 ` [dpdk-dev] [PATCH 06/10] net/mlx5: remove handling of ICMP fragmented packets Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 07/10] net/mlx5: support match on IPv4 fragment packets Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 08/10] net/mlx5: support match on IPv6 " Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 09/10] net/mlx5: support match on IPv6 fragment ext. item Dekel Peled 2020-09-30 14:10 ` [dpdk-dev] [PATCH 10/10] doc: update release notes for MLX5 L3 frag support Dekel Peled 2020-10-01 21:14 ` [dpdk-dev] [PATCH v2 00/11] support match on L3 fragmented packets Dekel Peled 2020-10-01 21:14 ` [dpdk-dev] [PATCH v2 01/11] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-04 13:45 ` Ori Kam 2020-10-01 21:14 ` [dpdk-dev] [PATCH v2 02/11] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-01 21:27 ` Stephen Hemminger 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 03/11] app/testpmd: support IPv4 fragments Dekel Peled 2020-10-04 13:47 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 04/11] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-04 13:49 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 05/11] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-04 13:47 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 06/11] net/mlx5: remove handling of ICMP fragmented packets Dekel Peled 2020-10-04 13:49 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 07/11] net/mlx5: support match on IPv4 fragment packets Dekel Peled 2020-10-04 13:48 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 08/11] net/mlx5: support match on IPv6 " Dekel Peled 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 09/11] net/mlx5: support match on IPv6 fragment ext. item Dekel Peled 2020-10-04 13:51 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 10/11] doc: update release notes for MLX5 L3 frag support Dekel Peled 2020-10-04 13:55 ` Ori Kam 2020-10-01 21:15 ` [dpdk-dev] [PATCH v2 11/11] net/mlx5: enforce limitation on IPv6 next proto Dekel Peled 2020-10-04 13:55 ` Ori Kam 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 00/11] support match on L3 fragmented packets Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 01/11] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-06 23:43 ` Ajit Khaparde 2020-10-07 6:59 ` Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 02/11] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-05 8:50 ` Ori Kam 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 03/11] app/testpmd: support IPv4 fragments Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 04/11] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 05/11] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 06/11] net/mlx5: remove handling of ICMP fragmented packets Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 07/11] net/mlx5: support match on IPv4 fragment packets Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 08/11] net/mlx5: support match on IPv6 " Dekel Peled 2020-10-05 8:51 ` Ori Kam 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 09/11] net/mlx5: support match on IPv6 fragment ext. item Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 10/11] doc: update release notes for MLX5 L3 frag support Dekel Peled 2020-10-05 8:35 ` [dpdk-dev] [PATCH v3 11/11] net/mlx5: enforce limitation on IPv6 next proto Dekel Peled 2020-10-07 10:53 ` [dpdk-dev] [PATCH v4 00/11] support match on L3 fragmented packets Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 01/11] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-08 3:14 ` Ajit Khaparde 2020-10-08 7:03 ` Dekel Peled 2020-10-08 18:28 ` Ajit Khaparde 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 02/11] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-07 10:54 ` Dekel Peled [this message] 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 04/11] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 05/11] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 06/11] net/mlx5: remove handling of ICMP fragmented packets Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 07/11] net/mlx5: support match on IPv4 fragment packets Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 08/11] net/mlx5: support match on IPv6 " Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 09/11] net/mlx5: support match on IPv6 fragment ext. item Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 10/11] doc: update release notes for MLX5 L3 frag support Dekel Peled 2020-10-07 10:54 ` [dpdk-dev] [PATCH v4 11/11] net/mlx5: enforce limitation on IPv6 next proto Dekel Peled 2020-10-07 11:15 ` [dpdk-dev] [PATCH v4 00/11] support match on L3 fragmented packets Ori Kam 2020-10-12 10:42 ` [dpdk-dev] [PATCH v5 " Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 01/11] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-12 20:41 ` Thomas Monjalon 2020-10-13 8:22 ` Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 02/11] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-12 20:50 ` Thomas Monjalon 2020-10-13 8:11 ` Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 03/11] app/testpmd: support IPv4 fragments Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 04/11] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 05/11] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 06/11] net/mlx5: remove handling of ICMP fragmented packets Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 07/11] net/mlx5: support match on IPv4 fragment packets Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 08/11] net/mlx5: support match on IPv6 " Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 09/11] net/mlx5: support match on IPv6 fragment ext. item Dekel Peled 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 10/11] doc: update release notes for MLX5 L3 frag support Dekel Peled 2020-10-12 19:29 ` Thomas Monjalon 2020-10-12 10:43 ` [dpdk-dev] [PATCH v5 11/11] net/mlx5: enforce limitation on IPv6 next proto Dekel Peled 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 0/5] support match on L3 fragmented packets Dekel Peled 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 1/5] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-14 10:36 ` Thomas Monjalon 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 2/5] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-14 10:37 ` Thomas Monjalon 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 3/5] app/testpmd: support IPv4 fragments Dekel Peled 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 4/5] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-13 13:32 ` [dpdk-dev] [PATCH v6 5/5] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 0/5] support match on L3 fragmented packets Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 1/5] ethdev: add extensions attributes to IPv6 item Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 2/5] ethdev: add IPv6 fragment extension header item Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 3/5] app/testpmd: support IPv4 fragments Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 4/5] app/testpmd: support IPv6 fragments Dekel Peled 2020-10-14 16:35 ` [dpdk-dev] [PATCH v7 5/5] app/testpmd: support IPv6 fragment extension item Dekel Peled 2020-10-14 17:18 ` [dpdk-dev] [PATCH v7 0/5] support match on L3 fragmented packets Ferruh Yigit
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=771cef3c9b3d951e80977efb3f3ada484b53678d.1602064141.git.dekelp@nvidia.com \ --to=dekelp@nvidia.com \ --cc=arybchenko@solarflare.com \ --cc=beilei.xing@intel.com \ --cc=bernard.iremonger@intel.com \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@intel.com \ --cc=konstantin.ananyev@intel.com \ --cc=matan@nvidia.com \ --cc=olivier.matz@6wind.com \ --cc=orika@nvidia.com \ --cc=shahafs@nvidia.com \ --cc=thomas@monjalon.net \ --cc=viacheslavo@nvidia.com \ --cc=wenzhuo.lu@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git