From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ECCAC432C0 for ; Wed, 20 Nov 2019 17:23:45 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 0D40720895 for ; Wed, 20 Nov 2019 17:23:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0D40720895 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 474CC2B8E; Wed, 20 Nov 2019 18:23:44 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id BCF02A69 for ; Wed, 20 Nov 2019 18:23:42 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Nov 2019 09:23:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,222,1571727600"; d="scan'208";a="200793855" Received: from silpixa00399498.ir.intel.com (HELO silpixa00399498.ger.corp.intel.com) ([10.237.223.151]) by orsmga008.jf.intel.com with ESMTP; 20 Nov 2019 09:23:39 -0800 From: Anatoly Burakov To: dev@dpdk.org Cc: john.mcnamara@intel.com, ray.kinsella@intel.com, bruce.richardson@intel.com, thomas@monjalon.net, david.marchand@redhat.com Date: Wed, 20 Nov 2019 17:23:27 +0000 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v8 00/12] Implement the new ABI policy and add helper scripts X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset prepares the codebase for the new ABI policy and adds a few helper scripts. There are two new scripts for managing ABI versions added. The first one is a Python script that will read in a .map file, flatten it and update the ABI version to the ABI version specified on the command-line. The second one is a shell script that will run the above mentioned Python script recursively over the source tree and set the ABI version to either that which is defined in ABI_VERSION, or a user-specified one. Example of its usage: buildtools/update-abi.sh 20.0 This will recurse into lib/ and drivers/ directory and update whatever .map files it can find. The other shell script that's added is one that can take in a .so file and ensure that its declared public ABI matches either current ABI, next ABI, or EXPERIMENTAL. This was moved to the last commit because it made no sense to have it beforehand. The source tree was verified to follow the new ABI policy using the following command (assuming built binaries are in build/): find ./build/lib ./build/drivers -name \*.so \ -exec ./buildtools/check-abi-version.sh {} \; -print This returns 0. Changes since v7: - Addressed review feedback from Thomas regarding scripts - Addressed David's suggestion to remove old ABI from timer/lpm - Changed the way that experimental libraries are versioned (they are now versioned using the same major/minor ABI versions, but are constructed differently (e.g. 0.201 for 20.1 release) - Removed CONFIG_RTE_MAJOR_ABI from base config - Removed traces of individual library versioning - Adjusted the ABI policy documentation to state that minor ABI version is bumped every release for both stable and experimental ABI Changes since v6: - Rebase on top of latest master - Fixed map file generation to generate stable ABI if it was there, even if it was empty Changes since v5: - Addressed David's comments regarding libtool error messages - Fixed map file generation to not generate empty stable ABI if it wasn't there before Changes since v4: - Fixed shared library build issue for distributor Changes since v3: - Put distributor code back and cleaned it up - Rebased on latest master and regenerated commit 9 Changes since v2: - Addressed Bruce's review comments - Removed single distributor mode as per Dave's suggestion Changes since v1: - Reordered patchset to have removal of old ABI's before introducing the new one to avoid compile breakages between patches - Added a new patch fixing missing symbol in octeontx common - Split script commits into multiple commits and reordered them - Re-generated the ABI bump commit - Verified all scripts to work Anatoly Burakov (4): config: remove CONFIG_RTE_MAJOR_ABI option build: remove individual library versions buildtools: add ABI update shell script drivers/octeontx: add missing public symbol Marcin Baran (6): config: change ABI versioning to global timer: remove deprecated code lpm: remove deprecated code distributor: remove deprecated code distributor: rename v2.0 ABI to _single suffix buildtools: add ABI versioning check script Pawel Modrak (2): buildtools: add script for updating symbols abi version build: change ABI version to 20.0 ABI_VERSION | 1 + buildtools/check-abi-version.sh | 54 + buildtools/meson.build | 3 + buildtools/update-abi.sh | 46 + buildtools/update_version_map_abi.py | 175 +++ config/common_base | 5 - config/meson.build | 7 +- doc/guides/contributing/abi_versioning.rst | 17 +- doc/guides/contributing/coding_style.rst | 8 +- drivers/baseband/fpga_lte_fec/Makefile | 3 - .../rte_pmd_bbdev_fpga_lte_fec_version.map | 8 +- drivers/baseband/null/Makefile | 3 - .../null/rte_pmd_bbdev_null_version.map | 2 +- drivers/baseband/turbo_sw/Makefile | 3 - .../rte_pmd_bbdev_turbo_sw_version.map | 2 +- drivers/bus/dpaa/Makefile | 2 - drivers/bus/dpaa/meson.build | 2 - drivers/bus/dpaa/rte_bus_dpaa_version.map | 113 +- drivers/bus/fslmc/Makefile | 3 - drivers/bus/fslmc/meson.build | 2 - drivers/bus/fslmc/rte_bus_fslmc_version.map | 154 +-- drivers/bus/ifpga/Makefile | 3 - drivers/bus/ifpga/meson.build | 2 - drivers/bus/ifpga/rte_bus_ifpga_version.map | 14 +- drivers/bus/pci/Makefile | 1 - drivers/bus/pci/meson.build | 2 - drivers/bus/pci/rte_bus_pci_version.map | 2 +- drivers/bus/vdev/Makefile | 3 - drivers/bus/vdev/meson.build | 2 - drivers/bus/vdev/rte_bus_vdev_version.map | 12 +- drivers/bus/vmbus/Makefile | 1 - drivers/bus/vmbus/meson.build | 2 - drivers/bus/vmbus/rte_bus_vmbus_version.map | 12 +- drivers/common/cpt/Makefile | 2 - drivers/common/cpt/rte_common_cpt_version.map | 9 +- drivers/common/dpaax/Makefile | 3 - .../common/dpaax/rte_common_dpaax_version.map | 14 +- drivers/common/mvep/Makefile | 3 - .../common/mvep/rte_common_mvep_version.map | 6 +- drivers/common/octeontx/Makefile | 2 - .../octeontx/rte_common_octeontx_version.map | 7 +- drivers/common/octeontx2/Makefile | 2 - .../rte_common_octeontx2_version.map | 16 +- drivers/compress/isal/Makefile | 3 - .../compress/isal/rte_pmd_isal_version.map | 2 +- drivers/compress/octeontx/Makefile | 3 - .../rte_pmd_octeontx_compress_version.map | 2 +- drivers/compress/qat/rte_pmd_qat_version.map | 2 +- drivers/compress/zlib/Makefile | 3 - .../compress/zlib/rte_pmd_zlib_version.map | 2 +- drivers/crypto/aesni_gcm/Makefile | 3 - .../aesni_gcm/rte_pmd_aesni_gcm_version.map | 2 +- drivers/crypto/aesni_mb/Makefile | 3 - .../aesni_mb/rte_pmd_aesni_mb_version.map | 2 +- drivers/crypto/armv8/Makefile | 3 - .../crypto/armv8/rte_pmd_armv8_version.map | 2 +- drivers/crypto/caam_jr/Makefile | 3 - .../caam_jr/rte_pmd_caam_jr_version.map | 3 +- drivers/crypto/ccp/Makefile | 3 - drivers/crypto/ccp/rte_pmd_ccp_version.map | 3 +- drivers/crypto/dpaa2_sec/Makefile | 3 - drivers/crypto/dpaa2_sec/meson.build | 2 - .../dpaa2_sec/rte_pmd_dpaa2_sec_version.map | 10 +- drivers/crypto/dpaa_sec/Makefile | 3 - .../dpaa_sec/rte_pmd_dpaa_sec_version.map | 10 +- drivers/crypto/kasumi/Makefile | 3 - .../crypto/kasumi/rte_pmd_kasumi_version.map | 2 +- drivers/crypto/mvsam/Makefile | 3 - .../crypto/mvsam/rte_pmd_mvsam_version.map | 2 +- drivers/crypto/nitrox/Makefile | 3 - .../crypto/nitrox/rte_pmd_nitrox_version.map | 2 +- drivers/crypto/null/Makefile | 3 - .../null/rte_pmd_null_crypto_version.map | 2 +- drivers/crypto/octeontx/Makefile | 3 - .../rte_pmd_octeontx_crypto_version.map | 3 +- drivers/crypto/octeontx2/Makefile | 3 - .../rte_pmd_octeontx2_crypto_version.map | 3 +- drivers/crypto/openssl/Makefile | 3 - .../openssl/rte_pmd_openssl_version.map | 2 +- drivers/crypto/scheduler/Makefile | 3 - .../rte_pmd_crypto_scheduler_version.map | 19 +- drivers/crypto/snow3g/Makefile | 3 - .../crypto/snow3g/rte_pmd_snow3g_version.map | 2 +- drivers/crypto/virtio/Makefile | 2 - .../virtio/rte_pmd_virtio_crypto_version.map | 2 +- drivers/crypto/zuc/Makefile | 3 - drivers/crypto/zuc/rte_pmd_zuc_version.map | 2 +- drivers/event/dpaa/Makefile | 2 - .../event/dpaa/rte_pmd_dpaa_event_version.map | 3 +- drivers/event/dpaa2/Makefile | 2 - drivers/event/dpaa2/meson.build | 2 - .../dpaa2/rte_pmd_dpaa2_event_version.map | 2 +- drivers/event/dsw/Makefile | 2 - .../event/dsw/rte_pmd_dsw_event_version.map | 2 +- drivers/event/octeontx/Makefile | 2 - .../rte_pmd_octeontx_event_version.map | 2 +- drivers/event/octeontx2/Makefile | 2 - .../rte_pmd_octeontx2_event_version.map | 3 +- drivers/event/opdl/Makefile | 3 - .../event/opdl/rte_pmd_opdl_event_version.map | 2 +- drivers/event/skeleton/Makefile | 2 - .../rte_pmd_skeleton_event_version.map | 3 +- drivers/event/sw/Makefile | 3 - drivers/event/sw/rte_pmd_sw_event_version.map | 2 +- drivers/mempool/bucket/Makefile | 2 - .../bucket/rte_mempool_bucket_version.map | 3 +- drivers/mempool/dpaa/Makefile | 3 - .../mempool/dpaa/rte_mempool_dpaa_version.map | 2 +- drivers/mempool/dpaa2/Makefile | 3 - drivers/mempool/dpaa2/meson.build | 2 - .../dpaa2/rte_mempool_dpaa2_version.map | 12 +- drivers/mempool/octeontx/Makefile | 2 - .../octeontx/rte_mempool_octeontx_version.map | 2 +- drivers/mempool/octeontx2/Makefile | 2 - .../rte_mempool_octeontx2_version.map | 4 +- drivers/mempool/ring/Makefile | 2 - .../mempool/ring/rte_mempool_ring_version.map | 3 +- drivers/mempool/stack/Makefile | 2 - .../stack/rte_mempool_stack_version.map | 3 +- drivers/meson.build | 18 +- drivers/net/af_packet/Makefile | 2 - .../af_packet/rte_pmd_af_packet_version.map | 3 +- drivers/net/af_xdp/Makefile | 2 - drivers/net/af_xdp/rte_pmd_af_xdp_version.map | 2 +- drivers/net/ark/Makefile | 2 - drivers/net/ark/rte_pmd_ark_version.map | 5 +- drivers/net/atlantic/Makefile | 2 - .../net/atlantic/rte_pmd_atlantic_version.map | 4 +- drivers/net/avp/Makefile | 2 - drivers/net/avp/rte_pmd_avp_version.map | 2 +- drivers/net/axgbe/Makefile | 2 - drivers/net/axgbe/rte_pmd_axgbe_version.map | 2 +- drivers/net/bnx2x/Makefile | 2 - drivers/net/bnx2x/rte_pmd_bnx2x_version.map | 3 +- drivers/net/bnxt/Makefile | 2 - drivers/net/bnxt/meson.build | 1 - drivers/net/bnxt/rte_pmd_bnxt_version.map | 4 +- drivers/net/bonding/Makefile | 2 - drivers/net/bonding/meson.build | 1 - drivers/net/bonding/rte_pmd_bond_version.map | 47 +- drivers/net/cxgbe/Makefile | 2 - drivers/net/cxgbe/rte_pmd_cxgbe_version.map | 3 +- drivers/net/dpaa/Makefile | 2 - drivers/net/dpaa/rte_pmd_dpaa_version.map | 11 +- drivers/net/dpaa2/Makefile | 3 - drivers/net/dpaa2/meson.build | 2 - drivers/net/dpaa2/rte_pmd_dpaa2_version.map | 12 +- drivers/net/e1000/Makefile | 2 - drivers/net/e1000/rte_pmd_e1000_version.map | 3 +- drivers/net/ena/Makefile | 2 - drivers/net/ena/rte_pmd_ena_version.map | 3 +- drivers/net/enetc/Makefile | 2 - drivers/net/enetc/rte_pmd_enetc_version.map | 3 +- drivers/net/enic/Makefile | 2 - drivers/net/enic/rte_pmd_enic_version.map | 3 +- drivers/net/failsafe/Makefile | 2 - .../net/failsafe/rte_pmd_failsafe_version.map | 3 +- drivers/net/fm10k/Makefile | 2 - drivers/net/fm10k/rte_pmd_fm10k_version.map | 3 +- drivers/net/hinic/Makefile | 2 - drivers/net/hinic/rte_pmd_hinic_version.map | 3 +- drivers/net/hns3/Makefile | 2 - drivers/net/hns3/rte_pmd_hns3_version.map | 4 +- drivers/net/i40e/Makefile | 2 - drivers/net/i40e/meson.build | 2 - drivers/net/i40e/rte_pmd_i40e_version.map | 65 +- drivers/net/iavf/Makefile | 2 - drivers/net/iavf/rte_pmd_iavf_version.map | 3 +- drivers/net/ice/Makefile | 2 - drivers/net/ice/rte_pmd_ice_version.map | 3 +- drivers/net/ifc/Makefile | 2 - drivers/net/ifc/rte_pmd_ifc_version.map | 3 +- drivers/net/ipn3ke/Makefile | 2 - drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map | 3 +- drivers/net/ixgbe/Makefile | 2 - drivers/net/ixgbe/meson.build | 2 - drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 62 +- drivers/net/kni/Makefile | 2 - drivers/net/kni/rte_pmd_kni_version.map | 3 +- drivers/net/liquidio/Makefile | 2 - .../net/liquidio/rte_pmd_liquidio_version.map | 3 +- drivers/net/memif/Makefile | 2 - drivers/net/memif/rte_pmd_memif_version.map | 5 +- drivers/net/mlx4/Makefile | 2 - drivers/net/mlx4/rte_pmd_mlx4_version.map | 3 +- drivers/net/mlx5/Makefile | 2 - drivers/net/mlx5/rte_pmd_mlx5_version.map | 2 +- drivers/net/mvneta/Makefile | 3 - drivers/net/mvneta/rte_pmd_mvneta_version.map | 2 +- drivers/net/mvpp2/Makefile | 3 - drivers/net/mvpp2/rte_pmd_mvpp2_version.map | 2 +- drivers/net/netvsc/Makefile | 2 - drivers/net/netvsc/meson.build | 1 - drivers/net/netvsc/rte_pmd_netvsc_version.map | 4 +- drivers/net/nfb/Makefile | 2 - drivers/net/nfb/rte_pmd_nfb_version.map | 3 +- drivers/net/nfp/Makefile | 2 - drivers/net/nfp/rte_pmd_nfp_version.map | 2 +- drivers/net/null/Makefile | 2 - drivers/net/null/meson.build | 1 - drivers/net/null/rte_pmd_null_version.map | 3 +- drivers/net/octeontx/Makefile | 2 - .../net/octeontx/rte_pmd_octeontx_version.map | 10 +- drivers/net/octeontx2/Makefile | 2 - .../octeontx2/rte_pmd_octeontx2_version.map | 3 +- drivers/net/pcap/Makefile | 2 - drivers/net/pcap/rte_pmd_pcap_version.map | 3 +- drivers/net/pfe/Makefile | 2 - drivers/net/pfe/rte_pmd_pfe_version.map | 3 +- drivers/net/qede/Makefile | 2 - drivers/net/qede/rte_pmd_qede_version.map | 3 +- drivers/net/ring/Makefile | 2 - drivers/net/ring/meson.build | 1 - drivers/net/ring/rte_pmd_ring_version.map | 10 +- drivers/net/sfc/Makefile | 2 - drivers/net/sfc/rte_pmd_sfc_version.map | 3 +- drivers/net/softnic/Makefile | 2 - .../net/softnic/rte_pmd_softnic_version.map | 2 +- drivers/net/szedata2/Makefile | 2 - .../net/szedata2/rte_pmd_szedata2_version.map | 2 +- drivers/net/tap/Makefile | 2 - drivers/net/tap/rte_pmd_tap_version.map | 3 +- drivers/net/thunderx/Makefile | 2 - .../net/thunderx/rte_pmd_thunderx_version.map | 3 +- drivers/net/vdev_netvsc/Makefile | 1 - .../rte_pmd_vdev_netvsc_version.map | 3 +- drivers/net/vhost/Makefile | 2 - drivers/net/vhost/meson.build | 1 - drivers/net/vhost/rte_pmd_vhost_version.map | 11 +- drivers/net/virtio/Makefile | 2 - drivers/net/virtio/rte_pmd_virtio_version.map | 3 +- drivers/net/vmxnet3/Makefile | 2 - .../net/vmxnet3/rte_pmd_vmxnet3_version.map | 3 +- drivers/raw/dpaa2_cmdif/Makefile | 2 - drivers/raw/dpaa2_cmdif/meson.build | 2 - .../rte_rawdev_dpaa2_cmdif_version.map | 3 +- drivers/raw/dpaa2_qdma/Makefile | 2 - drivers/raw/dpaa2_qdma/meson.build | 2 - .../rte_rawdev_dpaa2_qdma_version.map | 4 +- drivers/raw/ifpga/Makefile | 2 - drivers/raw/ifpga/meson.build | 2 - .../raw/ifpga/rte_rawdev_ifpga_version.map | 3 +- drivers/raw/ioat/Makefile | 3 - drivers/raw/ioat/rte_rawdev_ioat_version.map | 3 +- drivers/raw/ntb/Makefile | 2 - drivers/raw/ntb/rte_rawdev_ntb_version.map | 5 +- drivers/raw/octeontx2_dma/Makefile | 2 - .../rte_rawdev_octeontx2_dma_version.map | 3 +- drivers/raw/skeleton/Makefile | 2 - .../skeleton/rte_rawdev_skeleton_version.map | 3 +- examples/ethtool/lib/Makefile | 2 - lib/librte_acl/Makefile | 2 - lib/librte_acl/meson.build | 1 - lib/librte_acl/rte_acl_version.map | 2 +- lib/librte_bbdev/Makefile | 3 - lib/librte_bitratestats/Makefile | 2 - lib/librte_bitratestats/meson.build | 1 - .../rte_bitratestats_version.map | 2 +- lib/librte_bpf/Makefile | 2 - lib/librte_cfgfile/Makefile | 2 - lib/librte_cfgfile/meson.build | 1 - lib/librte_cfgfile/rte_cfgfile_version.map | 34 +- lib/librte_cmdline/Makefile | 2 - lib/librte_cmdline/meson.build | 1 - lib/librte_cmdline/rte_cmdline_version.map | 10 +- lib/librte_compressdev/Makefile | 3 - lib/librte_cryptodev/Makefile | 3 - lib/librte_cryptodev/meson.build | 1 - .../rte_cryptodev_version.map | 102 +- lib/librte_distributor/Makefile | 4 +- lib/librte_distributor/distributor_private.h | 10 +- lib/librte_distributor/meson.build | 2 +- lib/librte_distributor/rte_distributor.c | 98 +- ...ributor_v20.c => rte_distributor_single.c} | 73 +- ...ributor_v20.h => rte_distributor_single.h} | 26 +- .../rte_distributor_v1705.h | 61 - .../rte_distributor_version.map | 16 +- lib/librte_eal/freebsd/eal/Makefile | 2 - lib/librte_eal/linux/eal/Makefile | 2 - lib/librte_eal/rte_eal_version.map | 324 ++---- lib/librte_efd/Makefile | 2 - lib/librte_efd/rte_efd_version.map | 2 +- lib/librte_ethdev/Makefile | 2 - lib/librte_ethdev/meson.build | 1 - lib/librte_ethdev/rte_ethdev_version.map | 160 +-- lib/librte_eventdev/Makefile | 3 - lib/librte_eventdev/meson.build | 1 - lib/librte_eventdev/rte_eventdev_version.map | 130 +-- lib/librte_fib/Makefile | 2 - lib/librte_flow_classify/Makefile | 2 - lib/librte_gro/Makefile | 2 - lib/librte_gro/rte_gro_version.map | 2 +- lib/librte_gso/Makefile | 2 - lib/librte_gso/rte_gso_version.map | 2 +- lib/librte_hash/Makefile | 2 - lib/librte_hash/meson.build | 1 - lib/librte_hash/rte_hash_version.map | 43 +- lib/librte_ip_frag/Makefile | 2 - lib/librte_ip_frag/rte_ip_frag_version.map | 10 +- lib/librte_ipsec/Makefile | 2 - lib/librte_ipsec/meson.build | 1 - lib/librte_jobstats/Makefile | 2 - lib/librte_jobstats/rte_jobstats_version.map | 10 +- lib/librte_kni/Makefile | 2 - lib/librte_kni/meson.build | 1 - lib/librte_kni/rte_kni_version.map | 2 +- lib/librte_kvargs/Makefile | 2 - lib/librte_kvargs/meson.build | 1 - lib/librte_kvargs/rte_kvargs_version.map | 4 +- lib/librte_latencystats/Makefile | 2 - .../rte_latencystats_version.map | 2 +- lib/librte_lpm/Makefile | 2 - lib/librte_lpm/meson.build | 1 - lib/librte_lpm/rte_lpm.c | 1010 +---------------- lib/librte_lpm/rte_lpm.h | 88 -- lib/librte_lpm/rte_lpm6.c | 140 +-- lib/librte_lpm/rte_lpm6.h | 25 - lib/librte_lpm/rte_lpm_version.map | 39 +- lib/librte_mbuf/Makefile | 2 - lib/librte_mbuf/meson.build | 1 - lib/librte_mbuf/rte_mbuf_version.map | 49 +- lib/librte_member/Makefile | 2 - lib/librte_member/rte_member_version.map | 2 +- lib/librte_mempool/Makefile | 2 - lib/librte_mempool/meson.build | 1 - lib/librte_mempool/rte_mempool_version.map | 44 +- lib/librte_meter/Makefile | 2 - lib/librte_meter/meson.build | 1 - lib/librte_meter/rte_meter_version.map | 13 +- lib/librte_metrics/Makefile | 2 - lib/librte_metrics/rte_metrics_version.map | 2 +- lib/librte_net/Makefile | 2 - lib/librte_net/meson.build | 1 - lib/librte_net/rte_net_version.map | 23 +- lib/librte_pci/Makefile | 2 - lib/librte_pci/meson.build | 2 - lib/librte_pci/rte_pci_version.map | 2 +- lib/librte_pdump/Makefile | 2 - lib/librte_pdump/meson.build | 1 - lib/librte_pdump/rte_pdump_version.map | 2 +- lib/librte_pipeline/Makefile | 2 - lib/librte_pipeline/meson.build | 1 - lib/librte_pipeline/rte_pipeline_version.map | 36 +- lib/librte_port/Makefile | 2 - lib/librte_port/meson.build | 1 - lib/librte_port/rte_port_version.map | 64 +- lib/librte_power/Makefile | 2 - lib/librte_power/rte_power_version.map | 24 +- lib/librte_rawdev/Makefile | 3 - lib/librte_rawdev/rte_rawdev_version.map | 4 +- lib/librte_rcu/Makefile | 2 - lib/librte_reorder/Makefile | 2 - lib/librte_reorder/rte_reorder_version.map | 8 +- lib/librte_rib/Makefile | 2 - lib/librte_ring/Makefile | 2 - lib/librte_ring/meson.build | 1 - lib/librte_ring/rte_ring_version.map | 10 +- lib/librte_sched/Makefile | 2 - lib/librte_sched/meson.build | 1 - lib/librte_sched/rte_sched_version.map | 14 +- lib/librte_security/Makefile | 3 - lib/librte_security/meson.build | 1 - lib/librte_security/rte_security_version.map | 2 +- lib/librte_stack/Makefile | 2 - lib/librte_stack/meson.build | 1 - lib/librte_table/Makefile | 2 - lib/librte_table/meson.build | 1 - lib/librte_table/rte_table_version.map | 2 +- lib/librte_telemetry/Makefile | 2 - lib/librte_timer/Makefile | 2 - lib/librte_timer/rte_timer.c | 100 +- lib/librte_timer/rte_timer.h | 15 - lib/librte_timer/rte_timer_version.map | 12 +- lib/librte_vhost/Makefile | 2 - lib/librte_vhost/meson.build | 1 - lib/librte_vhost/rte_vhost_version.map | 52 +- lib/meson.build | 17 +- meson_options.txt | 2 - mk/rte.lib.mk | 14 +- 379 files changed, 1172 insertions(+), 3409 deletions(-) create mode 100644 ABI_VERSION create mode 100755 buildtools/check-abi-version.sh create mode 100755 buildtools/update-abi.sh create mode 100755 buildtools/update_version_map_abi.py rename lib/librte_distributor/{rte_distributor_v20.c => rte_distributor_single.c} (84%) rename lib/librte_distributor/{rte_distributor_v20.h => rte_distributor_single.h} (89%) delete mode 100644 lib/librte_distributor/rte_distributor_v1705.h -- 2.17.1