On 2/7/2024 9:27 AM, Thomas Monjalon wrote: > 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? > >
No, I missed the comment, if it is simple I can apply in next-net, let me sync with Dariusz.