On Fri, Nov 22, 2019 at 8:54 PM Andrew Rybchenko <arybche...@solarflare.com> wrote: > > On 11/22/19 2:15 PM, Thomas Monjalon wrote: > > 22/11/2019 11:12, Andrew Rybchenko: > >> On 11/22/19 1:01 AM, Thomas Monjalon wrote: > >>> 19/11/2019 13:12, Andrew Rybchenko: > >>>> The deprecation notice is required since it adds more requirements > >>>> when RTE flow mark and flag actions may be used and require > >>>> changes in applications. > >>> I am still not sure what is the best solution here. > >>> I continued to think about it in this thread: > >>> http://mails.dpdk.org/archives/dev/2019-November/151960.html > >>> > >>> I think we cannot require any application change until 20.11 > >>> in order to keep API (and behaviour) compatibility. > >> Expected, but still very disappointing. > >> > >> The feature is implemented by Pavan (@ Marvell), supported by me, > >> used by Qi (@ Intel), looks better than alternatives from application > >> developer point of view [1] and finally postponed for 1 year without really > >> strong motivation. > > I see different valuable point of views. This is enough motivation. > > It looks like I miss it in previous discussion, I would be thankful if > you give me links to read or hints how to find. > > > And no, it is not postponed by one year. > > Next release can implement a new API. > > > >> I disagree that it is tightly related to moving > >> mark/flag to > >> dynamic field/flag and absolutely blocked by it. Yes, I know that the are > >> concerns from the very beginning, but the problem is explained [2] and > >> clear > >> and no full-featured alternative solution is suggested. Solution suggested > >> by Ori has many significant drawbacks as explained in [2] and highlighted > >> in further discussion. > > I disagree with working only on mark action while there are a lot > > of other configs which have to be implemented in drivers. > > > > The reality is that some drivers decided to have some "optimizations" > > disabling some features, and you want the application to opt-in > > in order to allow your optimized paths. > > Strictly speaking it is not about driver optimized paths only, but HW > configuration as well which can be done on start-up only (not dynamic) and > could be per-queue in fact. > > > Note that opt-in is different of really enabling an offload. > > For some basic port-level features like RSS hash, > > it is enabled with an offload flag before starting the port, > > acting as an opt-in. > > Could you highlight the difference between opt-in and offload. > What is the key difference which makes one solution better > than another? Why different mechanism is required? > > > Some features have some dedicated API, which may be enabled after > > starting the port, and no way to opt-in (or opt-out) before start. > > It sounds like you have examples in your mind. Please, share. > > > A lot of features are using rte_flow API which is in this situation. > > If we take the opt-in path, let's not do it only for the mark action, > > but let's create a real API for it: > > rte_eth_dev_optin() > > rte_eth_dev_optinall() > > rte_eth_dev_optoutl() > > Introducing new types of controls would make configuration more and > more complex. I think that many different types of control would > over-complicate it. May be it is unavoidable, but it should be clear
I agree with Andrew here. Another thing to consider is the behavior of pre rte_eth_dev_opt*() API after reconfigure. Does application needs to call these API again after the reconfigure to bring back the old state prior to reconfiguring? > why the problem cannot be solved using existing types of controls > (e.g. offloads).