From: Stephen Hemminger <stephen@networkplumber.org>
To: Pavel Vazharov <freakpv@gmail.com>
Cc: users <users@dpdk.org>
Subject: Re: IPv4 flows per queue on top of RSS for ixgbe and i40e drivers
Date: Wed, 5 Feb 2025 08:49:57 -0800 [thread overview]
Message-ID: <20250205084957.02e14a3e@hermes.local> (raw)
In-Reply-To: <CAK9EM19sfRp2Oi8PfJ=zRKxu=avyBKsw3K-_Ey9MopPx=hoXdg@mail.gmail.com>
On Wed, 5 Feb 2025 18:21:33 +0200
Pavel Vazharov <freakpv@gmail.com> wrote:
> Hi there,
>
> We have a proxy application on top of DPDK where we use a symmetric
> RSS key to receive the packets for a given connection in both
> directions on a single queue. In addition to that, we've few IPv4
> addresses where we need to receive their traffic on particular queues.
> We use the rte flows functionality with RTE_FLOW_ACTION_TYPE_QUEUE to
> achieve that and it seemed to work with the DPDK ixgbe driver.
> However, today we tried the same application on top of DPDK i40e
> driver and this setup doesn't seem to work there. It prints the
> following errors:
> `i40e_flow_add_del_fdir_filter(): Conflict with existing flow director rules!`
> It seems that the i40e driver doesn't allow adding flow rules on top
> of the already set RSS.
>
> Can somebody suggest a way to achieve what we need with i40e: to use a
> symmetric RSS key for most of the traffic but to redirect the traffic
> for a few specific IPv4 addresses to particular queues?
>
> Thanks,
> Pavel.
If you are mixing RSS and rte_flow the results are not well defined.
Many drivers treat all active queues (including those used by rte_flow)
as candidates for RSS.
If you want to mix, the the safe way is:
- don't enable RSS in the device config (rx_mode)
- define an rte_flow rule with RTE_FLOW_ACTION_TYPE_RSS
with a match all
- define a rte_flow rule with RTE_FLOW_ACTION_TYPE_QUEUE
that matches the IP
and set rule priorities so that specific IP rule matches before
the match all.
You still maybe at risk of hardware quirks and driver incompatibilities
which is part of the problem with rte_flow.
next prev parent reply other threads:[~2025-02-05 16:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-05 16:21 Pavel Vazharov
2025-02-05 16:49 ` Stephen Hemminger [this message]
2025-02-05 16:53 ` Pavel Vazharov
2025-02-11 7:45 ` Pavel Vazharov
2025-02-11 10:58 ` Pavel Vazharov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250205084957.02e14a3e@hermes.local \
--to=stephen@networkplumber.org \
--cc=freakpv@gmail.com \
--cc=users@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).