On 2/7/2024 10:47 AM, Ferruh Yigit wrote: > 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. >
As we synced with Dariusz, there is no good place to document ethdev-drivers interfaces in the release notes. Also this release there were more ethdev-drivers interface changes, around get_ptype(), but those also not documented in the release notes, so will remove these ones too. But for further release notes, @Thomas, @John, what do you think to add a new section (or sub-section) for "internal interface" ?? (device abstraction - drivers) interface changes?