DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ori Kam <orika@nvidia.com>
To: Ivan Malov <Ivan.Malov@oktetlabs.ru>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Xiaoyun Li <xiaoyun.li@intel.com>,
	NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	Ferruh Yigit <ferruh.yigit@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v1 02/12] ethdev: add eswitch port item to flow API
Date: Mon, 4 Oct 2021 11:37:42 +0000	[thread overview]
Message-ID: <DM8PR12MB5400B4482A33331C7F6A7930D6AE9@DM8PR12MB5400.namprd12.prod.outlook.com> (raw)
In-Reply-To: <c74b0187-32b5-bfbb-dee3-456f0372ea00@oktetlabs.ru>

Hi Ivan,

> -----Original Message-----
> From: Ivan Malov <Ivan.Malov@oktetlabs.ru>
> Sent: Monday, October 4, 2021 2:06 PM
> Cc: dev@dpdk.org
> Subject: Re: [PATCH v1 02/12] ethdev: add eswitch port item to flow API
> 
> Hi Ori,
> 
> On 04/10/2021 08:45, Ori Kam wrote:
> > Hi Ivan,
> >
> >> -----Original Message-----
> >> From: Ivan Malov <Ivan.Malov@oktetlabs.ru>
> >> Sent: Sunday, October 3, 2021 9:11 PM
> >> Subject: Re: [PATCH v1 02/12] ethdev: add eswitch port item to flow
> >> API
> >>
> >>
> >>
> >> On 03/10/2021 15:40, Ori Kam wrote:
> >>> Hi Andrew and Ivan,
> >>>
> >>>> -----Original Message-----
> >>>> From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> >>>> Sent: Friday, October 1, 2021 4:47 PM
> >>>> Subject: [PATCH v1 02/12] ethdev: add eswitch port item to flow API
> >>>>
> >>>> From: Ivan Malov <ivan.malov@oktetlabs.ru>
> >>>>
> >>>> For use with "transfer" flows. Supposed to match traffic entering
> >>>> the e-switch from the external world (network, guests) via the port
> >>>> which is logically connected with the given ethdev.
> >>>>
> >>>> Must not be combined with attributes "ingress" / "egress".
> >>>>
> >>>> This item is meant to use the same structure as ethdev item.
> >>>>
> >>>
> >>> In case the app is not working with representors, meaning each
> >>> switch port is mapped to ethdev.
> >>> both items (ethdev and eswitch port ) have the same meaning?
> >>
> >> No. Ethdev means ethdev, and e-switch port is the point where this
> >> ethdev is plugged to. For example, "transfer + ESWITCH_PORT" for a
> >> regular PF ethdev typically means the network port (maybe you can
> >> recall the idea that a PF ethdev "represents" the network port it's
> associated with).
> >>
> >> I believe, that diagrams which these patches add to
> >> "doc/guides/prog_guide/rte_flow.rst" may come in handy to understand
> >> the meaning. Also, you can take a look at our larger diagram from the
> >> Sep 14 gathering.
> >>
> >
> > Lets look at the following system:
> > E-Switch has 3 ports - PF, VF1, VF2
> > The ports are distributed as follows:
> > DPDK application:
> > ethdev(0) pf,
> > ethdev(1) representor to VF1
> > ethdev(2) representor to VF2
> > ethdev(3) VF1
> >
> > VM:
> > VF2
> >
> > As we know all representors are realy connected to the PF(at least in
> > this example)
> 
> This example tries to say that the e-switch has 3 ports in total, and, given
> your explanation, one may indeed agree that *in this example* representors
> re-use e-switch port of ethdev=0 (with some metadata to distinguish
> packets, etc.). But one can hardly assume that *all* representors with any
> vendor's NIC are connected to the e-switch the same way. It's vendor
> specific. Well, at least, applications don't have this knowledge and don't need
> to.
> 
> >
> > So matching on ethdev(3)  means matching on traffic sent from DPDK port
> 3 right?
> 
> Item ETHDEV (ethdev_id=3) matches traffic sent by DPDK port 3. Looks like
> we're on the same page here.
> 

