examples/l3fwd: fix exact match performance
authorTomasz Kulasek <tomaszx.kulasek@intel.com>
Fri, 18 Mar 2016 13:31:46 +0000 (14:31 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 21 Mar 2016 11:57:02 +0000 (12:57 +0100)
commit52c97adc1f0f30d2642cd158ed95142655fd4227
tree335d0d349061cd03b76a4c02fcdd99f6f6bda57a
parentfdefa0a9328d9cde51a882ff95ae4158c0413022
examples/l3fwd: fix exact match performance

It seems that for the most use cases, previous hash_multi_lookup provides
better performance, and more, sequential lookup can cause significant
performance drop.

This patch sets previously optional hash_multi_lookup method as default.
It also provides some minor optimizations such as queue drain only on used
tx ports.

Fixes: 94c54b4158d5 ("examples/l3fwd: rework exact-match")
Fixes: dc81ebbacaeb ("lpm: extend IPv4 next hop field")
Fixes: 64d3955de1de ("examples/l3fwd: fix ARM build")

Reported-by: Qian Xu <qian.q.xu@intel.com>
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
examples/l3fwd/l3fwd.h
examples/l3fwd/l3fwd_em.c
examples/l3fwd/l3fwd_em_hlm_sse.h
examples/l3fwd/l3fwd_em_sse.h
examples/l3fwd/l3fwd_lpm.c
examples/l3fwd/main.c