Hi Jeff and Ting,

> -----Original Message-----
> From: Jeff Guo <jia....@intel.com>
> Sent: Tuesday, April 13, 2021 11:10 AM
> Subject: [PATCH v4 1/4] app/testpmd: add packet id for IP fragment
> 
> Add the new items to support the flow configuration for IP fragment
> packets.
> 
> Signed-off-by: Ting Xu <ting...@intel.com>
> Signed-off-by: Jeff Guo <jia....@intel.com>
> ---
>  app/test-pmd/cmdline_flow.c | 21 ++++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index fb7a3a8bd3..46ae342b85 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -166,6 +166,7 @@ enum index {
>       ITEM_VLAN_HAS_MORE_VLAN,
>       ITEM_IPV4,
>       ITEM_IPV4_TOS,
> +     ITEM_IPV4_ID,
>       ITEM_IPV4_FRAGMENT_OFFSET,
>       ITEM_IPV4_TTL,
>       ITEM_IPV4_PROTO,
> @@ -236,6 +237,7 @@ enum index {
>       ITEM_IPV6_FRAG_EXT,
>       ITEM_IPV6_FRAG_EXT_NEXT_HDR,
>       ITEM_IPV6_FRAG_EXT_FRAG_DATA,
> +     ITEM_IPV6_FRAG_EXT_ID,
>       ITEM_ICMP6,
>       ITEM_ICMP6_TYPE,
>       ITEM_ICMP6_CODE,
> @@ -1028,6 +1030,7 @@ static const enum index item_vlan[] = {
> 
>  static const enum index item_ipv4[] = {
>       ITEM_IPV4_TOS,
> +     ITEM_IPV4_ID,
>       ITEM_IPV4_FRAGMENT_OFFSET,
>       ITEM_IPV4_TTL,
>       ITEM_IPV4_PROTO,
> @@ -1164,6 +1167,7 @@ static const enum index item_ipv6_ext[] = {
>  static const enum index item_ipv6_frag_ext[] = {
>       ITEM_IPV6_FRAG_EXT_NEXT_HDR,
>       ITEM_IPV6_FRAG_EXT_FRAG_DATA,
> +     ITEM_IPV6_FRAG_EXT_ID,
>       ITEM_NEXT,
>       ZERO,
>  };
> @@ -2466,6 +2470,13 @@ static const struct token token_list[] = {
>               .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4,
>                                            hdr.type_of_service)),
>       },
> +     [ITEM_IPV4_ID] = {
> +             .name = "packet_id",
> +             .help = "fragment packet id",
> +             .next = NEXT(item_ipv4, NEXT_ENTRY(UNSIGNED),
> item_param),
> +             .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ipv4,
> +                                          hdr.packet_id)),
> +     },
>       [ITEM_IPV4_FRAGMENT_OFFSET] = {
>               .name = "fragment_offset",
>               .help = "fragmentation flags and fragment offset",
> @@ -2969,12 +2980,20 @@ static const struct token token_list[] = {
>       },
>       [ITEM_IPV6_FRAG_EXT_FRAG_DATA] = {
>               .name = "frag_data",
> -             .help = "Fragment flags and offset",
> +             .help = "fragment flags and offset",
>               .next = NEXT(item_ipv6_frag_ext, NEXT_ENTRY(UNSIGNED),
>                            item_param),
>               .args = ARGS(ARGS_ENTRY_HTON(struct
> rte_flow_item_ipv6_frag_ext,
>                                            hdr.frag_data)),
>       },
> +     [ITEM_IPV6_FRAG_EXT_ID] = {
> +             .name = "packet_id",
> +             .help = "fragment packet id",
> +             .next = NEXT(item_ipv6_frag_ext, NEXT_ENTRY(UNSIGNED),
> +                          item_param),
> +             .args = ARGS(ARGS_ENTRY_HTON(struct
> rte_flow_item_ipv6_frag_ext,
> +                                          hdr.id)),
> +     },
>       [ITEM_ICMP6] = {
>               .name = "icmp6",
>               .help = "match any ICMPv6 header",
> --
> 2.20.1

Acked-by: Ori Kam <or...@nvidia.com>
Thanks,
Ori

Reply via email to