DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] ethdev flow director/filtering/steering API
@ 2019-04-11  7:49 Thomas Monjalon
  2019-04-11  7:49 ` Thomas Monjalon
  2019-04-11  8:43 ` Andrew Rybchenko
  0 siblings, 2 replies; 12+ messages in thread
From: Thomas Monjalon @ 2019-04-11  7:49 UTC (permalink / raw)
  To: ferruh.yigit, arybchenko; +Cc: dev

About the features called flow director, filtering or flow steering,
we have some overlap in our API that we should clean.
It is especially important when considering to freeze the API for stability.

Please read this deprecation notice from December 2016:

* ethdev: the legacy filter API, including
  ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
  as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
  HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
  PMDs that implement the latter.
  Target release for removal of the legacy API will be defined once most
  PMDs have switched to rte_flow.

We must mark the eth_dev_filter API as deprecated and decide about
a date to remove it.

Which PMD is implementing this API and not rte_flow?
If there are still some, deadlines should help them to be converted :)
If some help is needed, please ask.

Anyway, after more than 2 years of notice, I think it is fair to mark
the legacy API as deprecated in 19.05 release.

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

* [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-11  7:49 [dpdk-dev] ethdev flow director/filtering/steering API Thomas Monjalon
@ 2019-04-11  7:49 ` Thomas Monjalon
  2019-04-11  8:43 ` Andrew Rybchenko
  1 sibling, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2019-04-11  7:49 UTC (permalink / raw)
  To: ferruh.yigit, arybchenko; +Cc: dev

About the features called flow director, filtering or flow steering,
we have some overlap in our API that we should clean.
It is especially important when considering to freeze the API for stability.

Please read this deprecation notice from December 2016:

* ethdev: the legacy filter API, including
  ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
  as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
  HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
  PMDs that implement the latter.
  Target release for removal of the legacy API will be defined once most
  PMDs have switched to rte_flow.

We must mark the eth_dev_filter API as deprecated and decide about
a date to remove it.

Which PMD is implementing this API and not rte_flow?
If there are still some, deadlines should help them to be converted :)
If some help is needed, please ask.

Anyway, after more than 2 years of notice, I think it is fair to mark
the legacy API as deprecated in 19.05 release.



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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-11  7:49 [dpdk-dev] ethdev flow director/filtering/steering API Thomas Monjalon
  2019-04-11  7:49 ` Thomas Monjalon
@ 2019-04-11  8:43 ` Andrew Rybchenko
  2019-04-11  8:43   ` Andrew Rybchenko
  2019-04-12 17:57   ` Ferruh Yigit
  1 sibling, 2 replies; 12+ messages in thread
From: Andrew Rybchenko @ 2019-04-11  8:43 UTC (permalink / raw)
  To: Thomas Monjalon, ferruh.yigit
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/11/19 10:49 AM, Thomas Monjalon wrote:
> About the features called flow director, filtering or flow steering,
> we have some overlap in our API that we should clean.
> It is especially important when considering to freeze the API for stability.
>
> Please read this deprecation notice from December 2016:
>
> * ethdev: the legacy filter API, including
>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>    PMDs that implement the latter.
>    Target release for removal of the legacy API will be defined once most
>    PMDs have switched to rte_flow.
>
> We must mark the eth_dev_filter API as deprecated and decide about
> a date to remove it.
>
> Which PMD is implementing this API and not rte_flow?

In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
I think it is just a mistake in documentation.

Flow API support tick is missing for many PMDs which actually implement
(as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
I've added maintainers to CC.

> If there are still some, deadlines should help them to be converted :)
> If some help is needed, please ask.
>
> Anyway, after more than 2 years of notice, I think it is fair to mark
> the legacy API as deprecated in 19.05 release.

I agree. I think it is a good idea.

