Hi, Ophir Munk

        Peng yuan has find this problem with patch , if you  use the following 
test step, You will find the problem.
She is using i40e nic.

./x86_64-native-linuxapp-gcc/app/testpmd -c 1ffff -n 4 - -i --nb-cores=8 
--rxq=4 --txq=4 --port-topology=chained ...............
testpmd> start
testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp  end key 
67108863 / end
 Segmentation fault (core dumped)


> -----Original Message-----
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Ophir Munk
> Sent: Saturday, November 3, 2018 11:55 PM
> To: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing
> <jingjing...@intel.com>; Iremonger, Bernard
> <bernard.iremon...@intel.com>; dev@dpdk.org
> Cc: Asaf Penso <as...@mellanox.com>; Shahaf Shuler
> <shah...@mellanox.com>; Thomas Monjalon <tho...@monjalon.net>;
> Olga Shern <ol...@mellanox.com>; Ophir Munk <ophi...@mellanox.com>;
> Yongseok Koh <ys...@mellanox.com>
> Subject: [dpdk-dev] [PATCH v1] app/testpmd: set default RSS key as NULL
> 
> When creating an RSS rule without specifying a key (see [1]) it is expected
> that the device will use the default key.
> A NULL key is uded to indicate to a PMD it should use its default key,
> however testpmd assigns a non-NULL dummy key (see [2]) instead.
> This does not enable testing any PMD behavior when the RSS key is not
> specified. This commit fixes this limitation by setting key to NULL.
> 
> [1]
> RSS rule example without specifying a key:
> flow create 0 ingress <pattern> / end actions rss queues 0 1 end / end [2]
> Testpmd default key assignment:
> .key= "testpmd's default RSS hash key, "
> "override it for better balancing"
> 
> Signed-off-by: Ophir Munk <ophi...@mellanox.com>
> ---
> v1: Initial version
> 
>  app/test-pmd/cmdline_flow.c | 15 ++-------------
>  1 file changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 23ea7cc..91e2e35 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -3248,26 +3248,15 @@ static int comp_vc_action_rss_queue(struct
> context *, const struct token *,
>                       .func = RTE_ETH_HASH_FUNCTION_DEFAULT,
>                       .level = 0,
>                       .types = rss_hf,
> -                     .key_len = sizeof(action_rss_data->key),
> +                     .key_len = 0,
>                       .queue_num = RTE_MIN(nb_rxq,
> ACTION_RSS_QUEUE_NUM),
> -                     .key = action_rss_data->key,
> +                     .key = NULL,
>                       .queue = action_rss_data->queue,
>               },
> -             .key = "testpmd's default RSS hash key, "
> -                     "override it for better balancing",
>               .queue = { 0 },
>       };
>       for (i = 0; i < action_rss_data->conf.queue_num; ++i)
>               action_rss_data->queue[i] = i;
> -     if (!port_id_is_invalid(ctx->port, DISABLED_WARN) &&
> -         ctx->port != (portid_t)RTE_PORT_ALL) {
> -             struct rte_eth_dev_info info;
> -
> -             rte_eth_dev_info_get(ctx->port, &info);
> -             action_rss_data->conf.key_len =
> -                     RTE_MIN(sizeof(action_rss_data->key),
> -                             info.hash_key_size);
> -     }
>       action->conf = &action_rss_data->conf;
>       return ret;
>  }
> --
> 1.8.3.1

Reply via email to