14/02/2024 15:32, Gregory Etelson: > +The resizable template table API enables applications to dynamically adjust > +capacity of template tables without disrupting the existing flow rules > +operation. The resizable template table API allows applications to optimize > the > +memory usage and performance of template tables according to the traffic > +conditions and requirements. > + > +A typical use case for the resizable template table API: > + > + #. Create a resizable table with the initial capacity. > + #. Change the table flow rules capacity. > + #. Update table flow objects. > + #. Complete the table resize. > + > +A resizable table can be either in normal or resizable state. > +When application begins to resize the table, its state is changed to > resizable. > +The table stays in resizable state until the application finishes resize > +procedure. > +The application can resize a table in the normal state only. > + > +The application needs to set the ``RTE_FLOW_TABLE_SPECIALIZE_RESIZABLE`` bit > in > +the table attributes when creating a template table that can be resized, > +and the bit cannot be set or cleared later. > + > +The application triggers the table resize by calling > +the ``rte_flow_template_table_resize()`` function. The resize process updates > +the table configuration to fit the new flow rules capacity. > +Table resize does not change existing flow objects configuration. > +The application can create new flow rules and modify or delete existing flow > +rules while the table is resizing, but the table performance might be > +slower than usual. > + > +Flow rules that existed before table resize are fully functional after > +table resize. However, the application must update flow objects to match > +the new table configuration. > +The application calls ``rte_flow_async_update_resized()`` to update flow > object > +for the new table configuration. > +All table flow rules must be updated. > + > +The application calls ``rte_flow_template_table_resize_complete()`` to > return a > +table to normal state after it completed flow objects update.
[...] > + * Update flow for the new template table configuration after table resize. > + * Must be called for each *rule* created before and after *table* resize. > + * Must be called before rte_flow_template_table_resize_complete(). That's a clear explanation. Acked-by: Thomas Monjalon <tho...@monjalon.net>