Andrew.

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-11  8:43 ` Andrew Rybchenko
@ 2019-04-11  8:43   ` Andrew Rybchenko
  2019-04-12 17:57   ` Ferruh Yigit
  1 sibling, 0 replies; 12+ messages in thread
From: Andrew Rybchenko @ 2019-04-11  8:43 UTC (permalink / raw)
  To: Thomas Monjalon, ferruh.yigit
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/11/19 10:49 AM, Thomas Monjalon wrote:
> About the features called flow director, filtering or flow steering,
> we have some overlap in our API that we should clean.
> It is especially important when considering to freeze the API for stability.
>
> Please read this deprecation notice from December 2016:
>
> * ethdev: the legacy filter API, including
>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>    PMDs that implement the latter.
>    Target release for removal of the legacy API will be defined once most
>    PMDs have switched to rte_flow.
>
> We must mark the eth_dev_filter API as deprecated and decide about
> a date to remove it.
>
> Which PMD is implementing this API and not rte_flow?

In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
I think it is just a mistake in documentation.

Flow API support tick is missing for many PMDs which actually implement
(as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
I've added maintainers to CC.

> If there are still some, deadlines should help them to be converted :)
> If some help is needed, please ask.
>
> Anyway, after more than 2 years of notice, I think it is fair to mark
> the legacy API as deprecated in 19.05 release.

I agree. I think it is a good idea.

Andrew.

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-11  8:43 ` Andrew Rybchenko
  2019-04-11  8:43   ` Andrew Rybchenko
@ 2019-04-12 17:57   ` Ferruh Yigit
  2019-04-12 17:57     ` Ferruh Yigit
  2019-04-16  9:33     ` Andrew Rybchenko
  1 sibling, 2 replies; 12+ messages in thread
From: Ferruh Yigit @ 2019-04-12 17:57 UTC (permalink / raw)
  To: Andrew Rybchenko, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>> About the features called flow director, filtering or flow steering,
>> we have some overlap in our API that we should clean.
>> It is especially important when considering to freeze the API for stability.
>>
>> Please read this deprecation notice from December 2016:
>>
>> * ethdev: the legacy filter API, including
>>   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>   HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>   PMDs that implement the latter.
>>   Target release for removal of the legacy API will be defined once most
>>   PMDs have switched to rte_flow.
>>
>> We must mark the eth_dev_filter API as deprecated and decide about
>> a date to remove it.
>>
>> Which PMD is implementing this API and not rte_flow?
> 
> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
> I think it is just a mistake in documentation.
> 
> Flow API support tick is missing for many PMDs which actually implement
> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
> I've added maintainers to CC.

I think having both "Flow control" and "Flow API" is confusing, it looks to me
"Flow control" is name of the feature, "Flow API" is implementation detail and
other implementation detail is "Flow director"

>From the consumers point of view, to they need to know if the flow control
implemented using "Flow API"? This information looks like more driver internal.

Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
director", and set "Flow control" as support both with implementations makes
sense to me. What do you think?

> 
>> If there are still some, deadlines should help them to be converted :)
>> If some help is needed, please ask.
>>
>> Anyway, after more than 2 years of notice, I think it is fair to mark
>> the legacy API as deprecated in 19.05 release.
> 
> I agree. I think it is a good idea.
> 
> Andrew.

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-12 17:57   ` Ferruh Yigit
@ 2019-04-12 17:57     ` Ferruh Yigit
  2019-04-16  9:33     ` Andrew Rybchenko
  1 sibling, 0 replies; 12+ messages in thread
From: Ferruh Yigit @ 2019-04-12 17:57 UTC (permalink / raw)
  To: Andrew Rybchenko, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>> About the features called flow director, filtering or flow steering,
>> we have some overlap in our API that we should clean.
>> It is especially important when considering to freeze the API for stability.
>>
>> Please read this deprecation notice from December 2016:
>>
>> * ethdev: the legacy filter API, including
>>   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>   HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>   PMDs that implement the latter.
>>   Target release for removal of the legacy API will be defined once most
>>   PMDs have switched to rte_flow.
>>
>> We must mark the eth_dev_filter API as deprecated and decide about
>> a date to remove it.
>>
>> Which PMD is implementing this API and not rte_flow?
> 
> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
> I think it is just a mistake in documentation.
> 
> Flow API support tick is missing for many PMDs which actually implement
> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
> I've added maintainers to CC.

I think having both "Flow control" and "Flow API" is confusing, it looks to me
"Flow control" is name of the feature, "Flow API" is implementation detail and
other implementation detail is "Flow director"

From the consumers point of view, to they need to know if the flow control
implemented using "Flow API"? This information looks like more driver internal.

Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
director", and set "Flow control" as support both with implementations makes
sense to me. What do you think?

> 
>> If there are still some, deadlines should help them to be converted :)
>> If some help is needed, please ask.
>>
>> Anyway, after more than 2 years of notice, I think it is fair to mark
>> the legacy API as deprecated in 19.05 release.
> 
> I agree. I think it is a good idea.
> 
> Andrew.


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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-12 17:57   ` Ferruh Yigit
  2019-04-12 17:57     ` Ferruh Yigit
@ 2019-04-16  9:33     ` Andrew Rybchenko
  2019-04-16  9:33       ` Andrew Rybchenko
  2019-04-16  9:51       ` Ferruh Yigit
  1 sibling, 2 replies; 12+ messages in thread
