From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: Eli Britstein <elibr@nvidia.com>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@intel.com>, Ori Kam <orika@nvidia.com>
Cc: dev@dpdk.org, Ilya Maximets <i.maximets@ovn.org>,
Ajit Khaparde <ajit.khaparde@broadcom.com>,
Matan Azrad <matan@nvidia.com>,
Ivan Malov <ivan.malov@oktetlabs.ru>,
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru>
Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: announce flow API action PORT_ID changes
Date: Sun, 1 Aug 2021 15:03:59 +0300 [thread overview]
Message-ID: <1d0c3022-afb6-6526-cd47-8945a455899a@oktetlabs.ru> (raw)
In-Reply-To: <49eca7ed-ad3b-d47c-99d1-9ac109efc31a@nvidia.com>
On 8/1/21 1:57 PM, Eli Britstein wrote:
>
> On 8/1/2021 1:22 PM, Andrew Rybchenko wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> By its very name, action PORT_ID means that packets hit an ethdev with
>> the
>> given DPDK port ID. At least the current comments don't state the
>> opposite.
>> That said, since port representors had been adopted, applications like
>> OvS
>> have been misusing the action. They misread its purpose as sending
>> packets
>> to the opposite end of the "wire" plugged to the given ethdev, for
>> example,
>> redirecting packets to the VF itself rather than to its representor
>> ethdev.
>> Another example: OvS relies on this action with the admin PF's ethdev
>> port
>> ID specified in it in order to send offloaded packets to the physical
>> port.
>>
>> Since there might be applications which use this action in its valid
>> sense,
>> one can't just change the documentation to greenlight the opposite
>> meaning.
>>
>> The documentation must be clarified and rte_flow_action_port_id structure
>> should be extended to support both meanings.
>
> I think the only clarification needed is that PORT_ID acts as if
> rte_eth_tx_burst is called with the specified port-id.
Sorry, but I still think that it is opposite meaning to the current
documentation which says "Directs matching traffic to a given DPDK port
ID." Since it happens on switching level (transfer rule) "to a given
DPDK port" means that it will be received on a given DPDK port.
Anyway, the goal of the deprecation notice is to highlight that it must
be fixed and ensure that we can choose right decision even if it
breaks API/ABI.
> Regarding representors, it's not different. When using TX on a
> representor port, the packets appear as RX on its represented port.
>
> Please elaborate if there is a use case for the PORT_ID~ in which the
> app can get the packets using rte_eth_rx_burst on the specified port-id.
Multi-home host with a NIC with two physical ports and two PFs used
by DPDK app with layer 3 (IP addresses). Different cores used to handle
traffic from different ports plus routing in DPDK app. If traffic to
port #0 IP address is received on phys port #1, it is useful to redirect
traffic to port ID 0 directly to have these packets on correct CPU cores
from the very beginning to avoid SW mechanisms to pass from port #1 CPU
cores to port #0 CPU cores.
>>
>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>> ---
>> doc/guides/rel_notes/deprecation.rst | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/doc/guides/rel_notes/deprecation.rst
>> b/doc/guides/rel_notes/deprecation.rst
>> index d9c0e65921..6e6413c89f 100644
>> --- a/doc/guides/rel_notes/deprecation.rst
>> +++ b/doc/guides/rel_notes/deprecation.rst
>> @@ -158,3 +158,8 @@ Deprecation Notices
>> * security: The functions ``rte_security_set_pkt_metadata`` and
>> ``rte_security_get_userdata`` will be made inline functions and
>> additional
>> flags will be added in structure ``rte_security_ctx`` in DPDK 21.11.
>> +
>> +* ethdev: Definition of the flow API action PORT_ID is ambiguous and
>> needs
>> + clarification. Structure rte_flow_action_port_id will be extended to
>> + specify traffic direction to represented entity or ethdev port
>> itself in
>> + DPDK 21.11.
>> --
>> 2.30.2
>>
next prev parent reply other threads:[~2021-08-01 12:04 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-01 10:22 Andrew Rybchenko
2021-08-01 10:22 ` [dpdk-dev] [PATCH 2/2] ethdev: announce clarification of implicit filter by port Andrew Rybchenko
2021-08-02 10:37 ` Ori Kam
2021-08-01 10:57 ` [dpdk-dev] [PATCH 1/2] ethdev: announce flow API action PORT_ID changes Eli Britstein
2021-08-01 12:03 ` Andrew Rybchenko [this message]
2021-08-01 12:23 ` Ori Kam
2021-08-01 12:43 ` Andrew Rybchenko
2021-08-01 12:56 ` Ori Kam
2021-08-01 13:23 ` Andrew Rybchenko
2021-08-01 16:13 ` Ori Kam
2021-08-01 20:09 ` Andrew Rybchenko
2021-08-02 7:28 ` Ori Kam
2021-08-02 10:11 ` Andrew Rybchenko
2021-08-02 8:56 ` Ori Kam
2021-08-02 15:49 ` Ilya Maximets
2021-08-02 19:19 ` Andrew Rybchenko
2021-08-02 19:53 ` [dpdk-dev] [PATCH v2 " Andrew Rybchenko
2021-08-02 19:53 ` [dpdk-dev] [PATCH v2 2/2] ethdev: announce clarification of implicit filter by port Andrew Rybchenko
2021-08-02 19:57 ` [dpdk-dev] [PATCH v3 1/2] ethdev: announce flow API action PORT_ID changes Andrew Rybchenko
2021-08-02 19:57 ` [dpdk-dev] [PATCH v3 2/2] ethdev: announce clarification of implicit filter by port Andrew Rybchenko
2021-08-02 21:17 ` Ajit Khaparde
2021-08-07 21:10 ` Thomas Monjalon
2021-08-02 21:20 ` [dpdk-dev] [PATCH v3 1/2] ethdev: announce flow API action PORT_ID changes Ajit Khaparde
2021-08-07 21:06 ` Thomas Monjalon
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=1d0c3022-afb6-6526-cd47-8945a455899a@oktetlabs.ru \
--to=andrew.rybchenko@oktetlabs.ru \
--cc=ajit.khaparde@broadcom.com \
--cc=dev@dpdk.org \
--cc=elibr@nvidia.com \
--cc=ferruh.yigit@intel.com \
--cc=i.maximets@ovn.org \
--cc=ivan.malov@oktetlabs.ru \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=thomas@monjalon.net \
--cc=viacheslav.galaktionov@oktetlabs.ru \
/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).