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

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Jan 29 05:10:42 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

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



More information about the dev mailing list