From: Andrew Rybchenko @ 2019-04-16  9:33 UTC (permalink / raw)
  To: Ferruh Yigit, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/12/19 8:57 PM, Ferruh Yigit wrote:
> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>>> About the features called flow director, filtering or flow steering,
>>> we have some overlap in our API that we should clean.
>>> It is especially important when considering to freeze the API for stability.
>>>
>>> Please read this deprecation notice from December 2016:
>>>
>>> * ethdev: the legacy filter API, including
>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>>    PMDs that implement the latter.
>>>    Target release for removal of the legacy API will be defined once most
>>>    PMDs have switched to rte_flow.
>>>
>>> We must mark the eth_dev_filter API as deprecated and decide about
>>> a date to remove it.
>>>
>>> Which PMD is implementing this API and not rte_flow?
>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
>> I think it is just a mistake in documentation.
>>
>> Flow API support tick is missing for many PMDs which actually implement
>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
>> I've added maintainers to CC.
> I think having both "Flow control" and "Flow API" is confusing, it looks to me
> "Flow control" is name of the feature, "Flow API" is implementation detail and
> other implementation detail is "Flow director"
>
>  From the consumers point of view, to they need to know if the flow control
> implemented using "Flow API"? This information looks like more driver internal.

Flow control and flow API are absolutely different features.
Flow control is about Ethernet pauses etc.
Flow API is about filtering and actions.
Flow director is mainly filtering approach and I would agree to classify 
it as
implementation detail. I'd consider to move it under flow API umbrella
finally, but I don't know enough details on it.

> Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
> director", and set "Flow control" as support both with implementations makes
> sense to me. What do you think?
>
>>> If there are still some, deadlines should help them to be converted :)
>>> If some help is needed, please ask.
>>>
>>> Anyway, after more than 2 years of notice, I think it is fair to mark
>>> the legacy API as deprecated in 19.05 release.
>> I agree. I think it is a good idea.
>>
>> Andrew.

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-16  9:33     ` Andrew Rybchenko
@ 2019-04-16  9:33       ` Andrew Rybchenko
  2019-04-16  9:51       ` Ferruh Yigit
  1 sibling, 0 replies; 12+ messages in thread
From: Andrew Rybchenko @ 2019-04-16  9:33 UTC (permalink / raw)
  To: Ferruh Yigit, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/12/19 8:57 PM, Ferruh Yigit wrote:
> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>>> About the features called flow director, filtering or flow steering,
>>> we have some overlap in our API that we should clean.
>>> It is especially important when considering to freeze the API for stability.
>>>
>>> Please read this deprecation notice from December 2016:
>>>
>>> * ethdev: the legacy filter API, including
>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>>    PMDs that implement the latter.
>>>    Target release for removal of the legacy API will be defined once most
>>>    PMDs have switched to rte_flow.
>>>
>>> We must mark the eth_dev_filter API as deprecated and decide about
>>> a date to remove it.
>>>
>>> Which PMD is implementing this API and not rte_flow?
>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
>> I think it is just a mistake in documentation.
>>
>> Flow API support tick is missing for many PMDs which actually implement
>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
>> I've added maintainers to CC.
> I think having both "Flow control" and "Flow API" is confusing, it looks to me
> "Flow control" is name of the feature, "Flow API" is implementation detail and
> other implementation detail is "Flow director"
>
>  From the consumers point of view, to they need to know if the flow control
> implemented using "Flow API"? This information looks like more driver internal.

Flow control and flow API are absolutely different features.
Flow control is about Ethernet pauses etc.
Flow API is about filtering and actions.
Flow director is mainly filtering approach and I would agree to classify 
it as
implementation detail. I'd consider to move it under flow API umbrella
finally, but I don't know enough details on it.

> Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
> director", and set "Flow control" as support both with implementations makes
> sense to me. What do you think?
>
>>> If there are still some, deadlines should help them to be converted :)
>>> If some help is needed, please ask.
>>>
>>> Anyway, after more than 2 years of notice, I think it is fair to mark
>>> the legacy API as deprecated in 19.05 release.
>> I agree. I think it is a good idea.
>>
>> Andrew.


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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-16  9:33     ` Andrew Rybchenko
  2019-04-16  9:33       ` Andrew Rybchenko
@ 2019-04-16  9:51       ` Ferruh Yigit
  2019-04-16  9:51         ` Ferruh Yigit
  2019-04-16 10:10         ` Thomas Monjalon
  1 sibling, 2 replies; 12+ messages in thread
