[dpdk-dev] [PATCH v4 1/4] app/testpmd: add packet id for IP fragment

Ori Kam orika at nvidia.com
Mon Apr 19 19:45:03 CEST 2021


Hi Jeff and Ting,

> -----Original Message-----
> From: Jeff Guo <jia.guo at 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.xu at intel.com>
> Signed-off-by: Jeff Guo <jia.guo at 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 <orika at nvidia.com>
Thanks,
Ori


More information about the dev mailing list