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.