From: Ferruh Yigit @ 2019-04-16  9:51 UTC (permalink / raw)
  To: Andrew Rybchenko, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/16/2019 10:33 AM, Andrew Rybchenko wrote:
> On 4/12/19 8:57 PM, Ferruh Yigit wrote:
>> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
>>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>>>> About the features called flow director, filtering or flow steering,
>>>> we have some overlap in our API that we should clean.
>>>> It is especially important when considering to freeze the API for stability.
>>>>
>>>> Please read this deprecation notice from December 2016:
>>>>
>>>> * ethdev: the legacy filter API, including
>>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>>>    PMDs that implement the latter.
>>>>    Target release for removal of the legacy API will be defined once most
>>>>    PMDs have switched to rte_flow.
>>>>
>>>> We must mark the eth_dev_filter API as deprecated and decide about
>>>> a date to remove it.
>>>>
>>>> Which PMD is implementing this API and not rte_flow?
>>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
>>> I think it is just a mistake in documentation.
>>>
>>> Flow API support tick is missing for many PMDs which actually implement
>>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
>>> I've added maintainers to CC.
>> I think having both "Flow control" and "Flow API" is confusing, it looks to me
>> "Flow control" is name of the feature, "Flow API" is implementation detail and
>> other implementation detail is "Flow director"
>>
>>  From the consumers point of view, to they need to know if the flow control
>> implemented using "Flow API"? This information looks like more driver internal.
> 
> Flow control and flow API are absolutely different features.
> Flow control is about Ethernet pauses etc.

Yes they are, not sure what I was thinking, scratch what I said ...

> Flow API is about filtering and actions.
> Flow director is mainly filtering approach and I would agree to classify 
> it as
> implementation detail. I'd consider to move it under flow API umbrella
> finally, but I don't know enough details on it.

I was trying to say "flow api" is not target, target is "filtering" support,
"flow api" it method to have it, perhaps can merge "flow API" & "Flow director"
under "flow filtering" ...

