rte_flow_get_restore_info() API is under experimental attribute. Using it has a performance impact that can be avoided for non-experimental compilation.
Do not call it without experimental support. Reported-by: Cian Ferriter <[email protected]> Signed-off-by: Eli Britstein <[email protected]> Reviewed-by: Gaetan Rivet <[email protected]> --- lib/dpif-netdev.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 610949f36..1823bf565 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -114,7 +114,9 @@ COVERAGE_DEFINE(datapath_drop_invalid_port); COVERAGE_DEFINE(datapath_drop_invalid_bond); COVERAGE_DEFINE(datapath_drop_invalid_tnl_port); COVERAGE_DEFINE(datapath_drop_rx_invalid_packet); +#ifdef ALLOW_EXPERIMENTAL_API /* Packet restoration API required. */ COVERAGE_DEFINE(datapath_drop_hw_miss_recover); +#endif /* Protects against changes to 'dp_netdevs'. */ static struct ovs_mutex dp_netdev_mutex = OVS_MUTEX_INITIALIZER; @@ -6754,13 +6756,14 @@ static struct tx_port * pmd_send_port_cache_lookup( inline int dp_netdev_hw_flow(const struct dp_netdev_pmd_thread *pmd, - odp_port_t port_no, + odp_port_t port_no OVS_UNUSED, struct dp_packet *packet, struct dp_netdev_flow **flow) { - struct tx_port *p; + struct tx_port *p OVS_UNUSED; uint32_t mark; +#ifdef ALLOW_EXPERIMENTAL_API /* Packet restoration API required. */ /* Restore the packet if HW processing was terminated before completion. */ p = pmd_send_port_cache_lookup(pmd, port_no); if (OVS_LIKELY(p)) { @@ -6771,6 +6774,7 @@ dp_netdev_hw_flow(const struct dp_netdev_pmd_thread *pmd, return -1; } } +#endif /* If no mark, no flow to find. */ if (!dp_packet_has_flow_mark(packet, &mark)) { -- 2.28.0.2311.g225365fb51 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