Good.

> > And matching on eswitch_port(3) means matching in traffic that goes
> > into VF1 which is the same traffic as ethdev(3) right?
> 
> I didn't catch the thought about "the same traffic". Direction is not the same.
> Item ESWITCH_PORT (ethdev_id=3) matches traffic sent by DPDK port 1.
> 
This is the critical part for my understanding.
Matching on ethdev_id(3) means matching on traffic that is coming from DPDK port3.
So from E-Switch view point it is traffic that goes into VF1?
While matching on E-Switch_port(3) means matching on traffic coming from VF1?

And by the same logic matching on ethdev_id(1) means matching on taffic that was sent
from DPDK port 1 and matching on E-Switch_port(1) means matching on traffic coming from
VF1 

So in this case eswitch_port(3) is equal ot eswitch_port(1) right?
While ethdev(1) is not equal to ethdev(3)

And just to complete the picture, matching on ethdev(2) will result in traffic
coming from the dpdk port and matching on eswitch_port(2) will match
on traffic coming from VF2

> Yes, in this case neither of the ports (1, 3) is truly "external" (they both
> interface the DPDK application), but, the thing is, they're "external" *to each
> other* in the sense that they sit at the opposite ends of the wire.
> 
> >
> > Matching on ethdev(1) means matching on the PF port in the E-Switch but
> with some
> > metadata that marks the traffic as coming from DPDK port 1 and not from
> VF1 E-Switch
> > port right?
> 
> That's vendor specific. The application doesn't have to know how exactly
> this particular ethdev is connected to the e-switch - whether it re-uses
> the PF's e-switch port or has its own. The e-switch port that connects
> the ethdev with the e-switch is just assumed to exist logically.
> 
> >
> > While matching on eswitch_port(2) means matching on traffic coming from
> the VM right?
> 
> Right.
> 

I think the my above question will clear everything for me.

> >
> >>>
> >>>> Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
> >>>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> >>>> ---
> >>>>    app/test-pmd/cmdline_flow.c                 | 27
> +++++++++++++++++++++
> >>>>    doc/guides/prog_guide/rte_flow.rst          | 22 +++++++++++++++++
> >>>>    doc/guides/rel_notes/release_21_11.rst      |  2 +-
> >>>>    doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 +++
> >>>>    lib/ethdev/rte_flow.c                       |  1 +
> >>>>    lib/ethdev/rte_flow.h                       | 12 ++++++++-
> >>>>    6 files changed, 66 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-
> >> pmd/cmdline_flow.c
> >>>> index e05b0d83d2..188d0ee39d 100644
> >>>> --- a/app/test-pmd/cmdline_flow.c
> >>>> +++ b/app/test-pmd/cmdline_flow.c
> >>>> @@ -308,6 +308,8 @@ enum index {
> >>>>    	ITEM_POL_POLICY,
> >>>>    	ITEM_ETHDEV,
> >>>>    	ITEM_ETHDEV_ID,
> >>>> +	ITEM_ESWITCH_PORT,
> >>>> +	ITEM_ESWITCH_PORT_ETHDEV_ID,
> >>>
> >>> Like my comment from previous patch, I'm not sure the correct
> >>> term for ETHDEV is ID is should be port.
> >>
> >> Please see my reply in the previous thread. "ethdev" here is an
> >> "anchor", a "beacon" of sorts which allows either to refer namely to
> >> this ethdev or to the e-switch port associated with it.
> >>
> >>>
> >>>>
> >>>>    	/* Validate/create actions. */
> >>>>    	ACTIONS,
> >>>> @@ -1003,6 +1005,7 @@ static const enum index next_item[] = {
> >>>>    	ITEM_INTEGRITY,
> >>>>    	ITEM_CONNTRACK,
> >>>>    	ITEM_ETHDEV,
> >>>> +	ITEM_ESWITCH_PORT,
> >>>>    	END_SET,
> >>>>    	ZERO,
> >>>>    };
> >>>> @@ -1377,6 +1380,12 @@ static const enum index item_ethdev[] = {
> >>>>    	ZERO,
> >>>>    };
> >>>>
> >>>> +static const enum index item_eswitch_port[] = {
> >>>> +	ITEM_ESWITCH_PORT_ETHDEV_ID,
> >>>> +	ITEM_NEXT,
> >>>> +	ZERO,
> >>>> +};
> >>>> +
> >>>>    static const enum index next_action[] = {
> >>>>    	ACTION_END,
> >>>>    	ACTION_VOID,
> >>>> @@ -3632,6 +3641,21 @@ static const struct token token_list[] = {
> >>>>    			     item_param),
> >>>>    		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_ethdev,
> >> id)),
> >>>>    	},
> >>>> +	[ITEM_ESWITCH_PORT] = {
> >>>> +		.name = "eswitch_port",
> >>>> +		.help = "match traffic at e-switch going from the external port
> >>>> associated with the given ethdev",
> >>>
> >>> Missing the word logically since if we are talking about representor the
> >> connected port
> >>> is the PF while we want to match traffic on one of the FVs.
> >>
> >> Doesn't the word "external" say it all?
> >>
> >> Representor Ethdev <--> Admin ethdev's PF <--> E-Switch <--> VF
> >> (external / the most remote endpoint).
> >>
> >
> > Until the last comment External had totally different meaning to me.
> > I think you should add some place the meaning of external or use
> > the most remote endpoint.
> 
> We'll keep this in mind. Given your above example (when both VF and its
> representor) are plugged to the DPDK application, "external" may sound a
> bit off, but maybe it can be retained and just clarified as the "most
> remote endpoint" in the e-switch with respect to the ethdev in question.
> 

+1 to the most remote or finding different wording.

> >
> >>>
> >>>> +		.priv = PRIV_ITEM(ESWITCH_PORT,
> >>>> +				  sizeof(struct rte_flow_item_ethdev)),
> >>>> +		.next = NEXT(item_eswitch_port),
> >>>> +		.call = parse_vc,
> >>>> +	},
> >>>> +	[ITEM_ESWITCH_PORT_ETHDEV_ID] = {
> >>>> +		.name = "ethdev_id",
> >>>> +		.help = "ethdev ID",
> >>>> +		.next = NEXT(item_eswitch_port,
> >>>> NEXT_ENTRY(COMMON_UNSIGNED),
> >>>> +			     item_param),
> >>>> +		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_ethdev,
> >> id)),
> >>>> +	},
> >>>>    	/* Validate/create actions. */
> >>>>    	[ACTIONS] = {
> >>>>    		.name = "actions",
> >>>> @@ -8370,6 +8394,9 @@ flow_item_default_mask(const struct
> >>>> rte_flow_item *item)
> >>>>    	case RTE_FLOW_ITEM_TYPE_ETHDEV:
> >>>>    		mask = &rte_flow_item_ethdev_mask;
> >>>>    		break;
> >>>> +	case RTE_FLOW_ITEM_TYPE_ESWITCH_PORT:
> >>>> +		mask = &rte_flow_item_ethdev_mask;
> >>>> +		break;
> >>>
> >>> Not sure maybe merged the two cases?
> >>
> >> A noble idea.
> >>
> >>>
> >>>>    	default:
> >>>>    		break;
> >>>>    	}
> >>>> diff --git a/doc/guides/prog_guide/rte_flow.rst
> >>>> b/doc/guides/prog_guide/rte_flow.rst
> >>>> index ab628d9139..292bb42410 100644
> >>>> --- a/doc/guides/prog_guide/rte_flow.rst
> >>>> +++ b/doc/guides/prog_guide/rte_flow.rst
> >>>> @@ -1460,6 +1460,28 @@ Use this with attribute **transfer**.
> Attributes
> >>>> **ingress** and
> >>>>       | ``mask`` | ``id``   | zeroed for wildcard match |
> >>>>       +----------+----------+---------------------------+
> >>>>
> >>>> +Item: ``ESWITCH_PORT``
> >>>> +^^^^^^^^^^^^^^^^^^^^^^
> >>>> +
> >>>> +Matches traffic at e-switch going from the external port associated
> >>>> +with the given ethdev, for example, traffic from net. port or guest.
> >>>
> >>> Maybe replace external with e-switch?
> >>
> >> The word "e-switch" is already here. Basically, all "external" ports are
> >> "e-switch external ports" = ports which connect the e-switch with
> >> non-DPDK world: network ports, VFs passed to guests, etc.
> >>
> >
> > Please see comment above, the word external is not clearly defined. >
> >>>
> >>>> +
> >>>> +::
> >>>> +
> >>>> +   *    (Ethdev) ~~~~~~~~~~~~ (Internal Port) ~~~~ [] <<<< (External
> >> Port)
> >>>> +   *    :  SW                 :   Logical                    Net / Guest :
> >>>> +   *    :                     :                                          :
> >>>> +   *    | ---- PMD Layer ---- | ------------ E-Switch Layer ------------ |
> >>>> +   *
> >>>> +   *    [] shows the effective ("transfer") standpoint, the match engine;
> >>>> +   *    << shows the traffic flow in question hitting the match engine;
> >>>> +   *    ~~ shows logical interconnects between the endpoints.
> >>>> +
> >>>
> >>> I'm not sure I understand this diagram.
> >>
> >> Thanks for the feedback. I have no way with drawing fancy diagrams, so
> >> this one may not be ideal, yes. But could you please elaborate on your
> >> concerns. Maybe you understand it the right way but just unsure. If you
> >> describe what you see when looking at the diagram, I'll be able to
> >> either confirm your vision or debunk any misunderstanding and possibly
> >> improve the drawing.
> >>
> >
> >
> > I will try,
> > Ethdev is the port that the application sees in DPDK right?
> 
> Exactly.
> 
> > Internal port is what the PMD sees, for example in case of representor it
> will see the PF port.
> 
> Vendor-specific, but, yes, let's assume that.
> 
> > External (also due to a drawing in one of your comments) is the E-Switch
> end point.
> > So this drawing shows that the app select the external port that is
> connected to the
> > internal port which is connected to the ethdev port?
> 
> So what's the problem?
> 
> Ethdev ----- E-switch port A -- ... --- E-switch port B------ VF
> 
> So, saying "transfer + ESWITCH_PORT" here implies the e-switch port B.
> How do we name it? "External"? "The most remote"? Any other options?
> 
> >
> > Thanks,
> > Ori
> >>>
> >>>> +Use this with attribute **transfer**. Attributes **ingress** and
> >>>> +**egress** (`Attribute: Traffic direction`_) must not be used.
> >>>> +
> >>>> +This item is meant to use the same structure as `Item: ETHDEV`_.
> >>>> +
> >>>>    Actions
> >>>>    ~~~~~~~
> >>>>
> >>>> diff --git a/doc/guides/rel_notes/release_21_11.rst
> >>>> b/doc/guides/rel_notes/release_21_11.rst
> >>>> index 91631adb4e..b2b27de3f0 100644
> >>>> --- a/doc/guides/rel_notes/release_21_11.rst
> >>>> +++ b/doc/guides/rel_notes/release_21_11.rst
> >>>> @@ -167,7 +167,7 @@ API Changes
> >>>>       Also, make sure to start the actual text at the margin.
> >>>>
> >> =======================================================
> >>>>
> >>>> -* ethdev: Added item ``ETHDEV`` to flow API.
> >>>> +* ethdev: Added items ``ETHDEV``, ``ESWITCH_PORT`` to flow API.
> >>>>
> >>>>    * cryptodev: The API rte_cryptodev_pmd_is_valid_dev is modified to
> >>>>      rte_cryptodev_is_valid_dev as it can be used by the application as
> diff --
> >> git
> >>>> a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> >>>> b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> >>>> index 6d5de5457c..9a5c2a2d82 100644
> >>>> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> >>>> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> >>>> @@ -3824,6 +3824,10 @@ This section lists supported pattern items
> and
> >>>> their attributes, if any.
> >>>>
> >>>>      - ``id {unsigned}``: ethdev ID
> >>>>
> >>>> +- ``eswitch_port``: match traffic at e-switch going from the external
> >>>> +port associated with the given ethdev
> >>>> +
> >>>> +  - ``ethdev_id {unsigned}``: ethdev ID
> >>>> +
> >>>>    Actions list
> >>>>    ^^^^^^^^^^^^
> >>>>
> >>>> diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index
> >>>> 84eb61cb6c..c4aea5625f 100644
> >>>> --- a/lib/ethdev/rte_flow.c
> >>>> +++ b/lib/ethdev/rte_flow.c
> >>>> @@ -101,6 +101,7 @@ static const struct rte_flow_desc_data
> >>>> rte_flow_desc_item[] = {
> >>>>    	MK_FLOW_ITEM(INTEGRITY, sizeof(struct rte_flow_item_integrity)),
> >>>>    	MK_FLOW_ITEM(CONNTRACK, sizeof(uint32_t)),
> >>>>    	MK_FLOW_ITEM(ETHDEV, sizeof(struct rte_flow_item_ethdev)),
> >>>> +	MK_FLOW_ITEM(ESWITCH_PORT, sizeof(struct
> >>>> rte_flow_item_ethdev)),
> >>>>    };
> >>>>
> >>>>    /** Generate flow_action[] entry. */
> >>>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
> >>>> 880502098e..1a7e4c2e3d 100644
> >>>> --- a/lib/ethdev/rte_flow.h
> >>>> +++ b/lib/ethdev/rte_flow.h
> >>>> @@ -583,6 +583,16 @@ enum rte_flow_item_type {
> >>>>    	 * @see struct rte_flow_item_ethdev
> >>>>    	 */
> >>>>    	RTE_FLOW_ITEM_TYPE_ETHDEV,
> >>>> +
> >>>> +	/**
> >>>> +	 * [META]
> >>>> +	 *
> >>>> +	 * Matches traffic at e-switch going from the external port associated
> >>>> +	 * with the given ethdev, for example, traffic from net. port or guest.
> >>>> +	 *
> >>>> +	 * @see struct rte_flow_item_ethdev
> >>>> +	 */
> >>>> +	RTE_FLOW_ITEM_TYPE_ESWITCH_PORT,
> >>>>    };
> >>>>
> >>>>    /**
> >>>> @@ -1813,7 +1823,7 @@ static const struct rte_flow_item_conntrack
> >>>> rte_flow_item_conntrack_mask = {
> >>>>     * @b EXPERIMENTAL: this structure may change without prior notice
> >>>>     *
> >>>>     * Provides an ethdev ID for use with items which are as follows:
> >>>> - * RTE_FLOW_ITEM_TYPE_ETHDEV.
> >>>> + * RTE_FLOW_ITEM_TYPE_ETHDEV,
> >>>> RTE_FLOW_ITEM_TYPE_ESWITCH_PORT.
> >>>>     */
> >>>>    struct rte_flow_item_ethdev {
> >>>>    	uint16_t id; /**< Ethdev ID */
> >>>> --
> >>>> 2.30.2
> >>>
> >>> Best,
> >>> Ori
> >>>
> >>
> >> --
> >> Ivan M
> 
> --
> Ivan M

Thanks,
Ori

  reply	other threads:[~2021-10-04 11:37 UTC|newest]

Thread overview: 161+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-07 12:51 [dpdk-dev] [RFC PATCH] ethdev: clarify flow attribute and action port ID semantics Ivan Malov
2021-10-01 13:47 ` [dpdk-dev] [PATCH v1 00/12] ethdev: rework transfer flow API Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 01/12] ethdev: add ethdev item to " Andrew Rybchenko
2021-10-03 11:52     ` Ori Kam
2021-10-03 17:40       ` Ivan Malov
2021-10-03 21:09         ` Ori Kam
2021-10-04  0:00           ` Ivan Malov
2021-10-04 10:47             ` Andrew Rybchenko
2021-10-04 11:08               ` Ivan Malov
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 02/12] ethdev: add eswitch port " Andrew Rybchenko
2021-10-03 12:40     ` Ori Kam
2021-10-03 18:10       ` Ivan Malov
2021-10-04  5:45         ` Ori Kam
2021-10-04 11:05           ` Ivan Malov
2021-10-04 11:37             ` Ori Kam [this message]
2021-10-04 11:58               ` Ivan Malov
2021-10-05  6:20                 ` Ori Kam
2021-10-05  9:19                   ` Andrew Rybchenko
2021-10-05 12:12                     ` Ivan Malov
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 03/12] ethdev: add ethdev action " Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 04/12] ethdev: add eswitch port " Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 06/12] ethdev: deprecate direction attributes in transfer flows Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 07/12] net/bnxt: support ethdev and E-Switch port flow items Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 08/12] net/bnxt: support ethdev and E-Switch port flow actions Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 09/12] net/enic: " Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 10/12] net/mlx5: support E-Switch port flow action Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 11/12] net/octeontx2: support ethdev " Andrew Rybchenko
2021-10-04 11:13     ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2021-10-04 12:45       ` Andrew Rybchenko
2021-10-01 13:47   ` [dpdk-dev] [PATCH v1 12/12] net/sfc: support ethdev flow item Andrew Rybchenko
2021-10-10  0:04   ` [dpdk-dev] [PATCH v2 00/12] ethdev: rework transfer flow API Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-10 11:15       ` Ori Kam
2021-10-10 13:30         ` Ivan Malov
2021-10-10 14:04           ` Ori Kam
2021-10-10 15:02             ` Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 02/12] ethdev: add represented port " Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 03/12] ethdev: add port representor action " Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 04/12] ethdev: add represented port " Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-10  0:04     ` [dpdk-dev] [PATCH v2 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-10  0:05     ` [dpdk-dev] [PATCH v2 09/12] net/enic: " Ivan Malov
2021-10-10  0:05     ` [dpdk-dev] [PATCH v2 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-10  0:05     ` [dpdk-dev] [PATCH v2 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-10  0:05     ` [dpdk-dev] [PATCH v2 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-10 14:39   ` [dpdk-dev] [PATCH v3 00/12] ethdev: rework transfer flow API Ivan Malov
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-11 11:49       ` Ori Kam
2021-10-12 12:39         ` Andrew Rybchenko
2021-10-12 20:55       ` Slava Ovsiienko
2021-10-12 23:14         ` Ivan Malov
2021-10-13 18:26           ` Slava Ovsiienko
2021-10-13 11:52       ` Ferruh Yigit
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 02/12] ethdev: add represented port " Ivan Malov
2021-10-11 11:51       ` Ori Kam
2021-10-12 12:39         ` Andrew Rybchenko
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 03/12] ethdev: add port representor action " Ivan Malov
2021-10-11 18:18       ` Ori Kam
2021-10-12 12:39         ` Andrew Rybchenko
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 04/12] ethdev: add represented port " Ivan Malov
2021-10-11 18:20       ` Ori Kam
2021-10-12 12:40         ` Andrew Rybchenko
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-11 18:23       ` Ori Kam
2021-10-12 12:40         ` Andrew Rybchenko
2021-10-13 11:53       ` Ferruh Yigit
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-11 18:33       ` Ori Kam
2021-10-12 12:40         ` Andrew Rybchenko
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 09/12] net/enic: " Ivan Malov
2021-10-12 17:03       ` Hyong Youb Kim (hyonkim)
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-12 21:23       ` Slava Ovsiienko
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-10 14:39     ` [dpdk-dev] [PATCH v3 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-12 14:45     ` [dpdk-dev] [PATCH v3 00/12] ethdev: rework transfer flow API Ferruh Yigit
2021-10-13 11:51     ` Ferruh Yigit
2021-10-13 16:42   ` [dpdk-dev] [PATCH v4 " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 02/12] ethdev: add represented port " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 03/12] ethdev: add port representor action " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 04/12] ethdev: add represented port " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 09/12] net/enic: " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-13 16:42     ` [dpdk-dev] [PATCH v4 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-13 16:57   ` [dpdk-dev] [PATCH v4 00/12] ethdev: rework transfer flow API Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 02/12] ethdev: add represented port " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 03/12] ethdev: add port representor action " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 04/12] ethdev: add represented port " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 09/12] net/enic: " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-13 16:57     ` [dpdk-dev] [PATCH v5 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-13 17:02   ` [dpdk-dev] [PATCH v6 00/12] ethdev: rework transfer flow API Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-13 17:15       ` Andrew Rybchenko
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 02/12] ethdev: add represented port " Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 03/12] ethdev: add port representor action " Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 04/12] ethdev: add represented port " Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 09/12] net/enic: " Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-13 18:02       ` Slava Ovsiienko
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-13 17:02     ` [dpdk-dev] [PATCH v6 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-13 17:34   ` [dpdk-dev] [PATCH v7 00/12] ethdev: rework transfer flow API Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 01/12] ethdev: add port representor item to " Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 02/12] ethdev: add represented port " Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 03/12] ethdev: add port representor action " Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 04/12] ethdev: add represented port " Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 05/12] ethdev: deprecate hard-to-use or ambiguous items and actions Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 06/12] ethdev: deprecate direction attributes in transfer flows Ivan Malov
2021-10-13 18:48       ` Slava Ovsiienko
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 07/12] net/bnxt: support meta flow items to match on traffic source Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 08/12] net/bnxt: support meta flow actions to overrule destinations Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 09/12] net/enic: " Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 10/12] net/mlx5: support represented port flow action Ivan Malov
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 11/12] net/octeontx2: support port representor " Ivan Malov
2021-10-20  2:33       ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2021-10-13 17:34     ` [dpdk-dev] [PATCH v7 12/12] net/sfc: support port representor flow item Ivan Malov
2021-10-13 21:08     ` [dpdk-dev] [PATCH v7 00/12] ethdev: rework transfer flow API Ferruh Yigit
2021-10-05  0:36 ` [dpdk-dev] [PATCH] ethdev: let apps find transfer admin port for a given ethdev Ivan Malov
2021-10-05  9:22   ` Ori Kam
2021-10-05 12:41     ` Ivan Malov
2021-10-05 16:04       ` Ori Kam
2021-10-05 17:56   ` Thomas Monjalon
2021-10-05 18:22     ` Ivan Malov
2021-10-05 19:04       ` Thomas Monjalon
2021-10-05 21:10   ` [dpdk-dev] [PATCH v2] ethdev: add API to query proxy port to manage transfer flows Ivan Malov
2021-10-06  7:47     ` Andrew Rybchenko
2021-10-06 12:33   ` [dpdk-dev] [PATCH v3] " Ivan Malov
2021-10-14  3:21   ` [dpdk-dev] [PATCH v4] " Ivan Malov
2021-10-14 11:45     ` Ferruh Yigit
2021-10-26 14:46     ` David Marchand
2021-10-26 15:47       ` Ivan Malov
2021-10-26 15:58         ` Thomas Monjalon
2021-10-26 16:15           ` Ferruh Yigit
2021-10-06 15:30 [dpdk-dev] [PATCH v1 02/12] ethdev: add eswitch port item to flow API Ivan Malov
2021-10-06 18:00 ` Ivan Malov
2021-10-06 19:36   ` Ivan Malov
2021-10-07 13:00     ` Ori Kam
2021-10-07 14:35       ` Ivan Malov
2021-10-07 16:06         ` Andrew Rybchenko

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=DM8PR12MB5400B4482A33331C7F6A7930D6AE9@DM8PR12MB5400.namprd12.prod.outlook.com \
    --to=orika@nvidia.com \
    --cc=Ivan.Malov@oktetlabs.ru \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    --cc=xiaoyun.li@intel.com \
    /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).