> 
>> Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
>> director", and set "Flow control" as support both with implementations makes
>> sense to me. What do you think?
>>
>>>> If there are still some, deadlines should help them to be converted :)
>>>> If some help is needed, please ask.
>>>>
>>>> Anyway, after more than 2 years of notice, I think it is fair to mark
>>>> the legacy API as deprecated in 19.05 release.
>>> I agree. I think it is a good idea.
>>>
>>> Andrew.
> 

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-16  9:51       ` Ferruh Yigit
@ 2019-04-16  9:51         ` Ferruh Yigit
  2019-04-16 10:10         ` Thomas Monjalon
  1 sibling, 0 replies; 12+ messages in thread
From: Ferruh Yigit @ 2019-04-16  9:51 UTC (permalink / raw)
  To: Andrew Rybchenko, Thomas Monjalon
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

On 4/16/2019 10:33 AM, Andrew Rybchenko wrote:
> On 4/12/19 8:57 PM, Ferruh Yigit wrote:
>> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
>>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
>>>> About the features called flow director, filtering or flow steering,
>>>> we have some overlap in our API that we should clean.
>>>> It is especially important when considering to freeze the API for stability.
>>>>
>>>> Please read this deprecation notice from December 2016:
>>>>
>>>> * ethdev: the legacy filter API, including
>>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
>>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
>>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
>>>>    PMDs that implement the latter.
>>>>    Target release for removal of the legacy API will be defined once most
>>>>    PMDs have switched to rte_flow.
>>>>
>>>> We must mark the eth_dev_filter API as deprecated and decide about
>>>> a date to remove it.
>>>>
>>>> Which PMD is implementing this API and not rte_flow?
>>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
>>> I think it is just a mistake in documentation.
>>>
>>> Flow API support tick is missing for many PMDs which actually implement
>>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
>>> I've added maintainers to CC.
>> I think having both "Flow control" and "Flow API" is confusing, it looks to me
>> "Flow control" is name of the feature, "Flow API" is implementation detail and
>> other implementation detail is "Flow director"
>>
>>  From the consumers point of view, to they need to know if the flow control
>> implemented using "Flow API"? This information looks like more driver internal.
> 
> Flow control and flow API are absolutely different features.
> Flow control is about Ethernet pauses etc.

Yes they are, not sure what I was thinking, scratch what I said ...

> Flow API is about filtering and actions.
> Flow director is mainly filtering approach and I would agree to classify 
> it as
> implementation detail. I'd consider to move it under flow API umbrella
> finally, but I don't know enough details on it.

I was trying to say "flow api" is not target, target is "filtering" support,
"flow api" it method to have it, perhaps can merge "flow API" & "Flow director"
under "flow filtering" ...

> 
>> Keeping only "Flow control" in feature list, and remove "Flow API" & "Flow
>> director", and set "Flow control" as support both with implementations makes
>> sense to me. What do you think?
>>
>>>> If there are still some, deadlines should help them to be converted :)
>>>> If some help is needed, please ask.
>>>>
>>>> Anyway, after more than 2 years of notice, I think it is fair to mark
>>>> the legacy API as deprecated in 19.05 release.
>>> I agree. I think it is a good idea.
>>>
>>> Andrew.
> 


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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-16  9:51       ` Ferruh Yigit
  2019-04-16  9:51         ` Ferruh Yigit
@ 2019-04-16 10:10         ` Thomas Monjalon
  2019-04-16 10:10           ` Thomas Monjalon
  1 sibling, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2019-04-16 10:10 UTC (permalink / raw)
  To: Ferruh Yigit, Andrew Rybchenko
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

16/04/2019 11:51, Ferruh Yigit:
> On 4/16/2019 10:33 AM, Andrew Rybchenko wrote:
> > On 4/12/19 8:57 PM, Ferruh Yigit wrote:
> >> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
> >>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
> >>>> About the features called flow director, filtering or flow steering,
> >>>> we have some overlap in our API that we should clean.
> >>>> It is especially important when considering to freeze the API for stability.
> >>>>
> >>>> Please read this deprecation notice from December 2016:
> >>>>
> >>>> * ethdev: the legacy filter API, including
> >>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
> >>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
> >>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
> >>>>    PMDs that implement the latter.
> >>>>    Target release for removal of the legacy API will be defined once most
> >>>>    PMDs have switched to rte_flow.
> >>>>
> >>>> We must mark the eth_dev_filter API as deprecated and decide about
> >>>> a date to remove it.
> >>>>
> >>>> Which PMD is implementing this API and not rte_flow?
> >>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
> >>> I think it is just a mistake in documentation.
> >>>
> >>> Flow API support tick is missing for many PMDs which actually implement
> >>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
> >>> I've added maintainers to CC.
> 
> > Flow API is about filtering and actions.
> > Flow director is mainly filtering approach and I would agree to classify 
> > it as
> > implementation detail. I'd consider to move it under flow API umbrella
> > finally, but I don't know enough details on it.
> 
> I was trying to say "flow api" is not target, target is "filtering" support,
> "flow api" it method to have it, perhaps can merge "flow API" & "Flow director"
> under "flow filtering" ...

They are 2 different API for the same purpose.
The former is announced to be deprecated for more than 2 years.
I'll send a patch to mark it clearly as deprecated.

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

* Re: [dpdk-dev] ethdev flow director/filtering/steering API
  2019-04-16 10:10         ` Thomas Monjalon
