Hi Amber, Minor nit inline, rest looks good. <snipped>
> diff --git a/lib/dpif-netdev-avx512.c b/lib/dpif-netdev-avx512.c index > a36f4f312..1db20c1cf 100644 > --- a/lib/dpif-netdev-avx512.c > +++ b/lib/dpif-netdev-avx512.c > @@ -61,7 +61,7 @@ struct dpif_userdata { static inline int32_t > ALWAYS_INLINE dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd, > struct dp_packet_batch *packets, > - bool md_is_valid OVS_UNUSED, odp_port_t in_port) > + bool md_is_valid, odp_port_t in_port) > { > /* Allocate DPIF userdata. */ > if (OVS_UNLIKELY(!pmd->netdev_input_func_userdata)) { @@ -73,6 +73,7 > @@ dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd, > struct netdev_flow_key *keys = ud->keys; > struct netdev_flow_key **key_ptrs = ud->key_ptrs; > struct pkt_flow_meta *pkt_meta = ud->pkt_meta; > + const uint32_t recirc_depth = *recirc_depth_get(); > > /* The AVX512 DPIF implementation handles rules in a way that is > optimized > * for reducing data-movement between HWOL/EMC/SMC and DPCLS. This is > @@ -106,7 +107,8 @@ dp_netdev_input_avx512__(struct dp_netdev_pmd_thread > *pmd, > pkt_metadata_prefetch_init(&packet->md); > } > > - const bool simple_match_enabled = dp_netdev_simple_match_enabled(pmd, > + const bool simple_match_enabled = !md_is_valid && > + > + dp_netdev_simple_match_enabled(pmd, > > in_port); > /* Check if EMC or SMC are enabled. */ > struct dfc_cache *cache = &pmd->flow_cache; @@ -183,11 +185,14 @@ > dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd, > } > > /* Do a batch minfilow extract into keys. */ > + /* Do a batch minfilow extract into keys, but only for outer > + packets. */ Nit: minfilow -> miniflow , not your doing, but might as well fix it :). I think the alignment is also off for this comment. With the above fixed, I'm happy to ack, Acked-by: Sunil Pai G <sunil.pa...@intel.com> Thanks and regards Sunil <snipped> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev