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

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Dec 4 16:14:43 CET 2015


- This patch enabled 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

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