numam-dpdk/app/test
Stephen Hemminger 2eccf6afbe bpf: add function to convert classic BPF to DPDK BPF
The pcap library emits classic BPF (32 bit) and is useful for
creating filter programs.  The DPDK BPF library only implements
extended BPF (eBPF).  Add an function to convert from old to
new.

The rte_bpf_convert function uses rte_malloc to put the resulting
program in hugepage shared memory so it can be passed from a
secondary process to a primary process.

The code to convert was originally done as part of the Linux
kernel implementation then converted to a userspace program.
See https://github.com/tklauser/filter2xdp

Both authors have agreed that it is allowable to create a modified
version of this code and license it with BSD license used by DPDK.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2021-10-22 17:19:13 +02:00
..
test_cfgfiles/etc test: move to app directory 2019-02-26 15:29:27 +01:00
commands.c test: take test names from command line 2021-04-14 15:14:56 +02:00
has-hugepage.sh test: remove meson dependency on /proc file 2020-04-15 15:45:24 +02:00
meson.build bpf: add function to convert classic BPF to DPDK BPF 2021-10-22 17:19:13 +02:00
packet_burst_generator.c net: rename Ethernet header fields 2021-10-08 14:58:11 +02:00
packet_burst_generator.h net: add rte prefix to UDP structure 2019-05-24 13:34:46 +02:00
process.h test: quieten warning noise while forking 2021-08-02 13:21:02 +02:00
resource.c test: move to app directory 2019-02-26 15:29:27 +01:00
resource.h use appropriate EAL macro for constructors 2019-03-27 23:10:57 +01:00
sample_packet_forward.c test: move to app directory 2019-02-26 15:29:27 +01:00
sample_packet_forward.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_acl.c acl: add 512-bit AVX512 classify method 2020-10-14 14:23:01 +02:00
test_acl.h test/acl: add 32-bit range test case 2020-02-13 14:43:56 +01:00
test_alarm.c test: remove strict timing requirements some tests 2021-06-03 18:08:57 +02:00
test_atomic.c test/atomic: fix 128-bit atomic test with many cores 2021-10-14 17:20:49 +02:00
test_barrier.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_bitmap.c test/bitmap: test scan after half cacheline is cleared 2021-01-17 22:37:28 +01:00
test_bitops.c test/bitops: add bit operations test case 2020-06-16 14:34:39 +02:00
test_bitratestats.c bitrate: add free function 2020-10-19 16:08:36 +02:00
test_bpf.c bpf: add function to convert classic BPF to DPDK BPF 2021-10-22 17:19:13 +02:00
test_byteorder.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_cfgfile.c test/cfgfile: replace license text with SPDX tag 2019-11-28 03:12:55 +01:00
test_cksum.c test/cksum: add L3/L4 checksum API test 2021-07-02 19:03:03 +02:00
test_cmdline_cirbuf.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_cmdline_etheraddr.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_ipaddr.c test/cmdline: fix inputs array 2021-04-21 00:40:52 +02:00
test_cmdline_lib.c tests/cmdline: fix memory leaks 2021-06-24 15:34:45 +02:00
test_cmdline_num.c test/cmdline: silence clang 12 warning 2021-04-21 00:44:24 +02:00
test_cmdline_portlist.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_string.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_cmdline.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_common.c eal: add macro to swap two variables 2021-09-27 18:33:45 +02:00
test_compressdev_test_buffer.h eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_compressdev.c test/compress: fix buffer overflow 2021-09-28 08:43:57 +02:00
test_cpuflags.c test/cpuflags: add new Arm flags 2020-10-13 17:57:52 +02:00
test_crc.c net: add CRC AVX512 implementation 2020-10-13 19:26:15 +02:00
test_cryptodev_aead_test_vectors.h test/crypto: add GMAC SGL 2020-10-14 22:22:06 +02:00
test_cryptodev_aes_test_vectors.h test/crypto: add multi-segment out-of-place AES-XTS 2021-07-20 22:27:00 +02:00
test_cryptodev_asym_util.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_asym.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_cryptodev_blockcipher.c test/crypto: fix minsize build 2021-09-15 17:12:29 +02:00
test_cryptodev_blockcipher.h cryptodev: extend data-unit length field 2021-10-16 16:24:43 +02:00
test_cryptodev_des_test_vectors.h test/crypto: do not check for PMD 2020-04-19 22:45:40 +02:00
test_cryptodev_dh_test_vectors.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_cryptodev_dsa_test_vectors.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_cryptodev_ecdsa_test_vectors.h test/crypto: add ECDSA sign/verify cases 2020-01-15 15:01:55 +01:00
test_cryptodev_ecpm_test_vectors.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_hash_test_vectors.h test/crypto: add AES-XCBC hash only test case 2021-01-19 18:05:45 +01:00
test_cryptodev_hmac_test_vectors.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_cryptodev_kasumi_hash_test_vectors.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_cryptodev_kasumi_test_vectors.h test/crypto: add KASUMI test cases for auth-cipher 2019-07-05 15:28:14 +02:00
test_cryptodev_mixed_test_vectors.h test/crypto: add mixed encypted-digest 2020-01-15 16:45:04 +01:00
test_cryptodev_mod_test_vectors.h test/crypto: check asymmetric crypto 2019-04-02 16:50:24 +02:00
test_cryptodev_rsa_test_vectors.h test/crypto: add RSA cases in QAT and openssl 2019-10-23 16:57:06 +02:00
test_cryptodev_security_docsis_test_vectors.h test/crypto: add DOCSIS security cases 2020-07-08 18:16:16 +02:00
test_cryptodev_security_ipsec_test_vectors.h test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_ipsec.c test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_ipsec.h test/crypto: add inner checksum cases 2021-10-08 21:40:16 +02:00
test_cryptodev_security_pdcp_sdap_test_vectors.h test/crypto: add test vectors for PDCP-SDAP 2020-10-14 22:24:41 +02:00
test_cryptodev_security_pdcp_test_func.h test/crypto: add PDCP U-Plane decap cases 2019-10-09 11:50:12 +02:00
test_cryptodev_security_pdcp_test_vectors.h test/crypto: support PDCP short MAC-I 2021-09-08 16:55:20 +02:00
test_cryptodev_security_pdcp.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_cryptodev_snow3g_hash_test_vectors.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_cryptodev_snow3g_test_vectors.h test/crypto: add scatter-gather tests for IP and OOP 2019-07-05 15:28:14 +02:00
test_cryptodev_zuc_test_vectors.h test/crypto: add ZUC cases with 256-bit keys 2021-10-08 21:31:07 +02:00
test_cryptodev.c test/crypto: add raw API support in 5G algos 2021-10-17 19:32:13 +02:00
test_cryptodev.h test/crypto: increase mbuf data payload size to 4K 2021-07-30 20:57:23 +02:00
test_cycles.c test: remove strict timing requirements some tests 2021-06-03 18:08:57 +02:00
test_debug.c ci: catch coredumps 2021-03-03 10:05:23 +01:00
test_devargs.c test: add devargs test cases 2021-10-21 11:32:44 +02:00
test_distributor_perf.c test/distributor: fix burst flush on worker quit 2021-05-05 18:21:26 +02:00
test_distributor.c test/distributor: fix return buffer queue overload 2021-01-29 08:48:45 +01:00
test_dmadev_api.c test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev_api.h test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev.c test/dma: check DMA info query 2021-10-21 22:06:45 +02:00
test_eal_flags.c eal/linux: allow hugetlbfs sub-directories 2021-10-12 21:07:46 +02:00
test_eal_fs.c test: remove hack for private header inclusion 2021-07-06 13:28:35 +02:00
test_efd_perf.c efd: allow more CPU sockets in table creation 2021-10-01 16:33:20 +02:00
test_efd.c efd: allow more CPU sockets in table creation 2021-10-01 16:33:20 +02:00
test_errno.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_ethdev_link.c ethdev: format link status text 2020-09-21 18:05:37 +02:00
test_event_crypto_adapter.c eventdev/crypto: add cryptodev start in adapter spec 2021-10-21 10:14:50 +02:00
test_event_eth_rx_adapter.c eventdev/eth_rx: add per-queue event buffer 2021-10-21 10:14:50 +02:00
test_event_eth_tx_adapter.c net: add macro to extract MAC address bytes 2021-09-07 19:08:05 +02:00
test_event_ring.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_event_timer_adapter.c test/event: fix result of unsupported periodic timer 2021-05-09 18:06:03 +02:00
test_eventdev.c event/cnxk: add SSO selftest and dump 2021-05-04 06:59:52 +02:00
test_external_mem.c test/mem: fix page size for external memory 2021-03-01 11:58:28 +01:00
test_fbarray.c eal: hide shared memory config 2019-07-06 10:32:34 +02:00
test_fib6_perf.c test/fib: add IPv6 performance autotests 2019-11-06 00:11:55 +01:00
test_fib6.c fib: remove maximum type enums 2020-10-28 21:23:11 +01:00
test_fib_perf.c test: fix build with gcc 10 2020-03-04 10:11:07 +01:00
test_fib.c fib: remove maximum type enums 2020-10-28 21:23:11 +01:00
test_flow_classify.c net: introduce IPv4 IHL and version fields 2021-10-14 23:00:45 +02:00
test_flow_classify.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_func_reentrancy.c test/func_reentrancy: free memzones after test 2021-09-16 17:17:34 +02:00
test_graph_perf.c test/graph: fix memory leaks in performance tests 2020-05-15 11:00:55 +02:00
test_graph.c test/graph: switch user data to dynamic mbuf field 2020-10-31 16:13:11 +01:00
test_hash_functions.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_hash_multiwriter.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash_perf.c hash: add bulk lookup with signatures array 2020-04-25 19:26:47 +02:00
test_hash_readwrite_lf_perf.c test/hash: add RCU tests 2020-10-24 11:11:46 +02:00
test_hash_readwrite.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash.c test/hash: fix buffer overflow with jhash 2021-10-21 09:42:40 +02:00
test_interrupts.c test/interrupt: account for race with callback 2019-09-13 17:00:19 +02:00
test_ipfrag.c test/ipfrag: add unit test case 2020-04-25 15:15:30 +02:00
test_ipsec_perf.c test/ipsec: add performance cases 2020-05-11 13:17:43 +02:00
test_ipsec_sad.c test/ipsec: add SAD autotests 2019-10-23 16:57:06 +02:00
test_ipsec.c test/crypto: remove illegal PMD header include 2021-09-08 09:11:19 +02:00
test_kni.c test/kni: check init result 2021-04-26 15:33:07 +02:00
test_kvargs.c kvargs: support multiple lists 2021-03-16 20:15:29 +01:00
test_latencystats.c test/latency: fix loop boundary 2021-10-05 17:29:42 +02:00
test_lcores.c eal: add lcore iterators 2020-07-08 14:41:06 +02:00
test_link_bonding_mode4.c ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
test_link_bonding_rssconf.c ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
test_link_bonding.c ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
test_logs.c test/log: check levels 2021-04-09 14:01:07 +02:00
test_lpm6_data.h app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_lpm6_perf.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_lpm6.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_lpm_perf.c test/lpm: avoid code duplication in RCU perf tests 2020-11-05 16:01:16 +01:00
test_lpm.c test: improve coverage on LPM tbl8 2021-01-14 16:41:40 +01:00
test_malloc.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_mbuf.c mbuf: fix reset on mbuf free 2021-10-21 11:18:54 +02:00
test_mcslock.c test/mcslock: use compiler atomics for lcores sync 2021-07-30 19:10:58 +02:00
test_member_perf.c test: fix global variable multiple definitions 2019-10-25 23:16:23 +02:00
test_member.c replace packed attributes 2020-04-16 18:16:46 +02:00
test_memcpy_perf.c build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
test_memcpy.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_memory.c test/mem: fix memory autotests on FreeBSD 2021-10-02 16:40:20 +02:00
test_mempool_perf.c test/mempool: use compiler atomics for lcores sync 2021-07-30 23:55:36 +02:00
test_mempool.c mempool: accept user flags only 2021-10-20 10:03:55 +02:00
test_memzone.c memzone: enforce valid flags when reserving 2021-10-15 10:29:21 +02:00
test_meter.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
test_metrics.c test: use common macro RTE_DIM 2019-10-27 14:40:55 +01:00
test_mp_secondary.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_pcapng.c test/pcapng: test pcapng library 2021-10-22 17:19:13 +02:00
test_pdump.c ethdev: make driver-only headers private 2021-01-29 20:59:09 +01:00
test_pdump.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_per_lcore.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_pflock.c pflock: add phase-fair reader writer locks 2021-04-14 21:59:47 +02:00
test_pmd_perf.c ethdev: fix max Rx packet length 2021-10-18 19:20:20 +02:00
test_pmd_ring_perf.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_pmd_ring.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_power_cpufreq.c test/power: fix CPU frequency check for intel_pstate 2021-07-20 17:24:07 +02:00
test_power_kvm_vm.c build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_power.c power: support cppc_cpufreq driver 2021-07-09 16:04:46 +02:00
test_prefetch.c test: fix build with GCC 11 2021-05-20 23:10:22 +02:00
test_rand_perf.c eal: introduce random generator with upper bound 2019-06-28 15:23:55 +02:00
test_rawdev.c test/raw: remove ioat-specific autotest 2020-10-06 09:26:28 +02:00
test_rcu_qsbr_perf.c test/rcu: use compiler atomics for data sync 2021-07-30 23:56:07 +02:00
test_rcu_qsbr.c test/rcu: fix build with low core count 2020-10-30 15:43:57 +01:00
test_reciprocal_division_perf.c test: fix division by zero 2021-05-19 09:23:00 +02:00
test_reciprocal_division.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_red.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_reorder.c reorder: switch sequence number to dynamic mbuf field 2020-10-31 22:14:30 +01:00
test_resource.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_rib6.c remove blank lines at end of file 2019-11-26 00:12:08 +01:00
test_rib.c test/rib: speed up rib autotests 2019-11-07 17:46:43 +01:00
test_ring_hts_stress.c test/ring: add contention stress test for HTS ring 2020-04-21 12:52:55 +02:00
test_ring_mpmc_stress.c test/ring: add contention stress test 2020-04-21 11:34:09 +02:00
test_ring_mt_peek_stress_zc.c test/ring: fix build for O1 optimization 2020-11-15 16:45:48 +01:00
test_ring_mt_peek_stress.c test/ring: rename stress test for MT peek API 2020-07-03 12:36:04 +02:00
test_ring_perf.c test/ring: reduce duration of performance tests 2021-01-29 11:37:01 +01:00
test_ring_rts_stress.c test/ring: add contention stress test for RTS ring 2020-04-21 12:52:55 +02:00
test_ring_st_peek_stress_zc.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_st_peek_stress.c test/ring: add stress test for ST peek API 2020-07-03 12:05:25 +02:00
test_ring_stress_impl.h test/ring: fix memory dump 2020-10-29 14:13:31 +01:00
test_ring_stress.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_stress.h test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring.c test/ring: remove unused code 2020-11-15 16:45:48 +01:00
test_ring.h test/ring: add functional tests for zero copy API 2020-10-29 14:13:31 +01:00
test_rwlock.c test/rwlock: use compiler atomics for lcores sync 2021-07-30 19:08:43 +02:00
test_sched.c test/sched: update subport rate dynamically 2020-10-15 02:14:21 +02:00
test_security.c security: update session create API 2020-10-19 09:54:54 +02:00
test_service_cores.c test/service: fix race in attr check 2021-10-12 21:07:30 +02:00
test_spinlock.c test/spinlock: use compile atomics for lcores sync 2021-07-30 19:06:35 +02:00
test_stack_perf.c stack: allow lock-free only on relevant architectures 2021-05-03 18:46:15 +02:00
test_stack.c stack: remove unneeded atomic header include 2021-10-19 17:15:10 +02:00
test_string_fns.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_table_acl.c net: replace IPv4/v6 constants with uppercase name 2019-06-03 16:54:54 +02:00
test_table_acl.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_table_combined.c remove extra blank lines at end of files 2019-08-05 15:19:32 +02:00
test_table_combined.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table_pipeline.c replace unused attributes 2020-04-16 18:30:58 +02:00
test_table_pipeline.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_table_ports.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_table_ports.h test: move to app directory 2019-02-26 15:29:27 +01:00
test_table_tables.c test/table: fix build with GCC 11 2021-05-18 10:52:45 +02:00
test_table_tables.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table.c build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_tailq.c remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
test_telemetry_data.c telemetry: support dict of dicts 2021-09-23 14:15:29 +02:00
test_telemetry_json.c test: remove hack for private header inclusion 2021-07-06 13:28:35 +02:00
test_thash.c hash: add predictable RSS 2021-04-20 23:13:23 +02:00
test_ticketlock.c test/ticketlock: use compiler atomics for lcores sync 2021-07-30 19:04:34 +02:00
test_timer_perf.c build/linux: rename macro from LINUXAPP to LINUX 2019-03-12 17:31:22 +01:00
test_timer_racecond.c test/timer: remove license boilerplate 2021-05-19 11:02:45 +02:00
test_timer_secondary.c test/timer: check memzone allocation 2021-05-12 16:52:20 +02:00
test_timer.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_trace_perf.c test/trace: fix race on collected perf data 2021-04-14 16:12:44 +02:00
test_trace_register.c trace: simplify trace point registration 2020-07-05 21:34:21 +02:00
test_trace.c trace: add size_t as generic trace point 2020-10-07 14:44:03 +02:00
test_trace.h test/trace: add functional test cases 2020-04-23 15:40:03 +02:00
test_version.c test: move to app directory 2019-02-26 15:29:27 +01:00
test_xmmt_ops.h config: remap flags used for Arm platforms 2020-10-13 16:35:48 +02:00
test.c test/crypto: build block-cipher suite dynamically 2021-05-12 16:17:07 +02:00
test.h test/crypto: add lookaside IPsec cases 2021-09-28 08:46:03 +02:00
virtual_pmd.c ethdev: make queue release callback optional 2021-10-06 19:16:03 +02:00
virtual_pmd.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00