- This patch enables lpm for ARM - Used architecture agnostic xmm_t to represent 128 bit SIMD variable in rte_lpm_lookupx4 API definition - Tested on Juno and Thunderx boards - Tested and verified the changes with following DPDK unit test cases --lpm_autotest --lpm6_autotest v1..v2 - make rte_lpm_lookupx4 API definition architecture agnostic - vect_* abstraction scope reduce to only app/test as this abstraction used only to load/store and set vectors in test application which is the consumer of rte_lpm_lookupx4 like API - support for armv7 apart from armv8 - taken changes from Jianbo's lpm patches
v2..v3 - add Acked-by for 0001-lpm-make-rte_lpm_lookupx4-API-definition-architectur.patch - re-based to DPDK 2.2 -- fixed the conflict in config/defconfig_arm-armv7a-linuxapp-gcc and MAINTAINERS file v3..v4 -Instead of defaulting the lpm implementation to SSE, SSE implementation kept under RTE_ARCH_X86 conditional compilation check as suggested by Thomas Jerin Jacob (3): lpm: make rte_lpm_lookupx4 API definition architecture agnostic lpm: add support for NEON maintainers: claim responsibility for arm64 specific files of hash and lpm MAINTAINERS | 3 + app/test/test_lpm.c | 21 ++-- app/test/test_xmmt_ops.h | 67 +++++++++++++ config/defconfig_arm-armv7a-linuxapp-gcc | 3 - config/defconfig_arm64-armv8a-linuxapp-gcc | 3 - lib/librte_lpm/Makefile | 6 ++ lib/librte_lpm/rte_lpm.h | 99 ++----------------- lib/librte_lpm/rte_lpm_neon.h | 148 +++++++++++++++++++++++++++++ lib/librte_lpm/rte_lpm_sse.h | 143 ++++++++++++++++++++++++++++ 9 files changed, 386 insertions(+), 107 deletions(-) create mode 100644 app/test/test_xmmt_ops.h create mode 100644 lib/librte_lpm/rte_lpm_neon.h create mode 100644 lib/librte_lpm/rte_lpm_sse.h -- 2.1.0