07/02/2024 01:57, Ferruh Yigit: > On 2/6/2024 10:21 PM, Thomas Monjalon wrote: > > 06/02/2024 18:36, Dariusz Sosnowski: > >> --- a/doc/guides/nics/build_and_test.rst > >> +++ b/doc/guides/nics/build_and_test.rst > >> +- ``RTE_FLOW_DEBUG`` (default **disabled**; enabled automatically on > >> debug builds) > >> + > >> + Build with debug code in asynchronous flow APIs. > >> + > >> .. Note:: > >> > >> - The ethdev library use above options to wrap debug code to trace > >> invalid parameters > >> + The ethdev library uses above options to wrap debug code to trace > >> invalid parameters > >> on data path APIs, so performance downgrade is expected when enabling > >> those options. > >> - Each PMD can decide to reuse them to wrap their own debug code in the > >> Rx/Tx path. > >> + Each PMD can decide to reuse them to wrap their own debug code in the > >> Rx/Tx path > >> + and in asynchronous flow APIs implementation. > > > > Good > > > >> --- a/doc/guides/rel_notes/release_24_03.rst > >> +++ b/doc/guides/rel_notes/release_24_03.rst > >> +* ethdev: PMDs implementing asynchronous flow operations are required to > >> provide relevant functions > >> + implementation through ``rte_flow_fp_ops`` struct, instead of > >> ``rte_flow_ops`` struct. > >> + Pointer to device-dependent ``rte_flow_fp_ops`` should be provided to > >> ``rte_eth_dev.flow_fp_ops``. > > > > That's a change only for the driver. > > If there is no change for the application, it should not appear in the > > release notes. > > BTW, API means Application Programming Interface :) > > > >> + This change applies to the following API functions: > >> + > >> + * ``rte_flow_async_create`` > >> + * ``rte_flow_async_create_by_index`` > >> + * ``rte_flow_async_actions_update`` > >> + * ``rte_flow_async_destroy`` > >> + * ``rte_flow_push`` > >> + * ``rte_flow_pull`` > >> + * ``rte_flow_async_action_handle_create`` > >> + * ``rte_flow_async_action_handle_destroy`` > >> + * ``rte_flow_async_action_handle_update`` > >> + * ``rte_flow_async_action_handle_query`` > >> + * ``rte_flow_async_action_handle_query_update`` > >> + * ``rte_flow_async_action_list_handle_create`` > >> + * ``rte_flow_async_action_list_handle_destroy`` > >> + * ``rte_flow_async_action_list_handle_query_update`` > >> + > >> +* ethdev: Removed the following fields from ``rte_flow_ops`` struct: > >> + > >> + * ``async_create`` > >> + * ``async_create_by_index`` > >> + * ``async_actions_update`` > >> + * ``async_destroy`` > >> + * ``push`` > >> + * ``pull`` > >> + * ``async_action_handle_create`` > >> + * ``async_action_handle_destroy`` > >> + * ``async_action_handle_update`` > >> + * ``async_action_handle_query`` > >> + * ``async_action_handle_query_update`` > >> + * ``async_action_list_handle_create`` > >> + * ``async_action_list_handle_destroy`` > >> + * ``async_action_list_handle_query_update`` > > > > [...] > >> --- a/lib/ethdev/ethdev_driver.h > >> +++ b/lib/ethdev/ethdev_driver.h > >> @@ -71,6 +71,10 @@ struct rte_eth_dev { > >> struct rte_eth_dev_data *data; > >> void *process_private; /**< Pointer to per-process device data */ > >> const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */ > >> + /** > >> + * Fast path flow API functions exported by PMD. > >> + */ > > > > This comment may be on one single line. > > > >> + const struct rte_flow_fp_ops *flow_fp_ops; > >> struct rte_device *device; /**< Backing device */ > >> struct rte_intr_handle *intr_handle; /**< Device interrupt handle */ > > > >> --- a/lib/ethdev/meson.build > >> +++ b/lib/ethdev/meson.build > >> +if get_option('buildtype').contains('debug') > >> + cflags += ['-DRTE_FLOW_DEBUG'] > >> +endif > > > > This looks OK. > > > > Acked-by: Thomas Monjalon <tho...@monjalon.net> > > > > > > Acked-by: Ferruh Yigit <ferruh.yi...@amd.com> > > Applied to dpdk-next-net/main, thanks.
Ferruh, I was expecting a new version. Did you address yourself the comments above?