[PATCH v7] ethdev: add template table resize API

Etelson, Gregory getelson at nvidia.com
Thu Feb 15 06:41:16 CET 2024


Hello Ferruh,

<...>
>>>
>>> Syntax above is odd, why not move parenthesis to first line.
>>
>> Agree that's odd style.
>> DPDK prefers that way.
>> Please check rte_flow_driver.h::rte_flow.ops.
>>
>
> True that is also odd but at least it is function pointers in a struct,
> but this is regular function deceleration, why not:
> ```
> bool
> rte_flow_template_table_resizable(__rte_unused uint16_t port_id,
>         const struct rte_flow_template_table_attr *tbl_attr);
> ```
>

will change in the next patch update.

<...>
> Either it or application needs to manage it. Agree that application can
> call update() on all flows is easier for app, that is why I asked for
> this clarification.
>
> But still it is different than API definition making it mandatory to
> call for new flows.
>
> What about something like, although it is a little longer:
> ```
> Update flow for the new template table configuration after table resize.
>
> Should be called for rules created before table resize. If called for
> rules crated after table resize, API should return success, so
> application is free to call this API for all flows.
> ```
>
>

That's very good.
I'll use it in the next patch update.

<...>
>>
>> A different error is good.
>> What about EBUSY ?
>>
>
> I don't know, can be EBUSY or EAGAIN.
> Or we can overload EEXIST as there are existing not updated flows.
>

According to errno(3):
EAGAIN        Resource  temporarily  unavailable
EBUSY         Device or resource busy
EEXIST        File exists

UBUSY fits the context.


More information about the dev mailing list