mbox series

[RFC,00/14] Build file update proposals

Message ID 20210401115009.1063844-1-bruce.richardson@intel.com (mailing list archive)
Headers show
Series Build file update proposals | expand

Message

Bruce Richardson April 1, 2021, 11:49 a.m. UTC
This RFC contains 5 changes/updates to the DPDK build and build files. These
updates all assume that the minimum version for DPDK has increased to at least
meson 0.49 as proposed in [1].

The changes in this set are:
1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
   in the foreach loops when building library or driver components.
2. For libraries, drop support for header-only libraries, which was added just
   for the "compat" lib which had a single header, and is now part of EAL. This
   similarly reduces indentation levels and makes the code easier to follow
3. Since the larger blocks of meson code in our repo is seeing massive
   whitespace changes, take the opportunity to switch our indentation style for
   meson files from that of C-files using tabs, to Meson/Python style using
   spaces. [More below on this for discussion]
4. Remove the "librte_" prefix from all our library directories. While as useful
   cleanup, the main driver for this was that it simplifies the matching for #5
   below.
5. Add a "disable_libs" build option to allow the user to optionally not build
   certain components. Include in this an explicit list of libraries which are
   "known safe" to disable in the build. For now this is a short list of three
   libs, all of which are safe because they are not buildable on FreeBSD. More
   work is needed to expand this list in future.

Of these changes, I expect #3 to be most controversial. The initial
implementation of meson build for DPDK should have originally been done using
the correct meson style using spaces[2], but sadly it was not done that way. If
we are to ever change, I believe it should be now while other rework such as
this is being done. Here are the arguments for/against, as I see them.

Reasons to change:
* Align with official meson style, used on other projects
* Reduce indentation levels in code. NOTE: While not normally a consideration in
  programming, this is a possible issue with meson compared to C or Python,
  because we cannot create separate functions to move inner loops to lower
  indentation levels.
* It's probably now or never.

Reasons not to change:
* Outstanding patches for meson would need respin
* More work involved in backports - though with the more complicated meson
  blocks changing whitespace levels anyway due to #1 and #2 above, it's probably
  no more difficult than it would otherwise be. The extra changes to e.g. list
  indentation, require work to adjust whitespace, but are trivial to fix.
* Code churn

Feedback on these patches and proposed changes welcome, as always.

[1] http://patches.dpdk.org/project/dpdk/list/?series=15827
[2] https://mesonbuild.com/Style-guide.html#tabs-or-spaces

