DPDK patches and discussions
 help / color / mirror / Atom feed
* FDIR packet distribution with specific multiple RX queues.
@ 2024-07-18 11:36 Raghavan V
  2024-07-18 15:36 ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Raghavan V @ 2024-07-18 11:36 UTC (permalink / raw)
  To: dev, users

[-- Attachment #1: Type: text/plain, Size: 956 bytes --]

Hi Team,

Is there any way to distribute packets evenly (Like RSS) to specific multiple RX queues in RTE_FLOW_ACTION_TYPE_QUEUE DPDK Flow director?

Desired action:

uint16_t queue_indices[] = {10, 11, 12, 13, 14, 15};
struct rte_flow_action_queue queue = {.index = queue_indices};
struct rte_flow_action action[]={
    [0]={.type = RTE_FLOW_ACTION_TYPE_QUEUE,.conf = &queue},
    [1]={.type = RTE_FLOW_ACTION_TYPE_END}
};
Is this action limited to drivers specific?

Example:
I have 40 RX queues I need to match an IP address pattern and the matching packets should direct to 1-10 RX queue indices.


If not, please suggest a way to direct packets that matches a particular pattern to specific multiple RX queues without the use of RSS.
I need the matching packets to distribute evenly to specific RX queues and not the duplicates. I'm using Intel x710 NIC i40e and DPDK 20.11.

Can anyone help on this query.

Thanks,
Raghavan V

[-- Attachment #2: Type: text/html, Size: 5849 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: FDIR packet distribution with specific multiple RX queues.
  2024-07-18 11:36 FDIR packet distribution with specific multiple RX queues Raghavan V
@ 2024-07-18 15:36 ` Stephen Hemminger
  2024-07-18 16:39   ` Raghavan V
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2024-07-18 15:36 UTC (permalink / raw)
  To: Raghavan V; +Cc: dev, users

On Thu, 18 Jul 2024 11:36:43 +0000
Raghavan V <Raghavan.V2@tatacommunications.com> wrote:

> Is there any way to distribute packets evenly (Like RSS) to specific multiple RX queues in RTE_FLOW_ACTION_TYPE_QUEUE DPDK Flow director?
> 
> Desired action:
> 
> uint16_t queue_indices[] = {10, 11, 12, 13, 14, 15};
> struct rte_flow_action_queue queue = {.index = queue_indices};
> struct rte_flow_action action[]={
>     [0]={.type = RTE_FLOW_ACTION_TYPE_QUEUE,.conf = &queue},
>     [1]={.type = RTE_FLOW_ACTION_TYPE_END}
> };

You want RTE_FLOW_ACTION_TYPE_RSS

uint16_t queue_indices[] = {10, 11, 12, 13, 14, 15};
struct rte_flow_action_rss rss = {
	.types =  RTE_ETH_RSS_UDP | RTE_ETH_RSS_TCP,
	.queue_num = RTE_DIM(queue_indicies),
	.queue = queue_indicies,
};

struct rte_flow_action action[]={
     [0]={.type = RTE_FLOW_ACTION_TYPE_RSS,.conf = &rss},
    [1]={.type = RTE_FLOW_ACTION_TYPE_END}
};

> Is this action limited to drivers specific?
Yes, drivers implement only what hardware can support.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: FDIR packet distribution with specific multiple RX queues.
  2024-07-18 15:36 ` Stephen Hemminger
@ 2024-07-18 16:39   ` Raghavan V
  2024-07-18 17:28     ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Raghavan V @ 2024-07-18 16:39 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, users

[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]

Hi Stephen,
Thanks for your response.

As our application has limitations while using RSS,
I would prefer a similar approach to RTE_ACTION_TYPE_QUEUE.

Since flow director supports only one RXQ index, I could not be able to achieve desired outcome.

Please suggest if any approach like RTE_ACTION_TYPE_QUEUE but not RSS could match my requirement.

Thanks,
Raghavan V


________________________________
From: Stephen Hemminger <stephen@networkplumber.org>
Sent: Thursday, July 18, 2024 9:06:14 pm
To: Raghavan V <Raghavan.V2@tatacommunications.com>
Cc: dev@dpdk.org <dev@dpdk.org>; users@dpdk.org <users@dpdk.org>
Subject: Re: FDIR packet distribution with specific multiple RX queues.

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

On Thu, 18 Jul 2024 11:36:43 +0000
Raghavan V <Raghavan.V2@tatacommunications.com> wrote:

> Is there any way to distribute packets evenly (Like RSS) to specific multiple RX queues in RTE_FLOW_ACTION_TYPE_QUEUE DPDK Flow director?
>
> Desired action:
>
> uint16_t queue_indices[] = {10, 11, 12, 13, 14, 15};
> struct rte_flow_action_queue queue = {.index = queue_indices};
> struct rte_flow_action action[]={
>     [0]={.type = RTE_FLOW_ACTION_TYPE_QUEUE,.conf = &queue},
>     [1]={.type = RTE_FLOW_ACTION_TYPE_END}
> };

You want RTE_FLOW_ACTION_TYPE_RSS

uint16_t queue_indices[] = {10, 11, 12, 13, 14, 15};
struct rte_flow_action_rss rss = {
        .types =  RTE_ETH_RSS_UDP | RTE_ETH_RSS_TCP,
        .queue_num = RTE_DIM(queue_indicies),
        .queue = queue_indicies,
};

struct rte_flow_action action[]={
     [0]={.type = RTE_FLOW_ACTION_TYPE_RSS,.conf = &rss},
    [1]={.type = RTE_FLOW_ACTION_TYPE_END}
};

> Is this action limited to drivers specific?
Yes, drivers implement only what hardware can support.


[-- Attachment #2: Type: text/html, Size: 3496 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: FDIR packet distribution with specific multiple RX queues.
  2024-07-18 16:39   ` Raghavan V
@ 2024-07-18 17:28     ` Stephen Hemminger
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2024-07-18 17:28 UTC (permalink / raw)
  To: Raghavan V; +Cc: dev, users

On Thu, 18 Jul 2024 16:39:35 +0000
Raghavan V <Raghavan.V2@tatacommunications.com> wrote:

> Hi Stephen,
> Thanks for your response.
> 
> As our application has limitations while using RSS,
> I would prefer a similar approach to RTE_ACTION_TYPE_QUEUE.

There is no action like this since hardware does not support it.
Multi queue support comes from the original queue support which was
done as collaboration between Intel and Microsoft (for Windows).
Then Linux got multi-queue (RSS) support.
Then DPDK got similar multi-queue.

Packet spraying across queues would be bad since it would create
out of order packets, and also lots of lock contention on any shared
per flow resource.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-22  9:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-18 11:36 FDIR packet distribution with specific multiple RX queues Raghavan V
2024-07-18 15:36 ` Stephen Hemminger
2024-07-18 16:39   ` Raghavan V
2024-07-18 17:28     ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).