@ 2019-04-16 10:10           ` Thomas Monjalon
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2019-04-16 10:10 UTC (permalink / raw)
  To: Ferruh Yigit, Andrew Rybchenko
  Cc: dev, Chas Williams, Hemant Agrawal, Shreyansh Jain, Wenzhuo Lu,
	Matan Azrad, Shahaf Shuler, Rasesh Mody, Shahed Shaikh,
	Tomasz Duszynski, Liron Himi, Alan Winkowski, Jasvinder Singh,
	Cristian Dumitrescu

16/04/2019 11:51, Ferruh Yigit:
> On 4/16/2019 10:33 AM, Andrew Rybchenko wrote:
> > On 4/12/19 8:57 PM, Ferruh Yigit wrote:
> >> On 4/11/2019 9:43 AM, Andrew Rybchenko wrote:
> >>> On 4/11/19 10:49 AM, Thomas Monjalon wrote:
> >>>> About the features called flow director, filtering or flow steering,
> >>>> we have some overlap in our API that we should clean.
> >>>> It is especially important when considering to freeze the API for stability.
> >>>>
> >>>> Please read this deprecation notice from December 2016:
> >>>>
> >>>> * ethdev: the legacy filter API, including
> >>>>    ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
> >>>>    as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
> >>>>    HASH and L2_TUNNEL, is superseded by the generic flow API (rte_flow) in
> >>>>    PMDs that implement the latter.
> >>>>    Target release for removal of the legacy API will be defined once most
> >>>>    PMDs have switched to rte_flow.
> >>>>
> >>>> We must mark the eth_dev_filter API as deprecated and decide about
> >>>> a date to remove it.
> >>>>
> >>>> Which PMD is implementing this API and not rte_flow?
> >>> In accordance with feature matrix is it i40e_vec, ixgbe_vec and qede, but
> >>> I think it is just a mistake in documentation.
> >>>
> >>> Flow API support tick is missing for many PMDs which actually implement
> >>> (as far as I can see): bonding, dppa2, e100, mlx4, qede, mvpp2, softnic.
> >>> I've added maintainers to CC.
> 
> > Flow API is about filtering and actions.
> > Flow director is mainly filtering approach and I would agree to classify 
> > it as
> > implementation detail. I'd consider to move it under flow API umbrella
> > finally, but I don't know enough details on it.
> 
> I was trying to say "flow api" is not target, target is "filtering" support,
> "flow api" it method to have it, perhaps can merge "flow API" & "Flow director"
> under "flow filtering" ...

They are 2 different API for the same purpose.
The former is announced to be deprecated for more than 2 years.
I'll send a patch to mark it clearly as deprecated.



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

end of thread, other threads:[~2019-04-16 10:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-11  7:49 [dpdk-dev] ethdev flow director/filtering/steering API Thomas Monjalon
2019-04-11  7:49 ` Thomas Monjalon
2019-04-11  8:43 ` Andrew Rybchenko
2019-04-11  8:43   ` Andrew Rybchenko
2019-04-12 17:57   ` Ferruh Yigit
2019-04-12 17:57     ` Ferruh Yigit
2019-04-16  9:33     ` Andrew Rybchenko
2019-04-16  9:33       ` Andrew Rybchenko
2019-04-16  9:51       ` Ferruh Yigit
2019-04-16  9:51         ` Ferruh Yigit
2019-04-16 10:10         ` Thomas Monjalon
2019-04-16 10:10           ` Thomas Monjalon

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