::snip::

>
> +void
> +gen_rss(uint16_t *queues, uint16_t queues_number)
> +{
> +       uint16_t queue;
> +       struct action_rss_data *rss_data;
> +       rss_data = rte_malloc("rss_data",
> +               sizeof(struct action_rss_data), 0);
> +
> +       if (rss_data == NULL)
> +               rte_exit(EXIT_FAILURE, "No Memory available!");
> +
> +       *rss_data = (struct action_rss_data){
> +               .conf = (struct rte_flow_action_rss){
> +                       .func = RTE_ETH_HASH_FUNCTION_DEFAULT,
> +                       .level = 0,
> +                       .types = ETH_RSS_IP,
> +                       .key_len = 0,
> +                       .queue_num = queues_number,
> +                       .key = 0,
>
Use rte_rand() or some fixed number to generate a key instead of 0.

::snip::

+
> +Actions:
> +
> +*      ``--port-id``
> +       Add port redirection action to all flows actions.
> +       Port redirection destination is defined in user_parameters.h
> +       under PORT_ID_DST, default value = 1.
> +
> +*      ``--rss``
> +       Add RSS action to all flows actions,
> +       The queues in RSS action will be all queues configured
> +       in the app.
>
Maybe use a subset of the queues configured in the app.
We may want to make sure the RSS is happening because of a flow hit,
and not because of default port RSS?
::snip::

Reply via email to