This patchset enables LPM, ACL and other few missing libs in ppc64le and also address few patches in related examples (ip_pipeline and l3fwd).
Test report: 1. LPM and ACL unit tests passed. Steps: compile test app and run (with any needed params) lpm_autotest acl_autotest 2. Example ip_pipeline application verified for port forwarding. compile examples/ip_pipeline (adjust app_init_core_map param for ht to 1 in case of ppc64le in SMT=off mode). modify config/l3fwd.cfg as per enabled PMD ports. run ip_pipeline with config file option and check packets fwd. v5 changes: - no change in lpm lib enablement - no change in acl lib enablement - config file changes individually for sched,table,port,pipeline lib enablement - ip_pipeline patch description and changes flagged only for ppc64le. app_init_core_map changes removed (due to bug found and under investigation only on ppc64le/smt=off case). v4 changes: - fix transition4 in acl_run_altivec.h for gcc strict-aliasing error. Thanks to Chao Zhu for bringing up. v3 changes: - rebase over master to fix conflict in examples/l3fwd/l3fwd_em.c v2 changes: - enabling libs in config included as part of lib changes itself. Gowrishankar Muthukrishnan (3): port: enable port library for ppc64le pipeline: enable pipeline library for ppc64le ip_pipeline: fix lcore mapping for varying SMT threads as in ppc64 gowrishankar (5): lpm: add altivec intrinsics for dpdk lpm on ppc_64 acl: add altivec intrinsics for dpdk acl on ppc_64 l3fwd: add altivec support for em_hash_key table: enable table library for ppc64le sched: enable sched library for ppc64le app/test-acl/main.c | 4 + app/test/test_xmmt_ops.h | 16 + config/defconfig_ppc_64-power8-linuxapp-gcc | 7 - examples/ip_pipeline/cpu_core_map.c | 8 + examples/l3fwd/l3fwd_em.c | 10 +- lib/librte_acl/Makefile | 2 + lib/librte_acl/acl.h | 4 + lib/librte_acl/acl_run.h | 2 + lib/librte_acl/acl_run_altivec.c | 47 +++ lib/librte_acl/acl_run_altivec.h | 329 +++++++++++++++++++++ lib/librte_acl/rte_acl.c | 13 + lib/librte_acl/rte_acl.h | 1 + .../common/include/arch/ppc_64/rte_vect.h | 60 ++++ lib/librte_lpm/Makefile | 2 + lib/librte_lpm/rte_lpm.h | 2 + lib/librte_lpm/rte_lpm_altivec.h | 154 ++++++++++ 16 files changed, 653 insertions(+), 8 deletions(-) create mode 100644 lib/librte_acl/acl_run_altivec.c create mode 100644 lib/librte_acl/acl_run_altivec.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_vect.h create mode 100644 lib/librte_lpm/rte_lpm_altivec.h -- 1.9.1