[dpdk-dev] [PATCH v5 0/3] add lpm support for NEON

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Mar 11 04:52:56 CET 2016


- 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

v4..v5
- Rebase the series based on Michal's "Increased number of next hops for LPM IPv4" patch
- Added the changes suggested by Thomas
--http://dpdk.org/dev/patchwork/patch/10478/
--http://dpdk.org/dev/patchwork/patch/10480/

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

 MAINTAINERS                                |   4 +
 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                   | 105 ++------------------
 lib/librte_lpm/rte_lpm_neon.h              | 153 +++++++++++++++++++++++++++++
 lib/librte_lpm/rte_lpm_sse.h               | 149 ++++++++++++++++++++++++++++
 9 files changed, 398 insertions(+), 113 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



More information about the dev mailing list