DPDK usage discussions
 help / color / mirror / Atom feed
* Question about rte_flow_validate and DPDK igb driver
@ 2022-07-29 10:59 Pavel Vazharov
  2022-07-29 12:08 ` Pavel Vazharov
  0 siblings, 1 reply; 2+ messages in thread
From: Pavel Vazharov @ 2022-07-29 10:59 UTC (permalink / raw)
  To: users

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

Hi there,

I'm trying to distribute among the Rx queues flows of TCP packets based on
their destination IPv4 address and source TCP port. I'm using the rte_flow
DPDK API for this purpose. I'm using DPDK 20.11.0. The setup is successful
when the application is started on a server with i40e driver but fails when
the application is started on a server using igb driver.
In the failure case the validation function returns EINVAL and the error
message is "only two tuple are supported by this filter".
I checked the source code of this DPDK driver in
drivers/net/e1000/igb_flow.c and I saw the following related code there,
starting at line 449:

        if (filter->src_ip_mask || filter->dst_ip_mask ||

            filter->src_port_mask) {

            memset(filter, 0, sizeof(struct rte_eth_ntuple_filter));

            rte_flow_error_set(error, EINVAL,

                RTE_FLOW_ERROR_TYPE_ITEM,

                NULL, "only two tuple are "

                "supported by this filter");

            return -rte_errno;

        }

The condition looks odd to me because it seems to ensure that only
filtering by destination port is supported while the error message hints
for something else. Why would filtering only by the destination port be
allowed!?
I've provided dst_ip_mask = 0xFFFFFFFF and src_port_mask 0xFFFF because I
just want to match exact ips and ports and in my understanding this should
classify, in my understanding, as filtering by "two tuple" - destination ip
and source port.

So, my questions are:
1. Am I missing something about this condition and thus it's the way it
should be?
2. If the question is not appropriate for this user group where should I
post it - dev@dpdk.org?

Thanks,
Pavel.

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

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

end of thread, other threads:[~2022-07-29 12:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-29 10:59 Question about rte_flow_validate and DPDK igb driver Pavel Vazharov
2022-07-29 12:08 ` Pavel Vazharov

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).