On 13 Jan 2026, at 23:08, Ilya Maximets wrote:
> On 1/12/26 12:20 PM, Eelco Chaudron wrote:
>> This patch moves the hardware packet miss recovery API from the
>> netdev-offload to the dpif-offload provider. The API name has been
>> changed from hw_miss_packet_recover() to hw_post_process()
>> to reflect that it may also be used for other tasks in the future,
>> such as conntrack post-processing.
>>
>> Acked-by: Eli Britstein <elibr.nvidia.com>
>> Signed-off-by: Eelco Chaudron <[email protected]>
>> ---
[...]
>> /* Protects against changes to 'dp_netdevs'. */
>> @@ -8423,14 +8423,18 @@ dp_netdev_hw_flow(const struct dp_netdev_pmd_thread
>> *pmd,
>> #ifdef ALLOW_EXPERIMENTAL_API /* Packet restoration API required. */
>> /* Restore the packet if HW processing was terminated before
>> completion. */
>> struct dp_netdev_rxq *rxq = pmd->ctx.last_rxq;
>> - bool miss_api_supported;
>> + bool post_process_api_supported;
>> +
>> +
>> atomic_read_relaxed(&rxq->port->netdev->hw_info.post_process_api_supported,
>> + &post_process_api_supported);
>> + if (post_process_api_supported) {
>> + int err = dpif_offload_netdev_hw_post_process(rxq->port->netdev,
>> + packet);
>>
>> - atomic_read_relaxed(&rxq->port->netdev->hw_info.miss_api_supported,
>> - &miss_api_supported);
>> - if (miss_api_supported) {
>> - int err = netdev_hw_miss_packet_recover(rxq->port->netdev, packet);
>> if (err && err != EOPNOTSUPP) {
>> - COVERAGE_INC(datapath_drop_hw_miss_recover);
>> + if (err != ECANCELED) {
>> + COVERAGE_INC(datapath_drop_hw_post_process);
>
> Should we have a separate counter for the ECANCELED case?
Good idea, will add a counter.
>> + }
>> return -1;
>> }
>> }
[...]
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev