DPDK usage discussions
 help / color / mirror / Atom feed
From: Pavel Vazharov <freakpv@gmail.com>
To: users <users@dpdk.org>
Subject: How to use rte_flow to distribute ARP packets between the Rx queues of 82599ES NIC
Date: Thu, 30 Sep 2021 15:27:56 +0300
Message-ID: <CAK9EM18FY4mnV3h-MP71D8u3kNKwzTdHcyztOr57Hx9X83+QgA@mail.gmail.com> (raw)

Hi there,

The DPDK setup for our application includes two 82599ES 10-Gigabit cards
setup in bonding mode BONDING_MODE_8023AD.
I'm trying to setup rte_flows logic which distributes the IPv4 and ARP
packets between the Rx queues based on their destination.
I'm able to setup the flows for the IPv4 packets using
RTE_FLOW_ITEM_TYPE_IPV4 and RTE_FLOW_ACTION_TYPE_QUEUE. The
rte_flow_validate result is 0 and the rte_flow_create returns non null
pointer.
However, when I try to do the same for the ARP packets using the following
actions
         const rte_flow_action_queue queue = {.index = rx_q};
        const rte_flow_action action[] = {

            {

                .type = RTE_FLOW_ACTION_TYPE_QUEUE,

                .conf = &queue,

            },

            {

                .type = RTE_FLOW_ACTION_TYPE_END,

                .conf = nullptr,

            },

        };
I get an error from rte_flow_validate. The error code is EINVAL. The error
message is "Not supported action." and the rte_flow_error.cause pointer
points to the first element of my action array above. Just for the test I
tried to change the action to RTE_FLOW_ACTION_TYPE_DROP and setting the
conf to NULL but I got exactly the same error. The error is returned for
rx_q = 0 and the bond port has been setup with 8 Rx and 8 Tx queues.
Am I doing something wrong or the device doesn't support rte_flow actions
for ARP packets?

Thanks,
Pavel.

                 reply	other threads:[~2021-09-30 12:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=CAK9EM18FY4mnV3h-MP71D8u3kNKwzTdHcyztOr57Hx9X83+QgA@mail.gmail.com \
    --to=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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git