[ovs-dev] [PATCH] dpif-netdev: Fix zero length keys insertion to EMC.

Stokes, Ian ian.stokes at intel.com
Mon Jul 30 18:54:25 UTC 2018


> 'key.len' should be calculated before inserting to EMC, otherwise
> resulting entry will match with any packet with the same hash.
> 
> CC: Yipeng Wang <yipeng1.wang at intel.com>
> Fixes: 60d8ccae135f ("dpif-netdev: Add SMC cache after EMC cache")
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>

Thanks Ilya,

I'll apply this to dpdk merge, will be part of the next pull request.

Thanks
Ian

> ---
>  lib/dpif-netdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 13a20f0..0a833dc
> 100644
> --- a/lib/dpif-netdev.c
> +++ b/lib/dpif-netdev.c
> @@ -5810,9 +5810,9 @@ smc_lookup_batch(struct dp_netdev_pmd_thread *pmd,
>                  if (OVS_LIKELY(dpcls_rule_matches_key(&flow->cr,
> &keys[i]) &&
>                  flow->flow.in_port.odp_port == packet-
> >md.in_port.odp_port)) {
>                      /* SMC hit and emc miss, we insert into EMC */
> -                    emc_probabilistic_insert(pmd, &keys[i], flow);
>                      keys[i].len =
> 
> netdev_flow_key_size(miniflow_n_values(&keys[i].mf));
> +                    emc_probabilistic_insert(pmd, &keys[i], flow);
>                      dp_netdev_queue_batches(packet, flow,
>                      miniflow_get_tcp_flags(&keys[i].mf), batches,
> n_batches);
>                      n_smc_hit++;
> --
> 2.7.4



More information about the dev mailing list