On Fri, 17 Apr 2020 23:00:57 +0100
Ferruh Yigit <ferruh.yi...@intel.com> wrote:

> On 4/14/2020 9:32 AM, Dong Zhou wrote:
> > One of the reasons to destroy a flow is the fact that no packet matches the
> > flow for "timeout" time.
> > For example, when TCP\UDP sessions are suddenly closed.
> > 
> > Currently, there is not any DPDK mechanism for flow aging and the
> > applications use their own ways to detect and destroy aged-out flows.
> > 
> > The flow aging implementation need include:
> > - A new rte_flow action: RTE_FLOW_ACTION_TYPE_AGE to set the timeout and
> >   the application flow context for each flow.
> > - A new ethdev event: RTE_ETH_EVENT_FLOW_AGED for the driver to report
> >   that there are new aged-out flows.
> > - A new rte_flow API: rte_flow_get_aged_flows to get the aged-out flows
> >   contexts from the port.
> > - Support input flow aging command line in Testpmd.
> > 
> > Signed-off-by: Dong Zhou <do...@mellanox.com>  
> 
> <...>
> 
> > --- a/lib/librte_ethdev/rte_ethdev.h
> > +++ b/lib/librte_ethdev/rte_ethdev.h
> > @@ -3015,6 +3015,7 @@ enum rte_eth_event_type {
> >     RTE_ETH_EVENT_NEW,      /**< port is probed */
> >     RTE_ETH_EVENT_DESTROY,  /**< port is released */
> >     RTE_ETH_EVENT_IPSEC,    /**< IPsec offload related event */
> > +   RTE_ETH_EVENT_FLOW_AGED,/**< New aged-out flows is detected */
> >     RTE_ETH_EVENT_MAX       /**< max value of this enum */
> >  };  
> 
> 
> Just recognized that this is failing in ABI check [1], as far as last time 
> for a
> similar enum warning a QAT patch has been dropped, should this need to wait 
> for
> 20.11 too?
> 
> 
> [1]
>   [C]'function int _rte_eth_dev_callback_process(rte_eth_dev*,
> rte_eth_event_type, void*)' at rte_ethdev.c:4063:1 has some indirect sub-type
> changes:
>     parameter 2 of type 'enum rte_eth_event_type' has sub-type changes:
>       type size hasn't changed
>       1 enumerator insertion:
>         'rte_eth_event_type::RTE_ETH_EVENT_FLOW_AGED' value '10'
>       1 enumerator change:
>         'rte_eth_event_type::RTE_ETH_EVENT_MAX' from value '10' to '11' at
> rte_ethdev.h:3008:1
> 

For 20.11, those _MAX values need to be removed from enums

Reply via email to