Bruce Richardson (14):
  editorconfig: add entry for meson files
  build: simplify library build file
  build: correct indentation in list of libs
  build: simplify the driver build configuration file
  build: clean up driver list indentation
  build: reduce indentation in app build spec
  build: reduce indentation in examples build spec
  build: change infrastructure file tabs to spaces
  lib: change meson file tabs to spaces
  drivers: change meson file tabs to spaces
  examples: change meson file tabs to spaces
  app: change meson file tabs to spaces
  lib: remove librte_ prefix from directory names
  lib: allow disabling optional libraries

 .editorconfig                                 |   5 +
 MAINTAINERS                                   | 212 ++---
 app/meson.build                               | 100 +--
 app/test-bbdev/meson.build                    |  12 +-
 app/test-compress-perf/meson.build            |  10 +-
 app/test-crypto-perf/meson.build              |  20 +-
 app/test-eventdev/meson.build                 |  24 +-
 app/test-flow-perf/meson.build                |   8 +-
 app/test-pipeline/meson.build                 |  18 +-
 app/test-pmd/meson.build                      |  60 +-
 app/test/meson.build                          | 812 +++++++++---------
 app/test/test_eal_fs.c                        |   2 +-
 app/test/test_memzone.c                       |   2 +-
 app/test/test_telemetry_json.c                |   2 +-
 buildtools/chkincs/meson.build                |  24 +-
 buildtools/meson.build                        |  34 +-
 buildtools/pkg-config/meson.build             |  34 +-
 config/arm/meson.build                        | 448 +++++-----
 config/meson.build                            | 278 +++---
 config/ppc/meson.build                        |   8 +-
 config/x86/meson.build                        |  64 +-
 devtools/build-tags.sh                        |  14 +-
 doc/api/doxy-api.conf.in                      | 104 +--
 doc/api/meson.build                           |  36 +-
 doc/guides/contributing/abi_versioning.rst    |  12 +-
 doc/guides/contributing/coding_style.rst      |   4 +-
 doc/guides/contributing/documentation.rst     |  10 +-
 doc/guides/meson.build                        |  24 +-
 doc/guides/prog_guide/event_timer_adapter.rst |   2 +-
 doc/guides/prog_guide/qos_framework.rst       |   4 +-
 doc/guides/prog_guide/rawdev.rst              |   2 +-
 doc/guides/rel_notes/known_issues.rst         |   2 +-
 doc/meson.build                               |   6 +-
 drivers/baseband/meson.build                  |   8 +-
 drivers/baseband/turbo_sw/meson.build         |  46 +-
 drivers/bus/dpaa/meson.build                  |  28 +-
 drivers/bus/fslmc/meson.build                 |  30 +-
 drivers/bus/ifpga/meson.build                 |   6 +-
 drivers/bus/meson.build                       |   7 +-
 drivers/bus/pci/meson.build                   |  24 +-
 drivers/bus/vdev/meson.build                  |   2 +-
 drivers/bus/vmbus/meson.build                 |  22 +-
 drivers/common/cpt/meson.build                |   2 +-
 drivers/common/dpaax/meson.build              |   8 +-
 drivers/common/meson.build                    |   9 +-
 drivers/common/mlx5/linux/meson.build         | 350 ++++----
 drivers/common/mlx5/meson.build               |  40 +-
 drivers/common/mlx5/windows/meson.build       |  30 +-
 drivers/common/mvep/meson.build               |   6 +-
 drivers/common/octeontx2/meson.build          |  18 +-
 drivers/common/qat/meson.build                |  60 +-
 drivers/common/sfc_efx/base/meson.build       | 142 +--
 drivers/common/sfc_efx/meson.build            |  24 +-
 drivers/compress/isal/meson.build             |   4 +-
 drivers/compress/meson.build                  |   7 +-
 drivers/compress/mlx5/meson.build             |  24 +-
 drivers/compress/zlib/meson.build             |   4 +-
 drivers/crypto/aesni_gcm/meson.build          |  22 +-
 drivers/crypto/aesni_mb/meson.build           |  22 +-
 drivers/crypto/armv8/meson.build              |   6 +-
 drivers/crypto/bcmfs/meson.build              |  26 +-
 drivers/crypto/caam_jr/meson.build            |  10 +-
 drivers/crypto/ccp/meson.build                |  16 +-
 drivers/crypto/dpaa2_sec/meson.build          |   6 +-
 drivers/crypto/dpaa_sec/meson.build           |   4 +-
 drivers/crypto/kasumi/meson.build             |  20 +-
 drivers/crypto/meson.build                    |  38 +-
 drivers/crypto/mvsam/meson.build              |   6 +-
 drivers/crypto/nitrox/meson.build             |  20 +-
 drivers/crypto/octeontx/meson.build           |  12 +-
 drivers/crypto/octeontx2/meson.build          |  16 +-
 drivers/crypto/openssl/meson.build            |   4 +-
 drivers/crypto/qat/meson.build                |  20 +-
 drivers/crypto/scheduler/meson.build          |  18 +-
 drivers/crypto/snow3g/meson.build             |  18 +-
 drivers/crypto/virtio/meson.build             |   4 +-
 drivers/crypto/zuc/meson.build                |  20 +-
 drivers/event/dlb/meson.build                 |  14 +-
 drivers/event/dlb2/meson.build                |  14 +-
 drivers/event/dpaa/meson.build                |   4 +-
 drivers/event/dpaa2/meson.build               |   8 +-
 drivers/event/dsw/meson.build                 |   2 +-
 drivers/event/meson.build                     |  17 +-
 drivers/event/octeontx/meson.build            |  12 +-
 drivers/event/octeontx2/meson.build           |  24 +-
 drivers/event/opdl/meson.build                |  10 +-
 drivers/event/sw/meson.build                  |   8 +-
 drivers/mempool/bucket/meson.build            |   4 +-
 drivers/mempool/dpaa/meson.build              |   4 +-
 drivers/mempool/dpaa2/meson.build             |   4 +-
 drivers/mempool/meson.build                   |   8 +-
 drivers/mempool/octeontx/meson.build          |   6 +-
 drivers/mempool/octeontx2/meson.build         |  20 +-
 drivers/mempool/stack/meson.build             |   4 +-
 drivers/meson.build                           | 394 +++++----
 drivers/net/af_packet/meson.build             |   4 +-
 drivers/net/af_xdp/meson.build                |  24 +-
 drivers/net/ark/meson.build                   |  24 +-
 drivers/net/atlantic/meson.build              |  22 +-
 drivers/net/avp/meson.build                   |   4 +-
 drivers/net/axgbe/meson.build                 |  16 +-
 drivers/net/bnx2x/meson.build                 |  18 +-
 drivers/net/bnxt/meson.build                  | 124 +--
 drivers/net/bonding/meson.build               |   8 +-
 drivers/net/cxgbe/meson.build                 |  30 +-
 drivers/net/dpaa/meson.build                  |  16 +-
 drivers/net/dpaa2/meson.build                 |  26 +-
 drivers/net/e1000/base/meson.build            |  50 +-
 drivers/net/e1000/meson.build                 |  20 +-
 drivers/net/ena/meson.build                   |  10 +-
 drivers/net/enetc/meson.build                 |   6 +-
 drivers/net/enic/meson.build                  |  46 +-
 drivers/net/failsafe/meson.build              |  24 +-
 drivers/net/fm10k/base/meson.build            |  28 +-
 drivers/net/fm10k/meson.build                 |  12 +-
 drivers/net/hinic/base/meson.build            |  26 +-
 drivers/net/hinic/meson.build                 |  16 +-
 drivers/net/hns3/meson.build                  |  46 +-
 drivers/net/i40e/base/meson.build             |  32 +-
 drivers/net/i40e/meson.build                  | 110 +--
 drivers/net/iavf/meson.build                  |  94 +-
 drivers/net/ice/base/meson.build              |  40 +-
 drivers/net/ice/meson.build                   | 100 +--
 drivers/net/igc/base/meson.build              |  20 +-
 drivers/net/igc/meson.build                   |  16 +-
 drivers/net/ionic/meson.build                 |  20 +-
 drivers/net/ipn3ke/meson.build                |  18 +-
 drivers/net/ixgbe/base/meson.build            |  42 +-
 drivers/net/ixgbe/meson.build                 |  32 +-
 drivers/net/kni/meson.build                   |   6 +-
 drivers/net/liquidio/meson.build              |  12 +-
 drivers/net/memif/meson.build                 |   6 +-
 drivers/net/meson.build                       | 102 +--
 drivers/net/mlx4/meson.build                  | 160 ++--
 drivers/net/mlx5/linux/meson.build            |  14 +-
 drivers/net/mlx5/meson.build                  |  78 +-
 drivers/net/mlx5/windows/meson.build          |  10 +-
 drivers/net/mvneta/meson.build                |  16 +-
 drivers/net/mvpp2/meson.build                 |  22 +-
 drivers/net/netvsc/meson.build                |   6 +-
 drivers/net/nfb/meson.build                   |   6 +-
 drivers/net/nfp/meson.build                   |  28 +-
 drivers/net/null/meson.build                  |   6 +-
 drivers/net/octeontx/base/meson.build         |  18 +-
 drivers/net/octeontx/meson.build              |  12 +-
 drivers/net/octeontx2/meson.build             |  62 +-
 drivers/net/pcap/meson.build                  |  10 +-
 drivers/net/pfe/meson.build                   |  12 +-
 drivers/net/qede/base/meson.build             |  78 +-
 drivers/net/qede/meson.build                  |  22 +-
 drivers/net/ring/meson.build                  |   6 +-
 drivers/net/sfc/meson.build                   |  64 +-
 drivers/net/softnic/meson.build               |  32 +-
 drivers/net/szedata2/meson.build              |   6 +-
 drivers/net/tap/meson.build                   |  42 +-
 drivers/net/thunderx/base/meson.build         |  10 +-
 drivers/net/thunderx/meson.build              |  14 +-
 drivers/net/txgbe/base/meson.build            |  26 +-
 drivers/net/txgbe/meson.build                 |  24 +-
 drivers/net/vdev_netvsc/meson.build           |   4 +-
 drivers/net/vhost/meson.build                 |   6 +-
 drivers/net/virtio/meson.build                |  78 +-
 drivers/net/vmxnet3/meson.build               |  12 +-
 drivers/raw/ifpga/base/meson.build            |  54 +-
 drivers/raw/ifpga/meson.build                 |   8 +-
 drivers/raw/ioat/meson.build                  |  18 +-
 drivers/raw/meson.build                       |  15 +-
 drivers/raw/ntb/meson.build                   |   2 +-
 drivers/raw/octeontx2_dma/meson.build         |   8 +-
 drivers/raw/octeontx2_ep/meson.build          |   6 +-
 drivers/regex/meson.build                     |   3 +-
 drivers/regex/mlx5/meson.build                |  32 +-
 drivers/regex/octeontx2/meson.build           |  22 +-
 drivers/vdpa/meson.build                      |   4 +-
 drivers/vdpa/mlx5/meson.build                 |  38 +-
 examples/bbdev_app/meson.build                |   2 +-
 examples/bond/meson.build                     |   2 +-
 examples/cmdline/meson.build                  |   2 +-
 examples/distributor/meson.build              |   4 +-
 examples/ethtool/meson.build                  |   8 +-
 examples/eventdev_pipeline/meson.build        |   6 +-
 examples/fips_validation/meson.build          |  22 +-
 examples/flow_classify/meson.build            |   2 +-
 examples/flow_filtering/meson.build           |   2 +-
 examples/helloworld/meson.build               |   2 +-
 examples/ioat/meson.build                     |   4 +-
 examples/ip_fragmentation/meson.build         |   2 +-
 examples/ip_pipeline/meson.build              |  30 +-
 examples/ip_reassembly/meson.build            |   2 +-
 examples/ipsec-secgw/meson.build              |  26 +-
 examples/ipv4_multicast/meson.build           |   2 +-
 examples/kni/meson.build                      |   4 +-
 examples/l2fwd-cat/meson.build                |   4 +-
 examples/l2fwd-crypto/meson.build             |   4 +-
 examples/l2fwd-event/meson.build              |  12 +-
 examples/l2fwd-jobstats/meson.build           |   2 +-
 examples/l2fwd-keepalive/meson.build          |   6 +-
 examples/l2fwd/meson.build                    |   2 +-
 examples/l3fwd-acl/meson.build                |   2 +-
 examples/l3fwd-graph/meson.build              |   2 +-
 examples/l3fwd-power/meson.build              |   2 +-
 examples/l3fwd/meson.build                    |   4 +-
 examples/link_status_interrupt/meson.build    |   2 +-
 examples/meson.build                          | 158 ++--
 .../client_server_mp/mp_client/meson.build    |   2 +-
 .../client_server_mp/mp_server/meson.build    |   2 +-
 examples/multi_process/hotplug_mp/meson.build |   2 +-
 examples/multi_process/simple_mp/meson.build  |   2 +-
 .../multi_process/symmetric_mp/meson.build    |   2 +-
 examples/ntb/meson.build                      |   8 +-
 examples/packet_ordering/meson.build          |   2 +-
 .../l3fwd-thread/meson.build                  |  20 +-
 .../pthread_shim/meson.build                  |  22 +-
 examples/pipeline/meson.build                 |  12 +-
 examples/ptpclient/meson.build                |   2 +-
 examples/qos_meter/meson.build                |   2 +-
 examples/qos_sched/meson.build                |   4 +-
 examples/rxtx_callbacks/meson.build           |   2 +-
 examples/service_cores/meson.build            |   2 +-
 examples/skeleton/meson.build                 |   2 +-
 examples/timer/meson.build                    |   2 +-
 examples/vdpa/meson.build                     |   6 +-
 examples/vhost/meson.build                    |  10 +-
 examples/vhost_blk/meson.build                |  10 +-
 examples/vhost_crypto/meson.build             |   4 +-
 .../vm_power_manager/guest_cli/meson.build    |   2 +-
 examples/vm_power_manager/meson.build         |  20 +-
 examples/vmdq/meson.build                     |   2 +-
 examples/vmdq_dcb/meson.build                 |   2 +-
 kernel/freebsd/meson.build                    |  32 +-
 kernel/linux/kni/meson.build                  |  40 +-
 kernel/linux/meson.build                      | 112 +--
 lib/{librte_acl => acl}/acl.h                 |   0
 lib/{librte_acl => acl}/acl_bld.c             |   0
 lib/{librte_acl => acl}/acl_gen.c             |   0
 lib/{librte_acl => acl}/acl_run.h             |   0
 lib/{librte_acl => acl}/acl_run_altivec.c     |   0
 lib/{librte_acl => acl}/acl_run_altivec.h     |   0
 lib/{librte_acl => acl}/acl_run_avx2.c        |   0
 lib/{librte_acl => acl}/acl_run_avx2.h        |   0
 lib/{librte_acl => acl}/acl_run_avx512.c      |   0
 .../acl_run_avx512_common.h                   |   0
 lib/{librte_acl => acl}/acl_run_avx512x16.h   |   0
 lib/{librte_acl => acl}/acl_run_avx512x8.h    |   0
 lib/{librte_acl => acl}/acl_run_neon.c        |   0
 lib/{librte_acl => acl}/acl_run_neon.h        |   0
 lib/{librte_acl => acl}/acl_run_scalar.c      |   0
 lib/{librte_acl => acl}/acl_run_sse.c         |   0
 lib/{librte_acl => acl}/acl_run_sse.h         |   0
 lib/{librte_acl => acl}/acl_vect.h            |   0
 lib/acl/meson.build                           |  83 ++
 lib/{librte_acl => acl}/rte_acl.c             |   0
 lib/{librte_acl => acl}/rte_acl.h             |   0
 lib/{librte_acl => acl}/rte_acl_osdep.h       |   0
 lib/{librte_acl => acl}/tb_mem.c              |   0
 lib/{librte_acl => acl}/tb_mem.h              |   0
 lib/{librte_acl => acl}/version.map           |   0
 lib/{librte_bbdev => bbdev}/meson.build       |   4 +-
 lib/{librte_bbdev => bbdev}/rte_bbdev.c       |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev.h       |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev_op.h    |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev_pmd.h   |   0
 lib/{librte_bbdev => bbdev}/version.map       |   0
 .../meson.build                               |   0
 .../rte_bitrate.c                             |   0
 .../rte_bitrate.h                             |   0
 .../version.map                               |   0
 lib/{librte_bpf => bpf}/bpf.c                 |   0
 lib/{librte_bpf => bpf}/bpf_def.h             |   0
 lib/{librte_bpf => bpf}/bpf_exec.c            |   0
 lib/{librte_bpf => bpf}/bpf_impl.h            |   0
 lib/{librte_bpf => bpf}/bpf_jit_arm64.c       |   0
 lib/{librte_bpf => bpf}/bpf_jit_x86.c         |   0
 lib/{librte_bpf => bpf}/bpf_load.c            |   0
 lib/{librte_bpf => bpf}/bpf_load_elf.c        |   0
 lib/{librte_bpf => bpf}/bpf_pkt.c             |   0
 lib/{librte_bpf => bpf}/bpf_validate.c        |   0
 lib/{librte_bpf => bpf}/meson.build           |  22 +-
 lib/{librte_bpf => bpf}/rte_bpf.h             |   0
 lib/{librte_bpf => bpf}/rte_bpf_ethdev.h      |   0
 lib/{librte_bpf => bpf}/version.map           |   0
 lib/{librte_cfgfile => cfgfile}/meson.build   |   0
 lib/{librte_cfgfile => cfgfile}/rte_cfgfile.c |   0
 lib/{librte_cfgfile => cfgfile}/rte_cfgfile.h |   0
 lib/{librte_cfgfile => cfgfile}/version.map   |   0
 lib/{librte_cmdline => cmdline}/cmdline.c     |   0
 lib/{librte_cmdline => cmdline}/cmdline.h     |   0
 .../cmdline_cirbuf.c                          |   0
 .../cmdline_cirbuf.h                          |   0
 .../cmdline_os_unix.c                         |   0
 .../cmdline_os_windows.c                      |   0
 .../cmdline_parse.c                           |   0
 .../cmdline_parse.h                           |   0
 .../cmdline_parse_etheraddr.c                 |   0
 .../cmdline_parse_etheraddr.h                 |   0
 .../cmdline_parse_ipaddr.c                    |   0
 .../cmdline_parse_ipaddr.h                    |   0
 .../cmdline_parse_num.c                       |   0
 .../cmdline_parse_num.h                       |   0
 .../cmdline_parse_portlist.c                  |   0
 .../cmdline_parse_portlist.h                  |   0
 .../cmdline_parse_string.c                    |   0
 .../cmdline_parse_string.h                    |   0
 .../cmdline_private.h                         |   0
 .../cmdline_rdline.c                          |   0
 .../cmdline_rdline.h                          |   0
 .../cmdline_socket.c                          |   0
 .../cmdline_socket.h                          |   0
 .../cmdline_vt100.c                           |   0
 .../cmdline_vt100.h                           |   0
 lib/cmdline/meson.build                       |  34 +
 lib/{librte_cmdline => cmdline}/version.map   |   0
 .../meson.build                               |  10 +-
 .../rte_comp.c                                |   0
 .../rte_comp.h                                |   0
 .../rte_compressdev.c                         |   0
 .../rte_compressdev.h                         |   0
 .../rte_compressdev_internal.h                |   0
 .../rte_compressdev_pmd.c                     |   0
 .../rte_compressdev_pmd.h                     |   0
 .../version.map                               |   0
 .../cryptodev_trace_points.c                  |   0
 .../meson.build                               |  12 +-
 .../rte_crypto.h                              |   0
 .../rte_crypto_asym.h                         |   0
 .../rte_crypto_sym.h                          |   0
 .../rte_cryptodev.c                           |   0
 .../rte_cryptodev.h                           |   0
 .../rte_cryptodev_pmd.c                       |   0
 .../rte_cryptodev_pmd.h                       |   0
 .../rte_cryptodev_trace.h                     |   0
 .../rte_cryptodev_trace_fp.h                  |   0
 .../version.map                               |   0
 .../distributor_private.h                     |   0
 .../meson.build                               |   4 +-
 .../rte_distributor.c                         |   0
 .../rte_distributor.h                         |   0
 .../rte_distributor_match_generic.c           |   0
 .../rte_distributor_match_sse.c               |   0
 .../rte_distributor_single.c                  |   0
 .../rte_distributor_single.h                  |   0
 .../version.map                               |   0
 lib/eal/arm/include/meson.build               |  33 +
 .../arm/include/rte_atomic.h                  |   0
 .../arm/include/rte_atomic_32.h               |   0
 .../arm/include/rte_atomic_64.h               |   0
 .../arm/include/rte_byteorder.h               |   0
 .../arm/include/rte_cpuflags.h                |   0
 .../arm/include/rte_cpuflags_32.h             |   0
 .../arm/include/rte_cpuflags_64.h             |   0
 .../arm/include/rte_cycles.h                  |   0
 .../arm/include/rte_cycles_32.h               |   0
 .../arm/include/rte_cycles_64.h               |   0
 lib/{librte_eal => eal}/arm/include/rte_io.h  |   0
 .../arm/include/rte_io_64.h                   |   0
 .../arm/include/rte_mcslock.h                 |   0
 .../arm/include/rte_memcpy.h                  |   0
 .../arm/include/rte_memcpy_32.h               |   0
 .../arm/include/rte_memcpy_64.h               |   0
 .../arm/include/rte_pause.h                   |   0
 .../arm/include/rte_pause_32.h                |   0
 .../arm/include/rte_pause_64.h                |   0
 .../arm/include/rte_power_intrinsics.h        |   0
 .../arm/include/rte_prefetch.h                |   0
 .../arm/include/rte_prefetch_32.h             |   0
 .../arm/include/rte_prefetch_64.h             |   0
 .../arm/include/rte_rwlock.h                  |   0
 .../arm/include/rte_spinlock.h                |   0
 .../arm/include/rte_ticketlock.h              |   0
 .../arm/include/rte_vect.h                    |   0
 lib/{librte_eal => eal}/arm/meson.build       |   8 +-
 lib/{librte_eal => eal}/arm/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/arm/rte_cycles.c      |   0
 lib/{librte_eal => eal}/arm/rte_hypervisor.c  |   0
 .../arm/rte_power_intrinsics.c                |   0
 .../common/eal_common_bus.c                   |   0
 .../common/eal_common_class.c                 |   0
 .../common/eal_common_config.c                |   0
 .../common/eal_common_cpuflags.c              |   0
 .../common/eal_common_debug.c                 |   0
 .../common/eal_common_dev.c                   |   0
 .../common/eal_common_devargs.c               |   0
 .../common/eal_common_dynmem.c                |   0
 .../common/eal_common_errno.c                 |   0
 .../common/eal_common_fbarray.c               |   0
 .../common/eal_common_hexdump.c               |   0
 .../common/eal_common_hypervisor.c            |   0
 .../common/eal_common_launch.c                |   0
 .../common/eal_common_lcore.c                 |   0
 .../common/eal_common_log.c                   |   0
 .../common/eal_common_mcfg.c                  |   0
 .../common/eal_common_memalloc.c              |   0
 .../common/eal_common_memory.c                |   0
 .../common/eal_common_memzone.c               |   0
 .../common/eal_common_options.c               |   0
 .../common/eal_common_proc.c                  |   0
 .../common/eal_common_string_fns.c            |   0
 .../common/eal_common_tailqs.c                |   0
 .../common/eal_common_thread.c                |   0
 .../common/eal_common_timer.c                 |   0
 .../common/eal_common_trace.c                 |   0
 .../common/eal_common_trace_ctf.c             |   0
 .../common/eal_common_trace_points.c          |   0
 .../common/eal_common_trace_utils.c           |   0
 .../common/eal_common_uuid.c                  |   0
 .../common/eal_filesystem.h                   |   0
 .../common/eal_hugepages.h                    |   0
 .../common/eal_internal_cfg.h                 |   0
 lib/{librte_eal => eal}/common/eal_memalloc.h |   0
 lib/{librte_eal => eal}/common/eal_memcfg.h   |   0
 lib/{librte_eal => eal}/common/eal_options.h  |   0
 lib/{librte_eal => eal}/common/eal_private.h  |   0
 lib/{librte_eal => eal}/common/eal_thread.h   |   0
 lib/{librte_eal => eal}/common/eal_trace.h    |   0
 lib/{librte_eal => eal}/common/hotplug_mp.c   |   0
 lib/{librte_eal => eal}/common/hotplug_mp.h   |   0
 lib/{librte_eal => eal}/common/malloc_elem.c  |   0
 lib/{librte_eal => eal}/common/malloc_elem.h  |   0
 lib/{librte_eal => eal}/common/malloc_heap.c  |   0
 lib/{librte_eal => eal}/common/malloc_heap.h  |   0
 lib/{librte_eal => eal}/common/malloc_mp.c    |   0
 lib/{librte_eal => eal}/common/malloc_mp.h    |   0
 lib/eal/common/meson.build                    |  88 ++
 .../common/rte_keepalive.c                    |   0
 lib/{librte_eal => eal}/common/rte_malloc.c   |   0
 lib/{librte_eal => eal}/common/rte_random.c   |   0
 .../common/rte_reciprocal.c                   |   0
 lib/{librte_eal => eal}/common/rte_service.c  |   0
 lib/{librte_eal => eal}/common/rte_version.c  |   0
 lib/{librte_eal => eal}/freebsd/eal.c         |   0
 lib/{librte_eal => eal}/freebsd/eal_alarm.c   |   0
 .../freebsd/eal_alarm_private.h               |   0
 .../freebsd/eal_cpuflags.c                    |   0
 lib/{librte_eal => eal}/freebsd/eal_debug.c   |   0
 lib/{librte_eal => eal}/freebsd/eal_dev.c     |   0
 .../freebsd/eal_hugepage_info.c               |   0
 .../freebsd/eal_interrupts.c                  |   0
 lib/{librte_eal => eal}/freebsd/eal_lcore.c   |   0
 .../freebsd/eal_memalloc.c                    |   0
 lib/{librte_eal => eal}/freebsd/eal_memory.c  |   0
 lib/{librte_eal => eal}/freebsd/eal_thread.c  |   0
 lib/{librte_eal => eal}/freebsd/eal_timer.c   |   0
 .../freebsd/include/meson.build               |   0
 .../freebsd/include/rte_os.h                  |   0
 lib/eal/freebsd/meson.build                   |  21 +
 .../include/generic/rte_atomic.h              |   0
 .../include/generic/rte_byteorder.h           |   0
 .../include/generic/rte_cpuflags.h            |   0
 .../include/generic/rte_cycles.h              |   0
 .../include/generic/rte_io.h                  |   0
 .../include/generic/rte_mcslock.h             |   0
 .../include/generic/rte_memcpy.h              |   0
 .../include/generic/rte_pause.h               |   0
 .../include/generic/rte_power_intrinsics.h    |   0
 .../include/generic/rte_prefetch.h            |   0
 .../include/generic/rte_rwlock.h              |   0
 .../include/generic/rte_spinlock.h            |   0
 .../include/generic/rte_ticketlock.h          |   0
 .../include/generic/rte_vect.h                |   0
 lib/eal/include/meson.build                   |  70 ++
 lib/{librte_eal => eal}/include/rte_alarm.h   |   0
 lib/{librte_eal => eal}/include/rte_bitmap.h  |   0
 lib/{librte_eal => eal}/include/rte_bitops.h  |   0
 .../include/rte_branch_prediction.h           |   0
 lib/{librte_eal => eal}/include/rte_bus.h     |   0
 lib/{librte_eal => eal}/include/rte_class.h   |   0
 lib/{librte_eal => eal}/include/rte_common.h  |   0
 lib/{librte_eal => eal}/include/rte_compat.h  |   0
 lib/{librte_eal => eal}/include/rte_debug.h   |   0
 lib/{librte_eal => eal}/include/rte_dev.h     |   0
 lib/{librte_eal => eal}/include/rte_devargs.h |   0
 lib/{librte_eal => eal}/include/rte_eal.h     |   0
 .../include/rte_eal_interrupts.h              |   0
 .../include/rte_eal_memconfig.h               |   0
 .../include/rte_eal_paging.h                  |   0
 .../include/rte_eal_trace.h                   |   0
 lib/{librte_eal => eal}/include/rte_errno.h   |   0
 lib/{librte_eal => eal}/include/rte_fbarray.h |   0
 .../include/rte_function_versioning.h         |   0
 lib/{librte_eal => eal}/include/rte_hexdump.h |   0
 .../include/rte_hypervisor.h                  |   0
 .../include/rte_interrupts.h                  |   0
 .../include/rte_keepalive.h                   |   0
 lib/{librte_eal => eal}/include/rte_launch.h  |   0
 lib/{librte_eal => eal}/include/rte_lcore.h   |   0
 lib/{librte_eal => eal}/include/rte_log.h     |   0
 lib/{librte_eal => eal}/include/rte_malloc.h  |   0
 lib/{librte_eal => eal}/include/rte_memory.h  |   0
 lib/{librte_eal => eal}/include/rte_memzone.h |   0
 .../include/rte_pci_dev_feature_defs.h        |   0
 .../include/rte_pci_dev_features.h            |   0
 .../include/rte_per_lcore.h                   |   0
 lib/{librte_eal => eal}/include/rte_random.h  |   0
 .../include/rte_reciprocal.h                  |   0
 lib/{librte_eal => eal}/include/rte_service.h |   0
 .../include/rte_service_component.h           |   0
 .../include/rte_string_fns.h                  |   0
 lib/{librte_eal => eal}/include/rte_tailq.h   |   0
 lib/{librte_eal => eal}/include/rte_test.h    |   0
 lib/{librte_eal => eal}/include/rte_thread.h  |   0
 lib/{librte_eal => eal}/include/rte_time.h    |   0
 lib/{librte_eal => eal}/include/rte_trace.h   |   0
 .../include/rte_trace_point.h                 |   0
 .../include/rte_trace_point_register.h        |   0
 lib/{librte_eal => eal}/include/rte_uuid.h    |   0
 lib/{librte_eal => eal}/include/rte_version.h |   0
 lib/{librte_eal => eal}/include/rte_vfio.h    |   0
 lib/{librte_eal => eal}/linux/eal.c           |   0
 lib/{librte_eal => eal}/linux/eal_alarm.c     |   0
 lib/{librte_eal => eal}/linux/eal_cpuflags.c  |   0
 lib/{librte_eal => eal}/linux/eal_debug.c     |   0
 lib/{librte_eal => eal}/linux/eal_dev.c       |   0
 .../linux/eal_hugepage_info.c                 |   0
 .../linux/eal_interrupts.c                    |   0
 lib/{librte_eal => eal}/linux/eal_lcore.c     |   0
 lib/{librte_eal => eal}/linux/eal_log.c       |   0
 lib/{librte_eal => eal}/linux/eal_memalloc.c  |   0
 lib/{librte_eal => eal}/linux/eal_memory.c    |   0
 lib/{librte_eal => eal}/linux/eal_thread.c    |   0
 lib/{librte_eal => eal}/linux/eal_timer.c     |   0
 lib/{librte_eal => eal}/linux/eal_vfio.c      |   0
 lib/{librte_eal => eal}/linux/eal_vfio.h      |   0
 .../linux/eal_vfio_mp_sync.c                  |   0
 .../linux/include/meson.build                 |   0
 .../linux/include/rte_os.h                    |   0
 lib/eal/linux/meson.build                     |  27 +
 lib/{librte_eal => eal}/meson.build           |   8 +-
 lib/eal/ppc/include/meson.build               |  21 +
 .../ppc/include/rte_altivec.h                 |   0
 .../ppc/include/rte_atomic.h                  |   0
 .../ppc/include/rte_byteorder.h               |   0
 .../ppc/include/rte_cpuflags.h                |   0
 .../ppc/include/rte_cycles.h                  |   0
 lib/{librte_eal => eal}/ppc/include/rte_io.h  |   0
 .../ppc/include/rte_mcslock.h                 |   0
 .../ppc/include/rte_memcpy.h                  |   0
 .../ppc/include/rte_pause.h                   |   0
 .../ppc/include/rte_power_intrinsics.h        |   0
 .../ppc/include/rte_prefetch.h                |   0
 .../ppc/include/rte_rwlock.h                  |   0
 .../ppc/include/rte_spinlock.h                |   0
 .../ppc/include/rte_ticketlock.h              |   0
 .../ppc/include/rte_vect.h                    |   0
 lib/{librte_eal => eal}/ppc/meson.build       |   8 +-
 lib/{librte_eal => eal}/ppc/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/ppc/rte_cycles.c      |   0
 lib/{librte_eal => eal}/ppc/rte_hypervisor.c  |   0
 .../ppc/rte_power_intrinsics.c                |   0
 lib/{librte_eal => eal}/rte_eal_exports.def   |   0
 lib/{librte_eal => eal}/unix/eal_file.c       |   0
 .../unix/eal_unix_memory.c                    |   0
 lib/{librte_eal => eal}/unix/eal_unix_timer.c |   0
 lib/{librte_eal => eal}/unix/meson.build      |   8 +-
 lib/{librte_eal => eal}/unix/rte_thread.c     |   0
 lib/{librte_eal => eal}/version.map           |   0
 lib/{librte_eal => eal}/windows/eal.c         |   0
 lib/{librte_eal => eal}/windows/eal_alarm.c   |   0
 lib/{librte_eal => eal}/windows/eal_debug.c   |   0
 lib/{librte_eal => eal}/windows/eal_file.c    |   0
 .../windows/eal_hugepages.c                   |   0
 .../windows/eal_interrupts.c                  |   0
 lib/{librte_eal => eal}/windows/eal_lcore.c   |   0
 lib/{librte_eal => eal}/windows/eal_log.c     |   0
 .../windows/eal_memalloc.c                    |   0
 lib/{librte_eal => eal}/windows/eal_memory.c  |   0
 lib/{librte_eal => eal}/windows/eal_mp.c      |   0
 lib/{librte_eal => eal}/windows/eal_thread.c  |   0
 lib/{librte_eal => eal}/windows/eal_timer.c   |   0
 lib/{librte_eal => eal}/windows/eal_windows.h |   0
 lib/{librte_eal => eal}/windows/fnmatch.c     |   0
 lib/{librte_eal => eal}/windows/getopt.c      |   0
 .../windows/include/arpa/inet.h               |   0
 .../windows/include/dirent.h                  |   0
 .../windows/include/fnmatch.h                 |   0
 .../windows/include/getopt.h                  |   0
 .../windows/include/meson.build               |   0
 .../windows/include/netinet/in.h              |   0
 .../windows/include/netinet/ip.h              |   0
 .../windows/include/pthread.h                 |   0
 .../windows/include/regex.h                   |   0
 .../windows/include/rte_os.h                  |   0
 .../windows/include/rte_virt2phys.h           |   0
 .../windows/include/rte_windows.h             |   0
 .../windows/include/sched.h                   |   0
 .../windows/include/sys/queue.h               |   0
 .../windows/include/sys/socket.h              |   0
 .../windows/include/unistd.h                  |   0
 lib/eal/windows/meson.build                   |  25 +
 lib/{librte_eal => eal}/windows/rte_thread.c  |   0
 lib/eal/x86/include/meson.build               |  29 +
 .../x86/include/rte_atomic.h                  |   0
 .../x86/include/rte_atomic_32.h               |   0
 .../x86/include/rte_atomic_64.h               |   0
 .../x86/include/rte_byteorder.h               |   0
 .../x86/include/rte_byteorder_32.h            |   0
 .../x86/include/rte_byteorder_64.h            |   0
 .../x86/include/rte_cpuflags.h                |   0
 .../x86/include/rte_cycles.h                  |   0
 lib/{librte_eal => eal}/x86/include/rte_io.h  |   0
 .../x86/include/rte_mcslock.h                 |   0
 .../x86/include/rte_memcpy.h                  |   0
 .../x86/include/rte_pause.h                   |   0
 .../x86/include/rte_power_intrinsics.h        |   0
 .../x86/include/rte_prefetch.h                |   0
 lib/{librte_eal => eal}/x86/include/rte_rtm.h |   0
 .../x86/include/rte_rwlock.h                  |   0
 .../x86/include/rte_spinlock.h                |   0
 .../x86/include/rte_ticketlock.h              |   0
 .../x86/include/rte_vect.h                    |   0
 lib/{librte_eal => eal}/x86/meson.build       |  10 +-
 lib/{librte_eal => eal}/x86/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/x86/rte_cpuid.h       |   0
 lib/{librte_eal => eal}/x86/rte_cycles.c      |   0
 lib/{librte_eal => eal}/x86/rte_hypervisor.c  |   0
 .../x86/rte_power_intrinsics.c                |   0
 lib/{librte_eal => eal}/x86/rte_spinlock.c    |   0
 lib/{librte_efd => efd}/meson.build           |   0
 lib/{librte_efd => efd}/rte_efd.c             |   0
 lib/{librte_efd => efd}/rte_efd.h             |   0
 lib/{librte_efd => efd}/rte_efd_arm64.h       |   0
 lib/{librte_efd => efd}/rte_efd_x86.h         |   0
 lib/{librte_efd => efd}/version.map           |   0
 lib/{librte_ethdev => ethdev}/ethdev_driver.h |   0
 lib/{librte_ethdev => ethdev}/ethdev_pci.h    |   0
 .../ethdev_private.c                          |   0
 .../ethdev_private.h                          |   0
 .../ethdev_profile.c                          |   0
 .../ethdev_profile.h                          |   0
 .../ethdev_trace_points.c                     |   0
 lib/{librte_ethdev => ethdev}/ethdev_vdev.h   |   0
 lib/ethdev/meson.build                        |  27 +
 lib/{librte_ethdev => ethdev}/rte_class_eth.c |   0
 lib/{librte_ethdev => ethdev}/rte_dev_info.h  |   0
 lib/{librte_ethdev => ethdev}/rte_eth_ctrl.h  |   0
 lib/{librte_ethdev => ethdev}/rte_ethdev.c    |   0
 lib/{librte_ethdev => ethdev}/rte_ethdev.h    |   0
 .../rte_ethdev_core.h                         |   0
 .../rte_ethdev_trace.h                        |   0
 .../rte_ethdev_trace_fp.h                     |   0
 lib/{librte_ethdev => ethdev}/rte_flow.c      |   0
 lib/{librte_ethdev => ethdev}/rte_flow.h      |   0
 .../rte_flow_driver.h                         |   0
 lib/{librte_ethdev => ethdev}/rte_mtr.c       |   0
 lib/{librte_ethdev => ethdev}/rte_mtr.h       |   0
 .../rte_mtr_driver.h                          |   0
 lib/{librte_ethdev => ethdev}/rte_tm.c        |   0
 lib/{librte_ethdev => ethdev}/rte_tm.h        |   0
 lib/{librte_ethdev => ethdev}/rte_tm_driver.h |   0
 lib/{librte_ethdev => ethdev}/version.map     |   0
 .../eventdev_pmd.h                            |   0
 .../eventdev_pmd_pci.h                        |   0
 .../eventdev_pmd_vdev.h                       |   0
 .../eventdev_trace_points.c                   |   0
 lib/eventdev/meson.build                      |  27 +
 .../rte_event_crypto_adapter.c                |   0
 .../rte_event_crypto_adapter.h                |   0
 .../rte_event_eth_rx_adapter.c                |   0
 .../rte_event_eth_rx_adapter.h                |   0
 .../rte_event_eth_tx_adapter.c                |   0
 .../rte_event_eth_tx_adapter.h                |   0
 .../rte_event_ring.c                          |   0
 .../rte_event_ring.h                          |   0
 .../rte_event_timer_adapter.c                 |   0
 .../rte_event_timer_adapter.h                 |   0
 .../rte_event_timer_adapter_pmd.h             |   0
 .../rte_eventdev.c                            |   0
 .../rte_eventdev.h                            |   0
 .../rte_eventdev_trace.h                      |   0
 .../rte_eventdev_trace_fp.h                   |   0
 lib/{librte_eventdev => eventdev}/version.map |   0
 lib/{librte_fib => fib}/dir24_8.c             |   0
 lib/{librte_fib => fib}/dir24_8.h             |   0
 lib/{librte_fib => fib}/dir24_8_avx512.c      |   0
 lib/{librte_fib => fib}/dir24_8_avx512.h      |   0
 lib/fib/meson.build                           |  58 ++
 lib/{librte_fib => fib}/rte_fib.c             |   0
 lib/{librte_fib => fib}/rte_fib.h             |   0
 lib/{librte_fib => fib}/rte_fib6.c            |   0
 lib/{librte_fib => fib}/rte_fib6.h            |   0
 lib/{librte_fib => fib}/trie.c                |   0
 lib/{librte_fib => fib}/trie.h                |   0
 lib/{librte_fib => fib}/trie_avx512.c         |   0
 lib/{librte_fib => fib}/trie_avx512.h         |   0
 lib/{librte_fib => fib}/version.map           |   0
 .../meson.build                               |   0
 .../rte_flow_classify.c                       |   0
 .../rte_flow_classify.h                       |   0
 .../rte_flow_classify_parse.c                 |   0
 .../rte_flow_classify_parse.h                 |   0
 .../version.map                               |   0
 lib/{librte_graph => graph}/graph.c           |   0
 lib/{librte_graph => graph}/graph_debug.c     |   0
 lib/{librte_graph => graph}/graph_ops.c       |   0
 lib/{librte_graph => graph}/graph_populate.c  |   0
 lib/{librte_graph => graph}/graph_private.h   |   0
 lib/{librte_graph => graph}/graph_stats.c     |   0
 lib/{librte_graph => graph}/meson.build       |   0
 lib/{librte_graph => graph}/node.c            |   0
 lib/{librte_graph => graph}/rte_graph.h       |   0
 .../rte_graph_worker.h                        |   0
 lib/{librte_graph => graph}/version.map       |   0
 lib/{librte_gro => gro}/gro_tcp4.c            |   0
 lib/{librte_gro => gro}/gro_tcp4.h            |   0
 lib/{librte_gro => gro}/gro_udp4.c            |   0
 lib/{librte_gro => gro}/gro_udp4.h            |   0
 lib/{librte_gro => gro}/gro_vxlan_tcp4.c      |   0
 lib/{librte_gro => gro}/gro_vxlan_tcp4.h      |   0
 lib/{librte_gro => gro}/gro_vxlan_udp4.c      |   0
 lib/{librte_gro => gro}/gro_vxlan_udp4.h      |   0
 lib/{librte_gro => gro}/meson.build           |   0
 lib/{librte_gro => gro}/rte_gro.c             |   0
 lib/{librte_gro => gro}/rte_gro.h             |   0
 lib/{librte_gro => gro}/version.map           |   0
 lib/{librte_gso => gso}/gso_common.c          |   0
 lib/{librte_gso => gso}/gso_common.h          |   0
 lib/{librte_gso => gso}/gso_tcp4.c            |   0
 lib/{librte_gso => gso}/gso_tcp4.h            |   0
 lib/{librte_gso => gso}/gso_tunnel_tcp4.c     |   0
 lib/{librte_gso => gso}/gso_tunnel_tcp4.h     |   0
 lib/{librte_gso => gso}/gso_tunnel_udp4.c     |   0
 lib/{librte_gso => gso}/gso_tunnel_udp4.h     |   0
 lib/{librte_gso => gso}/gso_udp4.c            |   0
 lib/{librte_gso => gso}/gso_udp4.h            |   0
 lib/{librte_gso => gso}/meson.build           |   2 +-
 lib/{librte_gso => gso}/rte_gso.c             |   0
 lib/{librte_gso => gso}/rte_gso.h             |   0
 lib/{librte_gso => gso}/version.map           |   0
 lib/{librte_hash => hash}/meson.build         |   8 +-
 lib/{librte_hash => hash}/rte_cmp_arm64.h     |   0
 lib/{librte_hash => hash}/rte_cmp_x86.h       |   0
 lib/{librte_hash => hash}/rte_crc_arm64.h     |   0
 lib/{librte_hash => hash}/rte_cuckoo_hash.c   |   0
 lib/{librte_hash => hash}/rte_cuckoo_hash.h   |   0
 lib/{librte_hash => hash}/rte_fbk_hash.c      |   0
 lib/{librte_hash => hash}/rte_fbk_hash.h      |   0
 lib/{librte_hash => hash}/rte_hash.h          |   0
 lib/{librte_hash => hash}/rte_hash_crc.h      |   0
 lib/{librte_hash => hash}/rte_jhash.h         |   0
 lib/{librte_hash => hash}/rte_thash.h         |   0
 lib/{librte_hash => hash}/version.map         |   0
 .../ip_frag_common.h                          |   0
 .../ip_frag_internal.c                        |   0
 lib/{librte_ip_frag => ip_frag}/meson.build   |  10 +-
 lib/{librte_ip_frag => ip_frag}/rte_ip_frag.h |   0
 .../rte_ip_frag_common.c                      |   0
 .../rte_ipv4_fragmentation.c                  |   0
 .../rte_ipv4_reassembly.c                     |   0
 .../rte_ipv6_fragmentation.c                  |   0
 .../rte_ipv6_reassembly.c                     |   0
 lib/{librte_ip_frag => ip_frag}/version.map   |   0
 lib/{librte_ipsec => ipsec}/crypto.h          |   0
 lib/{librte_ipsec => ipsec}/esp_inb.c         |   0
 lib/{librte_ipsec => ipsec}/esp_outb.c        |   0
 lib/{librte_ipsec => ipsec}/iph.h             |   0
 lib/{librte_ipsec => ipsec}/ipsec_sad.c       |   0
 lib/{librte_ipsec => ipsec}/ipsec_sqn.h       |   0
 lib/{librte_ipsec => ipsec}/meson.build       |   0
 lib/{librte_ipsec => ipsec}/misc.h            |   0
 lib/{librte_ipsec => ipsec}/pad.h             |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec.h       |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_group.h |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_sa.h    |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_sad.h   |   0
 lib/{librte_ipsec => ipsec}/sa.c              |   0
 lib/{librte_ipsec => ipsec}/sa.h              |   0
 lib/{librte_ipsec => ipsec}/ses.c             |   0
 lib/{librte_ipsec => ipsec}/version.map       |   0
 lib/{librte_jobstats => jobstats}/meson.build |   0
 .../rte_jobstats.c                            |   0
 .../rte_jobstats.h                            |   0
 lib/{librte_jobstats => jobstats}/version.map |   0
 lib/{librte_kni => kni}/meson.build           |   4 +-
 lib/{librte_kni => kni}/rte_kni.c             |   0
 lib/{librte_kni => kni}/rte_kni.h             |   0
 lib/{librte_kni => kni}/rte_kni_common.h      |   0
 lib/{librte_kni => kni}/rte_kni_fifo.h        |   0
 lib/{librte_kni => kni}/version.map           |   0
 lib/{librte_kvargs => kvargs}/meson.build     |   0
 lib/{librte_kvargs => kvargs}/rte_kvargs.c    |   0
 lib/{librte_kvargs => kvargs}/rte_kvargs.h    |   0
 lib/{librte_kvargs => kvargs}/version.map     |   0
 .../meson.build                               |   0
 .../rte_latencystats.c                        |   0
 .../rte_latencystats.h                        |   0
 .../version.map                               |   0
 lib/librte_acl/meson.build                    |  83 --
 lib/librte_cmdline/meson.build                |  34 -
 lib/librte_eal/arm/include/meson.build        |  33 -
 lib/librte_eal/common/meson.build             |  88 --
 lib/librte_eal/freebsd/meson.build            |  21 -
 lib/librte_eal/include/meson.build            |  70 --
 lib/librte_eal/linux/meson.build              |  27 -
 lib/librte_eal/ppc/include/meson.build        |  21 -
 lib/librte_eal/windows/meson.build            |  25 -
 lib/librte_eal/x86/include/meson.build        |  29 -
 lib/librte_ethdev/meson.build                 |  27 -
 lib/librte_eventdev/meson.build               |  27 -
 lib/librte_fib/meson.build                    |  58 --
 lib/librte_net/meson.build                    | 110 ---
 lib/librte_pipeline/meson.build               |  16 -
 lib/librte_port/meson.build                   |  46 -
 lib/librte_power/meson.build                  |  17 -
 lib/librte_ring/meson.build                   |  19 -
 lib/librte_table/meson.build                  |  36 -
 lib/{librte_lpm => lpm}/meson.build           |   0
 lib/{librte_lpm => lpm}/rte_lpm.c             |   0
 lib/{librte_lpm => lpm}/rte_lpm.h             |   0
 lib/{librte_lpm => lpm}/rte_lpm6.c            |   0
 lib/{librte_lpm => lpm}/rte_lpm6.h            |   0
 lib/{librte_lpm => lpm}/rte_lpm_altivec.h     |   0
 lib/{librte_lpm => lpm}/rte_lpm_neon.h        |   0
 lib/{librte_lpm => lpm}/rte_lpm_sse.h         |   0
 lib/{librte_lpm => lpm}/rte_lpm_sve.h         |   0
 lib/{librte_lpm => lpm}/version.map           |   0
 lib/{librte_mbuf => mbuf}/meson.build         |   6 +-
 lib/{librte_mbuf => mbuf}/rte_mbuf.c          |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf.h          |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_core.h     |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.c      |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.h      |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.c |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.h |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.c    |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.h    |   0
 lib/{librte_mbuf => mbuf}/version.map         |   0
 lib/{librte_member => member}/meson.build     |   0
 lib/{librte_member => member}/rte_member.c    |   0
 lib/{librte_member => member}/rte_member.h    |   0
 lib/{librte_member => member}/rte_member_ht.c |   0
 lib/{librte_member => member}/rte_member_ht.h |   0
 .../rte_member_vbf.c                          |   0
 .../rte_member_vbf.h                          |   0
 .../rte_member_x86.h                          |   0
 lib/{librte_member => member}/version.map     |   0
 .../mempool_trace_points.c                    |   0
 lib/{librte_mempool => mempool}/meson.build   |  10 +-
 lib/{librte_mempool => mempool}/rte_mempool.c |   0
 lib/{librte_mempool => mempool}/rte_mempool.h |   0
 .../rte_mempool_ops.c                         |   0
 .../rte_mempool_ops_default.c                 |   0
 .../rte_mempool_trace.h                       |   0
 .../rte_mempool_trace_fp.h                    |   0
 lib/{librte_mempool => mempool}/version.map   |   0
 lib/meson.build                               | 387 +++++----
 lib/{librte_meter => meter}/meson.build       |   0
 lib/{librte_meter => meter}/rte_meter.c       |   0
 lib/{librte_meter => meter}/rte_meter.h       |   0
 lib/{librte_meter => meter}/version.map       |   0
 lib/{librte_metrics => metrics}/meson.build   |   4 +-
 lib/{librte_metrics => metrics}/rte_metrics.c |   0
 lib/{librte_metrics => metrics}/rte_metrics.h |   0
 .../rte_metrics_telemetry.c                   |   0
 .../rte_metrics_telemetry.h                   |   0
 lib/{librte_metrics => metrics}/version.map   |   0
 lib/net/meson.build                           | 110 +++
 lib/{librte_net => net}/net_crc.h             |   0
 lib/{librte_net => net}/net_crc_avx512.c      |   0
 lib/{librte_net => net}/net_crc_neon.c        |   0
 lib/{librte_net => net}/net_crc_sse.c         |   0
 lib/{librte_net => net}/rte_arp.c             |   0
 lib/{librte_net => net}/rte_arp.h             |   0
 lib/{librte_net => net}/rte_ecpri.h           |   0
 lib/{librte_net => net}/rte_esp.h             |   0
 lib/{librte_net => net}/rte_ether.c           |   0
 lib/{librte_net => net}/rte_ether.h           |   0
 lib/{librte_net => net}/rte_geneve.h          |   0
 lib/{librte_net => net}/rte_gre.h             |   0
 lib/{librte_net => net}/rte_gtp.h             |   0
 lib/{librte_net => net}/rte_higig.h           |   0
 lib/{librte_net => net}/rte_icmp.h            |   0
 lib/{librte_net => net}/rte_ip.h              |   0
 lib/{librte_net => net}/rte_mpls.h            |   0
 lib/{librte_net => net}/rte_net.c             |   0
 lib/{librte_net => net}/rte_net.h             |   0
 lib/{librte_net => net}/rte_net_crc.c         |   0
 lib/{librte_net => net}/rte_net_crc.h         |   0
 lib/{librte_net => net}/rte_sctp.h            |   0
 lib/{librte_net => net}/rte_tcp.h             |   0
 lib/{librte_net => net}/rte_udp.h             |   0
 lib/{librte_net => net}/rte_vxlan.h           |   0
 lib/{librte_net => net}/version.map           |   0
 lib/{librte_node => node}/ethdev_ctrl.c       |   0
 lib/{librte_node => node}/ethdev_rx.c         |   0
 lib/{librte_node => node}/ethdev_rx_priv.h    |   0
 lib/{librte_node => node}/ethdev_tx.c         |   0
 lib/{librte_node => node}/ethdev_tx_priv.h    |   0
 lib/{librte_node => node}/ip4_lookup.c        |   0
 lib/{librte_node => node}/ip4_lookup_neon.h   |   0
 lib/{librte_node => node}/ip4_lookup_sse.h    |   0
 lib/{librte_node => node}/ip4_rewrite.c       |   0
 lib/{librte_node => node}/ip4_rewrite_priv.h  |   0
 lib/{librte_node => node}/log.c               |   0
 lib/{librte_node => node}/meson.build         |   2 +-
 lib/{librte_node => node}/node_private.h      |   0
 lib/{librte_node => node}/null.c              |   0
 lib/{librte_node => node}/pkt_cls.c           |   0
 lib/{librte_node => node}/pkt_cls_priv.h      |   0
 lib/{librte_node => node}/pkt_drop.c          |   0
 lib/{librte_node => node}/rte_node_eth_api.h  |   0
 lib/{librte_node => node}/rte_node_ip4_api.h  |   0
 lib/{librte_node => node}/version.map         |   0
 lib/{librte_pci => pci}/meson.build           |   0
 lib/{librte_pci => pci}/rte_pci.c             |   0
 lib/{librte_pci => pci}/rte_pci.h             |   0
 lib/{librte_pci => pci}/version.map           |   0
 lib/{librte_pdump => pdump}/meson.build       |   0
 lib/{librte_pdump => pdump}/rte_pdump.c       |   0
 lib/{librte_pdump => pdump}/rte_pdump.h       |   0
 lib/{librte_pdump => pdump}/version.map       |   0
 lib/pipeline/meson.build                      |  16 +
 .../rte_pipeline.c                            |   0
 .../rte_pipeline.h                            |   0
 .../rte_port_in_action.c                      |   0
 .../rte_port_in_action.h                      |   0
 .../rte_swx_ctl.c                             |   0
 .../rte_swx_ctl.h                             |   0
 .../rte_swx_extern.h                          |   0
 .../rte_swx_pipeline.c                        |   0
 .../rte_swx_pipeline.h                        |   0
 .../rte_swx_pipeline_spec.c                   |   0
 .../rte_table_action.c                        |   0
 .../rte_table_action.h                        |   0
 lib/{librte_pipeline => pipeline}/version.map |   0
 lib/port/meson.build                          |  46 +
 lib/{librte_port => port}/rte_port.h          |   0
 lib/{librte_port => port}/rte_port_ethdev.c   |   0
 lib/{librte_port => port}/rte_port_ethdev.h   |   0
 lib/{librte_port => port}/rte_port_eventdev.c |   0
 lib/{librte_port => port}/rte_port_eventdev.h |   0
 lib/{librte_port => port}/rte_port_fd.c       |   0
 lib/{librte_port => port}/rte_port_fd.h       |   0
 lib/{librte_port => port}/rte_port_frag.c     |   0
 lib/{librte_port => port}/rte_port_frag.h     |   0
 lib/{librte_port => port}/rte_port_kni.c      |   0
 lib/{librte_port => port}/rte_port_kni.h      |   0
 lib/{librte_port => port}/rte_port_ras.c      |   0
 lib/{librte_port => port}/rte_port_ras.h      |   0
 lib/{librte_port => port}/rte_port_ring.c     |   0
 lib/{librte_port => port}/rte_port_ring.h     |   0
 lib/{librte_port => port}/rte_port_sched.c    |   0
 lib/{librte_port => port}/rte_port_sched.h    |   0
 .../rte_port_source_sink.c                    |   0
 .../rte_port_source_sink.h                    |   0
 .../rte_port_sym_crypto.c                     |   0
 .../rte_port_sym_crypto.h                     |   0
 lib/{librte_port => port}/rte_swx_port.h      |   0
 .../rte_swx_port_ethdev.c                     |   0
 .../rte_swx_port_ethdev.h                     |   0
 lib/{librte_port => port}/rte_swx_port_fd.c   |   0
 lib/{librte_port => port}/rte_swx_port_fd.h   |   0
 lib/{librte_port => port}/rte_swx_port_ring.c |   0
 lib/{librte_port => port}/rte_swx_port_ring.h |   0
 .../rte_swx_port_source_sink.c                |   0
 .../rte_swx_port_source_sink.h                |   0
 lib/{librte_port => port}/version.map         |   0
 lib/{librte_power => power}/guest_channel.c   |   0
 lib/{librte_power => power}/guest_channel.h   |   0
 lib/power/meson.build                         |  17 +
 .../power_acpi_cpufreq.c                      |   0
 .../power_acpi_cpufreq.h                      |   0
 lib/{librte_power => power}/power_common.c    |   0
 lib/{librte_power => power}/power_common.h    |   0
 lib/{librte_power => power}/power_kvm_vm.c    |   0
 lib/{librte_power => power}/power_kvm_vm.h    |   0
 .../power_pstate_cpufreq.c                    |   0
 .../power_pstate_cpufreq.h                    |   0
 lib/{librte_power => power}/rte_power.c       |   0
 lib/{librte_power => power}/rte_power.h       |   0
 .../rte_power_empty_poll.c                    |   0
 .../rte_power_empty_poll.h                    |   0
 .../rte_power_guest_channel.h                 |   0
 .../rte_power_pmd_mgmt.c                      |   0
 .../rte_power_pmd_mgmt.h                      |   0
 lib/{librte_power => power}/version.map       |   0
 lib/{librte_rawdev => rawdev}/meson.build     |   0
 lib/{librte_rawdev => rawdev}/rte_rawdev.c    |   0
 lib/{librte_rawdev => rawdev}/rte_rawdev.h    |   0
 .../rte_rawdev_pmd.h                          |   0
 lib/{librte_rawdev => rawdev}/version.map     |   0
 lib/{librte_rcu => rcu}/meson.build           |   0
 lib/{librte_rcu => rcu}/rcu_qsbr_pvt.h        |   0
 lib/{librte_rcu => rcu}/rte_rcu_qsbr.c        |   0
 lib/{librte_rcu => rcu}/rte_rcu_qsbr.h        |   0
 lib/{librte_rcu => rcu}/version.map           |   0
 lib/{librte_regexdev => regexdev}/meson.build |   2 +-
 .../rte_regexdev.c                            |   0
 .../rte_regexdev.h                            |   0
 .../rte_regexdev_core.h                       |   0
 .../rte_regexdev_driver.h                     |   0
 lib/{librte_regexdev => regexdev}/version.map |   0
 lib/{librte_reorder => reorder}/meson.build   |   0
 lib/{librte_reorder => reorder}/rte_reorder.c |   0
 lib/{librte_reorder => reorder}/rte_reorder.h |   0
 lib/{librte_reorder => reorder}/version.map   |   0
 lib/{librte_rib => rib}/meson.build           |   0
 lib/{librte_rib => rib}/rte_rib.c             |   0
 lib/{librte_rib => rib}/rte_rib.h             |   0
 lib/{librte_rib => rib}/rte_rib6.c            |   0
 lib/{librte_rib => rib}/rte_rib6.h            |   0
 lib/{librte_rib => rib}/version.map           |   0
 lib/ring/meson.build                          |  19 +
 lib/{librte_ring => ring}/rte_ring.c          |   0
 lib/{librte_ring => ring}/rte_ring.h          |   0
 lib/{librte_ring => ring}/rte_ring_c11_pvt.h  |   0
 lib/{librte_ring => ring}/rte_ring_core.h     |   0
 lib/{librte_ring => ring}/rte_ring_elem.h     |   0
 lib/{librte_ring => ring}/rte_ring_elem_pvt.h |   0
 .../rte_ring_generic_pvt.h                    |   0
 lib/{librte_ring => ring}/rte_ring_hts.h      |   0
 .../rte_ring_hts_elem_pvt.h                   |   0
 lib/{librte_ring => ring}/rte_ring_peek.h     |   0
 .../rte_ring_peek_elem_pvt.h                  |   0
 lib/{librte_ring => ring}/rte_ring_peek_zc.h  |   0
 lib/{librte_ring => ring}/rte_ring_rts.h      |   0
 .../rte_ring_rts_elem_pvt.h                   |   0
 lib/{librte_ring => ring}/version.map         |   0
 lib/{librte_sched => sched}/meson.build       |   2 +-
 lib/{librte_sched => sched}/rte_approx.c      |   0
 lib/{librte_sched => sched}/rte_approx.h      |   0
 lib/{librte_sched => sched}/rte_red.c         |   0
 lib/{librte_sched => sched}/rte_red.h         |   0
 lib/{librte_sched => sched}/rte_sched.c       |   0
 lib/{librte_sched => sched}/rte_sched.h       |   0
 .../rte_sched_common.h                        |   0
 lib/{librte_sched => sched}/version.map       |   0
 lib/{librte_security => security}/meson.build |   0
 .../rte_security.c                            |   0
 .../rte_security.h                            |   0
 .../rte_security_driver.h                     |   0
 lib/{librte_security => security}/version.map |   0
 lib/{librte_stack => stack}/meson.build       |   8 +-
 lib/{librte_stack => stack}/rte_stack.c       |   0
 lib/{librte_stack => stack}/rte_stack.h       |   0
 lib/{librte_stack => stack}/rte_stack_lf.c    |   0
 lib/{librte_stack => stack}/rte_stack_lf.h    |   0
 .../rte_stack_lf_c11.h                        |   0
 .../rte_stack_lf_generic.h                    |   0
 .../rte_stack_lf_stubs.h                      |   0
 lib/{librte_stack => stack}/rte_stack_std.c   |   0
 lib/{librte_stack => stack}/rte_stack_std.h   |   0
 lib/{librte_stack => stack}/stack_pvt.h       |   0
 lib/{librte_stack => stack}/version.map       |   0
 lib/table/meson.build                         |  36 +
 lib/{librte_table => table}/rte_lru.h         |   0
 lib/{librte_table => table}/rte_lru_arm64.h   |   0
 lib/{librte_table => table}/rte_lru_x86.h     |   0
 lib/{librte_table => table}/rte_swx_table.h   |   0
 .../rte_swx_table_em.c                        |   0
 .../rte_swx_table_em.h                        |   0
 .../rte_swx_table_wm.c                        |   0
 .../rte_swx_table_wm.h                        |   0
 lib/{librte_table => table}/rte_table.h       |   0
 lib/{librte_table => table}/rte_table_acl.c   |   0
 lib/{librte_table => table}/rte_table_acl.h   |   0
 lib/{librte_table => table}/rte_table_array.c |   0
 lib/{librte_table => table}/rte_table_array.h |   0
 lib/{librte_table => table}/rte_table_hash.h  |   0
 .../rte_table_hash_cuckoo.c                   |   0
 .../rte_table_hash_cuckoo.h                   |   0
 .../rte_table_hash_ext.c                      |   0
 .../rte_table_hash_func.h                     |   0
 .../rte_table_hash_func_arm64.h               |   0
 .../rte_table_hash_key16.c                    |   0
 .../rte_table_hash_key32.c                    |   0
 .../rte_table_hash_key8.c                     |   0
 .../rte_table_hash_lru.c                      |   0
 lib/{librte_table => table}/rte_table_lpm.c   |   0
 lib/{librte_table => table}/rte_table_lpm.h   |   0
 .../rte_table_lpm_ipv6.c                      |   0
 .../rte_table_lpm_ipv6.h                      |   0
 lib/{librte_table => table}/rte_table_stub.c  |   0
 lib/{librte_table => table}/rte_table_stub.h  |   0
 lib/{librte_table => table}/version.map       |   0
 .../meson.build                               |   2 +-
 .../rte_telemetry.h                           |   0
 .../telemetry.c                               |   0
 .../telemetry_data.c                          |   0
 .../telemetry_data.h                          |   0
 .../telemetry_internal.h                      |   0
 .../telemetry_json.h                          |   0
 .../telemetry_legacy.c                        |   0
 .../version.map                               |   0
 lib/{librte_timer => timer}/meson.build       |   0
 lib/{librte_timer => timer}/rte_timer.c       |   0
 lib/{librte_timer => timer}/rte_timer.h       |   0
 lib/{librte_timer => timer}/version.map       |   0
 lib/{librte_vhost => vhost}/fd_man.c          |   0
 lib/{librte_vhost => vhost}/fd_man.h          |   0
 lib/{librte_vhost => vhost}/iotlb.c           |   0
 lib/{librte_vhost => vhost}/iotlb.h           |   0
 lib/{librte_vhost => vhost}/meson.build       |  20 +-
 lib/{librte_vhost => vhost}/rte_vdpa.h        |   0
 lib/{librte_vhost => vhost}/rte_vdpa_dev.h    |   0
 lib/{librte_vhost => vhost}/rte_vhost.h       |   0
 lib/{librte_vhost => vhost}/rte_vhost_async.h |   0
 .../rte_vhost_crypto.h                        |   0
 lib/{librte_vhost => vhost}/socket.c          |   0
 lib/{librte_vhost => vhost}/vdpa.c            |   0
 lib/{librte_vhost => vhost}/version.map       |   0
 lib/{librte_vhost => vhost}/vhost.c           |   0
 lib/{librte_vhost => vhost}/vhost.h           |   0
 lib/{librte_vhost => vhost}/vhost_crypto.c    |   0
 lib/{librte_vhost => vhost}/vhost_user.c      |   0
 lib/{librte_vhost => vhost}/vhost_user.h      |   0
 lib/{librte_vhost => vhost}/virtio_crypto.h   |   0
 lib/{librte_vhost => vhost}/virtio_net.c      |   0
 license/exceptions.txt                        |   6 +-
 meson.build                                   |  82 +-
 meson_options.txt                             |  36 +-
 usertools/meson.build                         |   8 +-
 1110 files changed, 4738 insertions(+), 4688 deletions(-)
 rename lib/{librte_acl => acl}/acl.h (100%)
 rename lib/{librte_acl => acl}/acl_bld.c (100%)
 rename lib/{librte_acl => acl}/acl_gen.c (100%)
 rename lib/{librte_acl => acl}/acl_run.h (100%)
 rename lib/{librte_acl => acl}/acl_run_altivec.c (100%)
 rename lib/{librte_acl => acl}/acl_run_altivec.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx2.c (100%)
 rename lib/{librte_acl => acl}/acl_run_avx2.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512.c (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512_common.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512x16.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512x8.h (100%)
 rename lib/{librte_acl => acl}/acl_run_neon.c (100%)
 rename lib/{librte_acl => acl}/acl_run_neon.h (100%)
 rename lib/{librte_acl => acl}/acl_run_scalar.c (100%)
 rename lib/{librte_acl => acl}/acl_run_sse.c (100%)
 rename lib/{librte_acl => acl}/acl_run_sse.h (100%)
 rename lib/{librte_acl => acl}/acl_vect.h (100%)
 create mode 100644 lib/acl/meson.build
 rename lib/{librte_acl => acl}/rte_acl.c (100%)
 rename lib/{librte_acl => acl}/rte_acl.h (100%)
 rename lib/{librte_acl => acl}/rte_acl_osdep.h (100%)
 rename lib/{librte_acl => acl}/tb_mem.c (100%)
 rename lib/{librte_acl => acl}/tb_mem.h (100%)
 rename lib/{librte_acl => acl}/version.map (100%)
 rename lib/{librte_bbdev => bbdev}/meson.build (74%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev.c (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev.h (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev_op.h (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev_pmd.h (100%)
 rename lib/{librte_bbdev => bbdev}/version.map (100%)
 rename lib/{librte_bitratestats => bitratestats}/meson.build (100%)
 rename lib/{librte_bitratestats => bitratestats}/rte_bitrate.c (100%)
 rename lib/{librte_bitratestats => bitratestats}/rte_bitrate.h (100%)
 rename lib/{librte_bitratestats => bitratestats}/version.map (100%)
 rename lib/{librte_bpf => bpf}/bpf.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_def.h (100%)
 rename lib/{librte_bpf => bpf}/bpf_exec.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_impl.h (100%)
 rename lib/{librte_bpf => bpf}/bpf_jit_arm64.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_jit_x86.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_load.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_load_elf.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_pkt.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_validate.c (100%)
 rename lib/{librte_bpf => bpf}/meson.build (52%)
 rename lib/{librte_bpf => bpf}/rte_bpf.h (100%)
 rename lib/{librte_bpf => bpf}/rte_bpf_ethdev.h (100%)
 rename lib/{librte_bpf => bpf}/version.map (100%)
 rename lib/{librte_cfgfile => cfgfile}/meson.build (100%)
 rename lib/{librte_cfgfile => cfgfile}/rte_cfgfile.c (100%)
 rename lib/{librte_cfgfile => cfgfile}/rte_cfgfile.h (100%)
 rename lib/{librte_cfgfile => cfgfile}/version.map (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_cirbuf.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_cirbuf.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_os_unix.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_os_windows.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_etheraddr.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_etheraddr.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_ipaddr.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_ipaddr.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_num.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_num.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_portlist.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_portlist.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_string.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_string.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_private.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_rdline.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_rdline.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_socket.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_socket.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_vt100.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_vt100.h (100%)
 create mode 100644 lib/cmdline/meson.build
 rename lib/{librte_cmdline => cmdline}/version.map (100%)
 rename lib/{librte_compressdev => compressdev}/meson.build (58%)
 rename lib/{librte_compressdev => compressdev}/rte_comp.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_comp.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_internal.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_pmd.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_pmd.h (100%)
 rename lib/{librte_compressdev => compressdev}/version.map (100%)
 rename lib/{librte_cryptodev => cryptodev}/cryptodev_trace_points.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/meson.build (60%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto_asym.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto_sym.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_pmd.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_pmd.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_trace.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_trace_fp.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/version.map (100%)
 rename lib/{librte_distributor => distributor}/distributor_private.h (100%)
 rename lib/{librte_distributor => distributor}/meson.build (68%)
 rename lib/{librte_distributor => distributor}/rte_distributor.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor.h (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_match_generic.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_match_sse.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_single.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_single.h (100%)
 rename lib/{librte_distributor => distributor}/version.map (100%)
 create mode 100644 lib/eal/arm/include/meson.build
 rename lib/{librte_eal => eal}/arm/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_atomic_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_atomic_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_io_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_vect.h (100%)
 rename lib/{librte_eal => eal}/arm/meson.build (55%)
 rename lib/{librte_eal => eal}/arm/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_bus.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_class.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_config.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_debug.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_dev.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_devargs.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_dynmem.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_errno.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_fbarray.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_hexdump.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_launch.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_lcore.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_log.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_mcfg.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memalloc.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memory.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memzone.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_options.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_proc.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_string_fns.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_tailqs.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_thread.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_timer.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_ctf.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_points.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_utils.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_uuid.c (100%)
 rename lib/{librte_eal => eal}/common/eal_filesystem.h (100%)
 rename lib/{librte_eal => eal}/common/eal_hugepages.h (100%)
 rename lib/{librte_eal => eal}/common/eal_internal_cfg.h (100%)
 rename lib/{librte_eal => eal}/common/eal_memalloc.h (100%)
 rename lib/{librte_eal => eal}/common/eal_memcfg.h (100%)
 rename lib/{librte_eal => eal}/common/eal_options.h (100%)
 rename lib/{librte_eal => eal}/common/eal_private.h (100%)
 rename lib/{librte_eal => eal}/common/eal_thread.h (100%)
 rename lib/{librte_eal => eal}/common/eal_trace.h (100%)
 rename lib/{librte_eal => eal}/common/hotplug_mp.c (100%)
 rename lib/{librte_eal => eal}/common/hotplug_mp.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_elem.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_elem.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_heap.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_heap.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_mp.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_mp.h (100%)
 create mode 100644 lib/eal/common/meson.build
 rename lib/{librte_eal => eal}/common/rte_keepalive.c (100%)
 rename lib/{librte_eal => eal}/common/rte_malloc.c (100%)
 rename lib/{librte_eal => eal}/common/rte_random.c (100%)
 rename lib/{librte_eal => eal}/common/rte_reciprocal.c (100%)
 rename lib/{librte_eal => eal}/common/rte_service.c (100%)
 rename lib/{librte_eal => eal}/common/rte_version.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_alarm_private.h (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_dev.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_hugepage_info.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/freebsd/include/meson.build (100%)
 rename lib/{librte_eal => eal}/freebsd/include/rte_os.h (100%)
 create mode 100644 lib/eal/freebsd/meson.build
 rename lib/{librte_eal => eal}/include/generic/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_io.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_vect.h (100%)
 create mode 100644 lib/eal/include/meson.build
 rename lib/{librte_eal => eal}/include/rte_alarm.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bitmap.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bitops.h (100%)
 rename lib/{librte_eal => eal}/include/rte_branch_prediction.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bus.h (100%)
 rename lib/{librte_eal => eal}/include/rte_class.h (100%)
 rename lib/{librte_eal => eal}/include/rte_common.h (100%)
 rename lib/{librte_eal => eal}/include/rte_compat.h (100%)
 rename lib/{librte_eal => eal}/include/rte_debug.h (100%)
 rename lib/{librte_eal => eal}/include/rte_dev.h (100%)
 rename lib/{librte_eal => eal}/include/rte_devargs.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_interrupts.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_memconfig.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_paging.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_trace.h (100%)
 rename lib/{librte_eal => eal}/include/rte_errno.h (100%)
 rename lib/{librte_eal => eal}/include/rte_fbarray.h (100%)
 rename lib/{librte_eal => eal}/include/rte_function_versioning.h (100%)
 rename lib/{librte_eal => eal}/include/rte_hexdump.h (100%)
 rename lib/{librte_eal => eal}/include/rte_hypervisor.h (100%)
 rename lib/{librte_eal => eal}/include/rte_interrupts.h (100%)
 rename lib/{librte_eal => eal}/include/rte_keepalive.h (100%)
 rename lib/{librte_eal => eal}/include/rte_launch.h (100%)
 rename lib/{librte_eal => eal}/include/rte_lcore.h (100%)
 rename lib/{librte_eal => eal}/include/rte_log.h (100%)
 rename lib/{librte_eal => eal}/include/rte_malloc.h (100%)
 rename lib/{librte_eal => eal}/include/rte_memory.h (100%)
 rename lib/{librte_eal => eal}/include/rte_memzone.h (100%)
 rename lib/{librte_eal => eal}/include/rte_pci_dev_feature_defs.h (100%)
 rename lib/{librte_eal => eal}/include/rte_pci_dev_features.h (100%)
 rename lib/{librte_eal => eal}/include/rte_per_lcore.h (100%)
 rename lib/{librte_eal => eal}/include/rte_random.h (100%)
 rename lib/{librte_eal => eal}/include/rte_reciprocal.h (100%)
 rename lib/{librte_eal => eal}/include/rte_service.h (100%)
 rename lib/{librte_eal => eal}/include/rte_service_component.h (100%)
 rename lib/{librte_eal => eal}/include/rte_string_fns.h (100%)
 rename lib/{librte_eal => eal}/include/rte_tailq.h (100%)
 rename lib/{librte_eal => eal}/include/rte_test.h (100%)
 rename lib/{librte_eal => eal}/include/rte_thread.h (100%)
 rename lib/{librte_eal => eal}/include/rte_time.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace_point.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace_point_register.h (100%)
 rename lib/{librte_eal => eal}/include/rte_uuid.h (100%)
 rename lib/{librte_eal => eal}/include/rte_version.h (100%)
 rename lib/{librte_eal => eal}/include/rte_vfio.h (100%)
 rename lib/{librte_eal => eal}/linux/eal.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_dev.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_hugepage_info.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_log.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio.h (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio_mp_sync.c (100%)
 rename lib/{librte_eal => eal}/linux/include/meson.build (100%)
 rename lib/{librte_eal => eal}/linux/include/rte_os.h (100%)
 create mode 100644 lib/eal/linux/meson.build
 rename lib/{librte_eal => eal}/meson.build (78%)
 create mode 100644 lib/eal/ppc/include/meson.build
 rename lib/{librte_eal => eal}/ppc/include/rte_altivec.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_vect.h (100%)
 rename lib/{librte_eal => eal}/ppc/meson.build (58%)
 rename lib/{librte_eal => eal}/ppc/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/rte_eal_exports.def (100%)
 rename lib/{librte_eal => eal}/unix/eal_file.c (100%)
 rename lib/{librte_eal => eal}/unix/eal_unix_memory.c (100%)
 rename lib/{librte_eal => eal}/unix/eal_unix_timer.c (100%)
 rename lib/{librte_eal => eal}/unix/meson.build (52%)
 rename lib/{librte_eal => eal}/unix/rte_thread.c (100%)
 rename lib/{librte_eal => eal}/version.map (100%)
 rename lib/{librte_eal => eal}/windows/eal.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_file.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_hugepages.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_log.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_mp.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_windows.h (100%)
 rename lib/{librte_eal => eal}/windows/fnmatch.c (100%)
 rename lib/{librte_eal => eal}/windows/getopt.c (100%)
 rename lib/{librte_eal => eal}/windows/include/arpa/inet.h (100%)
 rename lib/{librte_eal => eal}/windows/include/dirent.h (100%)
 rename lib/{librte_eal => eal}/windows/include/fnmatch.h (100%)
 rename lib/{librte_eal => eal}/windows/include/getopt.h (100%)
 rename lib/{librte_eal => eal}/windows/include/meson.build (100%)
 rename lib/{librte_eal => eal}/windows/include/netinet/in.h (100%)
 rename lib/{librte_eal => eal}/windows/include/netinet/ip.h (100%)
 rename lib/{librte_eal => eal}/windows/include/pthread.h (100%)
 rename lib/{librte_eal => eal}/windows/include/regex.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_os.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_virt2phys.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_windows.h (100%)
 rename lib/{librte_eal => eal}/windows/include/sched.h (100%)
 rename lib/{librte_eal => eal}/windows/include/sys/queue.h (100%)
 rename lib/{librte_eal => eal}/windows/include/sys/socket.h (100%)
 rename lib/{librte_eal => eal}/windows/include/unistd.h (100%)
 create mode 100644 lib/eal/windows/meson.build
 rename lib/{librte_eal => eal}/windows/rte_thread.c (100%)
 create mode 100644 lib/eal/x86/include/meson.build
 rename lib/{librte_eal => eal}/x86/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_atomic_32.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_atomic_64.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder_32.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder_64.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_rtm.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_vect.h (100%)
 rename lib/{librte_eal => eal}/x86/meson.build (50%)
 rename lib/{librte_eal => eal}/x86/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_cpuid.h (100%)
 rename lib/{librte_eal => eal}/x86/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_spinlock.c (100%)
 rename lib/{librte_efd => efd}/meson.build (100%)
 rename lib/{librte_efd => efd}/rte_efd.c (100%)
 rename lib/{librte_efd => efd}/rte_efd.h (100%)
 rename lib/{librte_efd => efd}/rte_efd_arm64.h (100%)
 rename lib/{librte_efd => efd}/rte_efd_x86.h (100%)
 rename lib/{librte_efd => efd}/version.map (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_pci.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_private.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_private.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_profile.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_profile.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_trace_points.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_vdev.h (100%)
 create mode 100644 lib/ethdev/meson.build
 rename lib/{librte_ethdev => ethdev}/rte_class_eth.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_dev_info.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_eth_ctrl.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_core.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_trace.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_trace_fp.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/version.map (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd_pci.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd_vdev.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_trace_points.c (100%)
 create mode 100644 lib/eventdev/meson.build
 rename lib/{librte_eventdev => eventdev}/rte_event_crypto_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_crypto_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_rx_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_rx_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_tx_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_tx_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_ring.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_ring.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter_pmd.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev_trace.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev_trace_fp.h (100%)
 rename lib/{librte_eventdev => eventdev}/version.map (100%)
 rename lib/{librte_fib => fib}/dir24_8.c (100%)
 rename lib/{librte_fib => fib}/dir24_8.h (100%)
 rename lib/{librte_fib => fib}/dir24_8_avx512.c (100%)
 rename lib/{librte_fib => fib}/dir24_8_avx512.h (100%)
 create mode 100644 lib/fib/meson.build
 rename lib/{librte_fib => fib}/rte_fib.c (100%)
 rename lib/{librte_fib => fib}/rte_fib.h (100%)
 rename lib/{librte_fib => fib}/rte_fib6.c (100%)
 rename lib/{librte_fib => fib}/rte_fib6.h (100%)
 rename lib/{librte_fib => fib}/trie.c (100%)
 rename lib/{librte_fib => fib}/trie.h (100%)
 rename lib/{librte_fib => fib}/trie_avx512.c (100%)
 rename lib/{librte_fib => fib}/trie_avx512.h (100%)
 rename lib/{librte_fib => fib}/version.map (100%)
 rename lib/{librte_flow_classify => flow_classify}/meson.build (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify.c (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify.h (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify_parse.c (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify_parse.h (100%)
 rename lib/{librte_flow_classify => flow_classify}/version.map (100%)
 rename lib/{librte_graph => graph}/graph.c (100%)
 rename lib/{librte_graph => graph}/graph_debug.c (100%)
 rename lib/{librte_graph => graph}/graph_ops.c (100%)
 rename lib/{librte_graph => graph}/graph_populate.c (100%)
 rename lib/{librte_graph => graph}/graph_private.h (100%)
 rename lib/{librte_graph => graph}/graph_stats.c (100%)
 rename lib/{librte_graph => graph}/meson.build (100%)
 rename lib/{librte_graph => graph}/node.c (100%)
 rename lib/{librte_graph => graph}/rte_graph.h (100%)
 rename lib/{librte_graph => graph}/rte_graph_worker.h (100%)
 rename lib/{librte_graph => graph}/version.map (100%)
 rename lib/{librte_gro => gro}/gro_tcp4.c (100%)
 rename lib/{librte_gro => gro}/gro_tcp4.h (100%)
 rename lib/{librte_gro => gro}/gro_udp4.c (100%)
 rename lib/{librte_gro => gro}/gro_udp4.h (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_tcp4.c (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_tcp4.h (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_udp4.c (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_udp4.h (100%)
 rename lib/{librte_gro => gro}/meson.build (100%)
 rename lib/{librte_gro => gro}/rte_gro.c (100%)
 rename lib/{librte_gro => gro}/rte_gro.h (100%)
 rename lib/{librte_gro => gro}/version.map (100%)
 rename lib/{librte_gso => gso}/gso_common.c (100%)
 rename lib/{librte_gso => gso}/gso_common.h (100%)
 rename lib/{librte_gso => gso}/gso_tcp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tcp4.h (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_tcp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_tcp4.h (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_udp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_udp4.h (100%)
 rename lib/{librte_gso => gso}/gso_udp4.c (100%)
 rename lib/{librte_gso => gso}/gso_udp4.h (100%)
 rename lib/{librte_gso => gso}/meson.build (74%)
 rename lib/{librte_gso => gso}/rte_gso.c (100%)
 rename lib/{librte_gso => gso}/rte_gso.h (100%)
 rename lib/{librte_gso => gso}/version.map (100%)
 rename lib/{librte_hash => hash}/meson.build (76%)
 rename lib/{librte_hash => hash}/rte_cmp_arm64.h (100%)
 rename lib/{librte_hash => hash}/rte_cmp_x86.h (100%)
 rename lib/{librte_hash => hash}/rte_crc_arm64.h (100%)
 rename lib/{librte_hash => hash}/rte_cuckoo_hash.c (100%)
 rename lib/{librte_hash => hash}/rte_cuckoo_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_fbk_hash.c (100%)
 rename lib/{librte_hash => hash}/rte_fbk_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_hash_crc.h (100%)
 rename lib/{librte_hash => hash}/rte_jhash.h (100%)
 rename lib/{librte_hash => hash}/rte_thash.h (100%)
 rename lib/{librte_hash => hash}/version.map (100%)
 rename lib/{librte_ip_frag => ip_frag}/ip_frag_common.h (100%)
 rename lib/{librte_ip_frag => ip_frag}/ip_frag_internal.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/meson.build (52%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ip_frag.h (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ip_frag_common.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv4_fragmentation.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv4_reassembly.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv6_fragmentation.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv6_reassembly.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/version.map (100%)
 rename lib/{librte_ipsec => ipsec}/crypto.h (100%)
 rename lib/{librte_ipsec => ipsec}/esp_inb.c (100%)
 rename lib/{librte_ipsec => ipsec}/esp_outb.c (100%)
 rename lib/{librte_ipsec => ipsec}/iph.h (100%)
 rename lib/{librte_ipsec => ipsec}/ipsec_sad.c (100%)
 rename lib/{librte_ipsec => ipsec}/ipsec_sqn.h (100%)
 rename lib/{librte_ipsec => ipsec}/meson.build (100%)
 rename lib/{librte_ipsec => ipsec}/misc.h (100%)
 rename lib/{librte_ipsec => ipsec}/pad.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_group.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_sa.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_sad.h (100%)
 rename lib/{librte_ipsec => ipsec}/sa.c (100%)
 rename lib/{librte_ipsec => ipsec}/sa.h (100%)
 rename lib/{librte_ipsec => ipsec}/ses.c (100%)
 rename lib/{librte_ipsec => ipsec}/version.map (100%)
 rename lib/{librte_jobstats => jobstats}/meson.build (100%)
 rename lib/{librte_jobstats => jobstats}/rte_jobstats.c (100%)
 rename lib/{librte_jobstats => jobstats}/rte_jobstats.h (100%)
 rename lib/{librte_jobstats => jobstats}/version.map (100%)
 rename lib/{librte_kni => kni}/meson.build (79%)
 rename lib/{librte_kni => kni}/rte_kni.c (100%)
 rename lib/{librte_kni => kni}/rte_kni.h (100%)
 rename lib/{librte_kni => kni}/rte_kni_common.h (100%)
 rename lib/{librte_kni => kni}/rte_kni_fifo.h (100%)
 rename lib/{librte_kni => kni}/version.map (100%)
 rename lib/{librte_kvargs => kvargs}/meson.build (100%)
 rename lib/{librte_kvargs => kvargs}/rte_kvargs.c (100%)
 rename lib/{librte_kvargs => kvargs}/rte_kvargs.h (100%)
 rename lib/{librte_kvargs => kvargs}/version.map (100%)
 rename lib/{librte_latencystats => latencystats}/meson.build (100%)
 rename lib/{librte_latencystats => latencystats}/rte_latencystats.c (100%)
 rename lib/{librte_latencystats => latencystats}/rte_latencystats.h (100%)
 rename lib/{librte_latencystats => latencystats}/version.map (100%)
 delete mode 100644 lib/librte_acl/meson.build
 delete mode 100644 lib/librte_cmdline/meson.build
 delete mode 100644 lib/librte_eal/arm/include/meson.build
 delete mode 100644 lib/librte_eal/common/meson.build
 delete mode 100644 lib/librte_eal/freebsd/meson.build
 delete mode 100644 lib/librte_eal/include/meson.build
 delete mode 100644 lib/librte_eal/linux/meson.build
 delete mode 100644 lib/librte_eal/ppc/include/meson.build
 delete mode 100644 lib/librte_eal/windows/meson.build
 delete mode 100644 lib/librte_eal/x86/include/meson.build
 delete mode 100644 lib/librte_ethdev/meson.build
 delete mode 100644 lib/librte_eventdev/meson.build
 delete mode 100644 lib/librte_fib/meson.build
 delete mode 100644 lib/librte_net/meson.build
 delete mode 100644 lib/librte_pipeline/meson.build
 delete mode 100644 lib/librte_port/meson.build
 delete mode 100644 lib/librte_power/meson.build
 delete mode 100644 lib/librte_ring/meson.build
 delete mode 100644 lib/librte_table/meson.build
 rename lib/{librte_lpm => lpm}/meson.build (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm.c (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm6.c (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm6.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_altivec.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_neon.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_sse.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_sve.h (100%)
 rename lib/{librte_lpm => lpm}/version.map (100%)
 rename lib/{librte_mbuf => mbuf}/meson.build (69%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_core.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.h (100%)
 rename lib/{librte_mbuf => mbuf}/version.map (100%)
 rename lib/{librte_member => member}/meson.build (100%)
 rename lib/{librte_member => member}/rte_member.c (100%)
 rename lib/{librte_member => member}/rte_member.h (100%)
 rename lib/{librte_member => member}/rte_member_ht.c (100%)
 rename lib/{librte_member => member}/rte_member_ht.h (100%)
 rename lib/{librte_member => member}/rte_member_vbf.c (100%)
 rename lib/{librte_member => member}/rte_member_vbf.h (100%)
 rename lib/{librte_member => member}/rte_member_x86.h (100%)
 rename lib/{librte_member => member}/version.map (100%)
 rename lib/{librte_mempool => mempool}/mempool_trace_points.c (100%)
 rename lib/{librte_mempool => mempool}/meson.build (62%)
 rename lib/{librte_mempool => mempool}/rte_mempool.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool.h (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_ops.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_ops_default.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_trace.h (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_trace_fp.h (100%)
 rename lib/{librte_mempool => mempool}/version.map (100%)
 rename lib/{librte_meter => meter}/meson.build (100%)
 rename lib/{librte_meter => meter}/rte_meter.c (100%)
 rename lib/{librte_meter => meter}/rte_meter.h (100%)
 rename lib/{librte_meter => meter}/version.map (100%)
 rename lib/{librte_metrics => metrics}/meson.build (83%)
 rename lib/{librte_metrics => metrics}/rte_metrics.c (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics.h (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics_telemetry.c (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics_telemetry.h (100%)
 rename lib/{librte_metrics => metrics}/version.map (100%)
 create mode 100644 lib/net/meson.build
 rename lib/{librte_net => net}/net_crc.h (100%)
 rename lib/{librte_net => net}/net_crc_avx512.c (100%)
 rename lib/{librte_net => net}/net_crc_neon.c (100%)
 rename lib/{librte_net => net}/net_crc_sse.c (100%)
 rename lib/{librte_net => net}/rte_arp.c (100%)
 rename lib/{librte_net => net}/rte_arp.h (100%)
 rename lib/{librte_net => net}/rte_ecpri.h (100%)
 rename lib/{librte_net => net}/rte_esp.h (100%)
 rename lib/{librte_net => net}/rte_ether.c (100%)
 rename lib/{librte_net => net}/rte_ether.h (100%)
 rename lib/{librte_net => net}/rte_geneve.h (100%)
 rename lib/{librte_net => net}/rte_gre.h (100%)
 rename lib/{librte_net => net}/rte_gtp.h (100%)
 rename lib/{librte_net => net}/rte_higig.h (100%)
 rename lib/{librte_net => net}/rte_icmp.h (100%)
 rename lib/{librte_net => net}/rte_ip.h (100%)
 rename lib/{librte_net => net}/rte_mpls.h (100%)
 rename lib/{librte_net => net}/rte_net.c (100%)
 rename lib/{librte_net => net}/rte_net.h (100%)
 rename lib/{librte_net => net}/rte_net_crc.c (100%)
 rename lib/{librte_net => net}/rte_net_crc.h (100%)
 rename lib/{librte_net => net}/rte_sctp.h (100%)
 rename lib/{librte_net => net}/rte_tcp.h (100%)
 rename lib/{librte_net => net}/rte_udp.h (100%)
 rename lib/{librte_net => net}/rte_vxlan.h (100%)
 rename lib/{librte_net => net}/version.map (100%)
 rename lib/{librte_node => node}/ethdev_ctrl.c (100%)
 rename lib/{librte_node => node}/ethdev_rx.c (100%)
 rename lib/{librte_node => node}/ethdev_rx_priv.h (100%)
 rename lib/{librte_node => node}/ethdev_tx.c (100%)
 rename lib/{librte_node => node}/ethdev_tx_priv.h (100%)
 rename lib/{librte_node => node}/ip4_lookup.c (100%)
 rename lib/{librte_node => node}/ip4_lookup_neon.h (100%)
 rename lib/{librte_node => node}/ip4_lookup_sse.h (100%)
 rename lib/{librte_node => node}/ip4_rewrite.c (100%)
 rename lib/{librte_node => node}/ip4_rewrite_priv.h (100%)
 rename lib/{librte_node => node}/log.c (100%)
 rename lib/{librte_node => node}/meson.build (85%)
 rename lib/{librte_node => node}/node_private.h (100%)
 rename lib/{librte_node => node}/null.c (100%)
 rename lib/{librte_node => node}/pkt_cls.c (100%)
 rename lib/{librte_node => node}/pkt_cls_priv.h (100%)
 rename lib/{librte_node => node}/pkt_drop.c (100%)
 rename lib/{librte_node => node}/rte_node_eth_api.h (100%)
 rename lib/{librte_node => node}/rte_node_ip4_api.h (100%)
 rename lib/{librte_node => node}/version.map (100%)
 rename lib/{librte_pci => pci}/meson.build (100%)
 rename lib/{librte_pci => pci}/rte_pci.c (100%)
 rename lib/{librte_pci => pci}/rte_pci.h (100%)
 rename lib/{librte_pci => pci}/version.map (100%)
 rename lib/{librte_pdump => pdump}/meson.build (100%)
 rename lib/{librte_pdump => pdump}/rte_pdump.c (100%)
 rename lib/{librte_pdump => pdump}/rte_pdump.h (100%)
 rename lib/{librte_pdump => pdump}/version.map (100%)
 create mode 100644 lib/pipeline/meson.build
 rename lib/{librte_pipeline => pipeline}/rte_pipeline.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_pipeline.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_port_in_action.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_port_in_action.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_ctl.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_ctl.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_extern.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline_spec.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_table_action.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_table_action.h (100%)
 rename lib/{librte_pipeline => pipeline}/version.map (100%)
 create mode 100644 lib/port/meson.build
 rename lib/{librte_port => port}/rte_port.h (100%)
 rename lib/{librte_port => port}/rte_port_ethdev.c (100%)
 rename lib/{librte_port => port}/rte_port_ethdev.h (100%)
 rename lib/{librte_port => port}/rte_port_eventdev.c (100%)
 rename lib/{librte_port => port}/rte_port_eventdev.h (100%)
 rename lib/{librte_port => port}/rte_port_fd.c (100%)
 rename lib/{librte_port => port}/rte_port_fd.h (100%)
 rename lib/{librte_port => port}/rte_port_frag.c (100%)
 rename lib/{librte_port => port}/rte_port_frag.h (100%)
 rename lib/{librte_port => port}/rte_port_kni.c (100%)
 rename lib/{librte_port => port}/rte_port_kni.h (100%)
 rename lib/{librte_port => port}/rte_port_ras.c (100%)
 rename lib/{librte_port => port}/rte_port_ras.h (100%)
 rename lib/{librte_port => port}/rte_port_ring.c (100%)
 rename lib/{librte_port => port}/rte_port_ring.h (100%)
 rename lib/{librte_port => port}/rte_port_sched.c (100%)
 rename lib/{librte_port => port}/rte_port_sched.h (100%)
 rename lib/{librte_port => port}/rte_port_source_sink.c (100%)
 rename lib/{librte_port => port}/rte_port_source_sink.h (100%)
 rename lib/{librte_port => port}/rte_port_sym_crypto.c (100%)
 rename lib/{librte_port => port}/rte_port_sym_crypto.h (100%)
 rename lib/{librte_port => port}/rte_swx_port.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_ethdev.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_ethdev.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_fd.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_fd.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_ring.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_ring.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_source_sink.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_source_sink.h (100%)
 rename lib/{librte_port => port}/version.map (100%)
 rename lib/{librte_power => power}/guest_channel.c (100%)
 rename lib/{librte_power => power}/guest_channel.h (100%)
 create mode 100644 lib/power/meson.build
 rename lib/{librte_power => power}/power_acpi_cpufreq.c (100%)
 rename lib/{librte_power => power}/power_acpi_cpufreq.h (100%)
 rename lib/{librte_power => power}/power_common.c (100%)
 rename lib/{librte_power => power}/power_common.h (100%)
 rename lib/{librte_power => power}/power_kvm_vm.c (100%)
 rename lib/{librte_power => power}/power_kvm_vm.h (100%)
 rename lib/{librte_power => power}/power_pstate_cpufreq.c (100%)
 rename lib/{librte_power => power}/power_pstate_cpufreq.h (100%)
 rename lib/{librte_power => power}/rte_power.c (100%)
 rename lib/{librte_power => power}/rte_power.h (100%)
 rename lib/{librte_power => power}/rte_power_empty_poll.c (100%)
 rename lib/{librte_power => power}/rte_power_empty_poll.h (100%)
 rename lib/{librte_power => power}/rte_power_guest_channel.h (100%)
 rename lib/{librte_power => power}/rte_power_pmd_mgmt.c (100%)
 rename lib/{librte_power => power}/rte_power_pmd_mgmt.h (100%)
 rename lib/{librte_power => power}/version.map (100%)
 rename lib/{librte_rawdev => rawdev}/meson.build (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev.c (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev.h (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev_pmd.h (100%)
 rename lib/{librte_rawdev => rawdev}/version.map (100%)
 rename lib/{librte_rcu => rcu}/meson.build (100%)
 rename lib/{librte_rcu => rcu}/rcu_qsbr_pvt.h (100%)
 rename lib/{librte_rcu => rcu}/rte_rcu_qsbr.c (100%)
 rename lib/{librte_rcu => rcu}/rte_rcu_qsbr.h (100%)
 rename lib/{librte_rcu => rcu}/version.map (100%)
 rename lib/{librte_regexdev => regexdev}/meson.build (88%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev.c (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev.h (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev_core.h (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev_driver.h (100%)
 rename lib/{librte_regexdev => regexdev}/version.map (100%)
 rename lib/{librte_reorder => reorder}/meson.build (100%)
 rename lib/{librte_reorder => reorder}/rte_reorder.c (100%)
 rename lib/{librte_reorder => reorder}/rte_reorder.h (100%)
 rename lib/{librte_reorder => reorder}/version.map (100%)
 rename lib/{librte_rib => rib}/meson.build (100%)
 rename lib/{librte_rib => rib}/rte_rib.c (100%)
 rename lib/{librte_rib => rib}/rte_rib.h (100%)
 rename lib/{librte_rib => rib}/rte_rib6.c (100%)
 rename lib/{librte_rib => rib}/rte_rib6.h (100%)
 rename lib/{librte_rib => rib}/version.map (100%)
 create mode 100644 lib/ring/meson.build
 rename lib/{librte_ring => ring}/rte_ring.c (100%)
 rename lib/{librte_ring => ring}/rte_ring.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_c11_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_core.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_elem.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_generic_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_hts.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_hts_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek_zc.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_rts.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_rts_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/version.map (100%)
 rename lib/{librte_sched => sched}/meson.build (85%)
 rename lib/{librte_sched => sched}/rte_approx.c (100%)
 rename lib/{librte_sched => sched}/rte_approx.h (100%)
 rename lib/{librte_sched => sched}/rte_red.c (100%)
 rename lib/{librte_sched => sched}/rte_red.h (100%)
 rename lib/{librte_sched => sched}/rte_sched.c (100%)
 rename lib/{librte_sched => sched}/rte_sched.h (100%)
 rename lib/{librte_sched => sched}/rte_sched_common.h (100%)
 rename lib/{librte_sched => sched}/version.map (100%)
 rename lib/{librte_security => security}/meson.build (100%)
 rename lib/{librte_security => security}/rte_security.c (100%)
 rename lib/{librte_security => security}/rte_security.h (100%)
 rename lib/{librte_security => security}/rte_security_driver.h (100%)
 rename lib/{librte_security => security}/version.map (100%)
 rename lib/{librte_stack => stack}/meson.build (68%)
 rename lib/{librte_stack => stack}/rte_stack.c (100%)
 rename lib/{librte_stack => stack}/rte_stack.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf.c (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_c11.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_generic.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_stubs.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_std.c (100%)
 rename lib/{librte_stack => stack}/rte_stack_std.h (100%)
 rename lib/{librte_stack => stack}/stack_pvt.h (100%)
 rename lib/{librte_stack => stack}/version.map (100%)
 create mode 100644 lib/table/meson.build
 rename lib/{librte_table => table}/rte_lru.h (100%)
 rename lib/{librte_table => table}/rte_lru_arm64.h (100%)
 rename lib/{librte_table => table}/rte_lru_x86.h (100%)
 rename lib/{librte_table => table}/rte_swx_table.h (100%)
 rename lib/{librte_table => table}/rte_swx_table_em.c (100%)
 rename lib/{librte_table => table}/rte_swx_table_em.h (100%)
 rename lib/{librte_table => table}/rte_swx_table_wm.c (100%)
 rename lib/{librte_table => table}/rte_swx_table_wm.h (100%)
 rename lib/{librte_table => table}/rte_table.h (100%)
 rename lib/{librte_table => table}/rte_table_acl.c (100%)
 rename lib/{librte_table => table}/rte_table_acl.h (100%)
 rename lib/{librte_table => table}/rte_table_array.c (100%)
 rename lib/{librte_table => table}/rte_table_array.h (100%)
 rename lib/{librte_table => table}/rte_table_hash.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_cuckoo.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_cuckoo.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_ext.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_func.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_func_arm64.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_key16.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_key32.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_key8.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_lru.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm.h (100%)
 rename lib/{librte_table => table}/rte_table_lpm_ipv6.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm_ipv6.h (100%)
 rename lib/{librte_table => table}/rte_table_stub.c (100%)
 rename lib/{librte_table => table}/rte_table_stub.h (100%)
 rename lib/{librte_table => table}/version.map (100%)
 rename lib/{librte_telemetry => telemetry}/meson.build (80%)
 rename lib/{librte_telemetry => telemetry}/rte_telemetry.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry.c (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_data.c (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_data.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_internal.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_json.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_legacy.c (100%)
 rename lib/{librte_telemetry => telemetry}/version.map (100%)
 rename lib/{librte_timer => timer}/meson.build (100%)
 rename lib/{librte_timer => timer}/rte_timer.c (100%)
 rename lib/{librte_timer => timer}/rte_timer.h (100%)
 rename lib/{librte_timer => timer}/version.map (100%)
 rename lib/{librte_vhost => vhost}/fd_man.c (100%)
 rename lib/{librte_vhost => vhost}/fd_man.h (100%)
 rename lib/{librte_vhost => vhost}/iotlb.c (100%)
 rename lib/{librte_vhost => vhost}/iotlb.h (100%)
 rename lib/{librte_vhost => vhost}/meson.build (59%)
 rename lib/{librte_vhost => vhost}/rte_vdpa.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vdpa_dev.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost_async.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost_crypto.h (100%)
 rename lib/{librte_vhost => vhost}/socket.c (100%)
 rename lib/{librte_vhost => vhost}/vdpa.c (100%)
 rename lib/{librte_vhost => vhost}/version.map (100%)
 rename lib/{librte_vhost => vhost}/vhost.c (100%)
 rename lib/{librte_vhost => vhost}/vhost.h (100%)
 rename lib/{librte_vhost => vhost}/vhost_crypto.c (100%)
 rename lib/{librte_vhost => vhost}/vhost_user.c (100%)
 rename lib/{librte_vhost => vhost}/vhost_user.h (100%)
 rename lib/{librte_vhost => vhost}/virtio_crypto.h (100%)
 rename lib/{librte_vhost => vhost}/virtio_net.c (100%)

--
2.27.0

Comments

Andrew Rybchenko April 1, 2021, 12:27 p.m. UTC | #1
On 4/1/21 2:49 PM, Bruce Richardson wrote:
> This RFC contains 5 changes/updates to the DPDK build and build files. These
> updates all assume that the minimum version for DPDK has increased to at least
> meson 0.49 as proposed in [1].
> 
> The changes in this set are:
> 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
>    in the foreach loops when building library or driver components.
> 2. For libraries, drop support for header-only libraries, which was added just
>    for the "compat" lib which had a single header, and is now part of EAL. This
>    similarly reduces indentation levels and makes the code easier to follow
> 3. Since the larger blocks of meson code in our repo is seeing massive
>    whitespace changes, take the opportunity to switch our indentation style for
>    meson files from that of C-files using tabs, to Meson/Python style using
>    spaces. [More below on this for discussion]
> 4. Remove the "librte_" prefix from all our library directories. While as useful
>    cleanup, the main driver for this was that it simplifies the matching for #5
>    below.
> 5. Add a "disable_libs" build option to allow the user to optionally not build
>    certain components. Include in this an explicit list of libraries which are
>    "known safe" to disable in the build. For now this is a short list of three
>    libs, all of which are safe because they are not buildable on FreeBSD. More
>    work is needed to expand this list in future.
> 
> Of these changes, I expect #3 to be most controversial. The initial
> implementation of meson build for DPDK should have originally been done using
> the correct meson style using spaces[2], but sadly it was not done that way. If
> we are to ever change, I believe it should be now while other rework such as
> this is being done. Here are the arguments for/against, as I see them.
> 
> Reasons to change:
> * Align with official meson style, used on other projects
> * Reduce indentation levels in code. NOTE: While not normally a consideration in
>   programming, this is a possible issue with meson compared to C or Python,
>   because we cannot create separate functions to move inner loops to lower
>   indentation levels.
> * It's probably now or never.

+1 and I think it is better to do it now, not never

> Reasons not to change:
> * Outstanding patches for meson would need respin
> * More work involved in backports - though with the more complicated meson
>   blocks changing whitespace levels anyway due to #1 and #2 above, it's probably
>   no more difficult than it would otherwise be. The extra changes to e.g. list
>   indentation, require work to adjust whitespace, but are trivial to fix.
> * Code churn
> 
> Feedback on these patches and proposed changes welcome, as always.
> 
> [1] http://patches.dpdk.org/project/dpdk/list/?series=15827
> [2] https://mesonbuild.com/Style-guide.html#tabs-or-spaces
Luca Boccassi April 1, 2021, 1:15 p.m. UTC | #2
On Thu, 2021-04-01 at 15:27 +0300, Andrew Rybchenko wrote:
> On 4/1/21 2:49 PM, Bruce Richardson wrote:
> > This RFC contains 5 changes/updates to the DPDK build and build files. These
> > updates all assume that the minimum version for DPDK has increased to at least
> > meson 0.49 as proposed in [1].
> > 
> > The changes in this set are:
> > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
> >    in the foreach loops when building library or driver components.
> > 2. For libraries, drop support for header-only libraries, which was added just
> >    for the "compat" lib which had a single header, and is now part of EAL. This
> >    similarly reduces indentation levels and makes the code easier to follow
> > 3. Since the larger blocks of meson code in our repo is seeing massive
> >    whitespace changes, take the opportunity to switch our indentation style for
> >    meson files from that of C-files using tabs, to Meson/Python style using
> >    spaces. [More below on this for discussion]
> > 4. Remove the "librte_" prefix from all our library directories. While as useful
> >    cleanup, the main driver for this was that it simplifies the matching for #5
> >    below.
> > 5. Add a "disable_libs" build option to allow the user to optionally not build
> >    certain components. Include in this an explicit list of libraries which are
> >    "known safe" to disable in the build. For now this is a short list of three
> >    libs, all of which are safe because they are not buildable on FreeBSD. More
> >    work is needed to expand this list in future.
> > 
> > Of these changes, I expect #3 to be most controversial. The initial
> > implementation of meson build for DPDK should have originally been done using
> > the correct meson style using spaces[2], but sadly it was not done that way. If
> > we are to ever change, I believe it should be now while other rework such as
> > this is being done. Here are the arguments for/against, as I see them.
> > 
> > Reasons to change:
> > * Align with official meson style, used on other projects
> > * Reduce indentation levels in code. NOTE: While not normally a consideration in
> >   programming, this is a possible issue with meson compared to C or Python,
> >   because we cannot create separate functions to move inner loops to lower
> >   indentation levels.
> > * It's probably now or never.
> 
> +1 and I think it is better to do it now, not never

+1, with the addendum that we should add an ignore-rev file so that git
blame keeps working (needs to be done after merge, for the commit
hash):

https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame
Thomas Monjalon April 1, 2021, 1:36 p.m. UTC | #3
01/04/2021 13:49, Bruce Richardson:
> This RFC contains 5 changes/updates to the DPDK build and build files. These
> updates all assume that the minimum version for DPDK has increased to at least
> meson 0.49 as proposed in [1].
> 
> The changes in this set are:
> 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
>    in the foreach loops when building library or driver components.
> 2. For libraries, drop support for header-only libraries, which was added just
>    for the "compat" lib which had a single header, and is now part of EAL. This
>    similarly reduces indentation levels and makes the code easier to follow
> 3. Since the larger blocks of meson code in our repo is seeing massive
>    whitespace changes, take the opportunity to switch our indentation style for
>    meson files from that of C-files using tabs, to Meson/Python style using
>    spaces. [More below on this for discussion]
> 4. Remove the "librte_" prefix from all our library directories. While as useful
>    cleanup, the main driver for this was that it simplifies the matching for #5
>    below.
> 5. Add a "disable_libs" build option to allow the user to optionally not build
>    certain components. Include in this an explicit list of libraries which are
>    "known safe" to disable in the build. For now this is a short list of three
>    libs, all of which are safe because they are not buildable on FreeBSD. More
>    work is needed to expand this list in future.
> 
> Of these changes, I expect #3 to be most controversial.

Did you choose April 1st on purpose?
Bruce Richardson April 1, 2021, 2:10 p.m. UTC | #4
On Thu, Apr 01, 2021 at 03:36:39PM +0200, Thomas Monjalon wrote:
> 01/04/2021 13:49, Bruce Richardson:
> > This RFC contains 5 changes/updates to the DPDK build and build files. These
> > updates all assume that the minimum version for DPDK has increased to at least
> > meson 0.49 as proposed in [1].
> > 
> > The changes in this set are:
> > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
> >    in the foreach loops when building library or driver components.
> > 2. For libraries, drop support for header-only libraries, which was added just
> >    for the "compat" lib which had a single header, and is now part of EAL. This
> >    similarly reduces indentation levels and makes the code easier to follow
> > 3. Since the larger blocks of meson code in our repo is seeing massive
> >    whitespace changes, take the opportunity to switch our indentation style for
> >    meson files from that of C-files using tabs, to Meson/Python style using
> >    spaces. [More below on this for discussion]
> > 4. Remove the "librte_" prefix from all our library directories. While as useful
> >    cleanup, the main driver for this was that it simplifies the matching for #5
> >    below.
> > 5. Add a "disable_libs" build option to allow the user to optionally not build
> >    certain components. Include in this an explicit list of libraries which are
> >    "known safe" to disable in the build. For now this is a short list of three
> >    libs, all of which are safe because they are not buildable on FreeBSD. More
> >    work is needed to expand this list in future.
> > 
> > Of these changes, I expect #3 to be most controversial.
> 
> Did you choose April 1st on purpose?
> 
It kinda just happened that way. This patchset has been in the works for
some time, but never got to an RFC point before now. And what with more
serious things, I never got the opportunity to prepare a *proper* April 1st
patchset. :-)