From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C25D4A3168 for ; Wed, 16 Oct 2019 14:43:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 717B21E92D; Wed, 16 Oct 2019 14:43:30 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 3F2D81E8D0 for ; Wed, 16 Oct 2019 14:43:28 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Oct 2019 05:43:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,303,1566889200"; d="scan'208";a="370788251" Received: from silpixa00399498.ir.intel.com (HELO silpixa00399498.ger.corp.intel.com) ([10.237.223.151]) by orsmga005.jf.intel.com with ESMTP; 16 Oct 2019 05:43:25 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: john.mcnamara@intel.com, bruce.richardson@intel.com, thomas@monjalon.net, david.marchand@redhat.com Date: Wed, 16 Oct 2019 13:43:15 +0100 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190930092139.2440-1-marcinx.baran@intel.com> References: <20190930092139.2440-1-marcinx.baran@intel.com> Subject: [dpdk-dev] [PATCH v2 00/10] 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 config/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 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 (2): buildtools: add ABI update shell script drivers/octeontx: add missing public symbol Marcin Baran (6): config: change ABI versioning for global timer: remove deprecated code lpm: remove deprecated code distributor: remove deprecated code lib: change function suffix in distributor buildtools: add ABI versioning check script Pawel Modrak (2): buildtools: add script for updating symbols abi version build: change ABI version to 20.0 buildtools/check-abi-version.sh | 54 + buildtools/meson.build | 2 + buildtools/update-abi.sh | 36 + buildtools/update_version_map_abi.py | 148 +++ config/ABI_VERSION | 1 + config/meson.build | 3 +- .../rte_pmd_bbdev_fpga_lte_fec_version.map | 8 +- .../null/rte_pmd_bbdev_null_version.map | 2 +- .../rte_pmd_bbdev_turbo_sw_version.map | 2 +- drivers/bus/dpaa/rte_bus_dpaa_version.map | 115 +- drivers/bus/fslmc/rte_bus_fslmc_version.map | 154 ++- drivers/bus/ifpga/rte_bus_ifpga_version.map | 14 +- drivers/bus/pci/rte_bus_pci_version.map | 2 +- drivers/bus/vdev/rte_bus_vdev_version.map | 12 +- drivers/bus/vmbus/rte_bus_vmbus_version.map | 12 +- drivers/common/cpt/rte_common_cpt_version.map | 4 +- .../common/dpaax/rte_common_dpaax_version.map | 4 +- .../common/mvep/rte_common_mvep_version.map | 6 +- .../octeontx/rte_common_octeontx_version.map | 7 +- .../rte_common_octeontx2_version.map | 16 +- .../compress/isal/rte_pmd_isal_version.map | 2 +- .../rte_pmd_octeontx_compress_version.map | 2 +- drivers/compress/qat/rte_pmd_qat_version.map | 2 +- .../compress/zlib/rte_pmd_zlib_version.map | 2 +- .../aesni_gcm/rte_pmd_aesni_gcm_version.map | 2 +- .../aesni_mb/rte_pmd_aesni_mb_version.map | 2 +- .../crypto/armv8/rte_pmd_armv8_version.map | 2 +- .../caam_jr/rte_pmd_caam_jr_version.map | 3 +- drivers/crypto/ccp/rte_pmd_ccp_version.map | 3 +- .../dpaa2_sec/rte_pmd_dpaa2_sec_version.map | 10 +- .../dpaa_sec/rte_pmd_dpaa_sec_version.map | 10 +- .../crypto/kasumi/rte_pmd_kasumi_version.map | 2 +- .../crypto/mvsam/rte_pmd_mvsam_version.map | 2 +- .../crypto/nitrox/rte_pmd_nitrox_version.map | 2 +- .../null/rte_pmd_null_crypto_version.map | 2 +- .../rte_pmd_octeontx_crypto_version.map | 3 +- .../openssl/rte_pmd_openssl_version.map | 2 +- .../rte_pmd_crypto_scheduler_version.map | 19 +- .../crypto/snow3g/rte_pmd_snow3g_version.map | 2 +- .../virtio/rte_pmd_virtio_crypto_version.map | 2 +- drivers/crypto/zuc/rte_pmd_zuc_version.map | 2 +- .../event/dpaa/rte_pmd_dpaa_event_version.map | 3 +- .../dpaa2/rte_pmd_dpaa2_event_version.map | 2 +- .../event/dsw/rte_pmd_dsw_event_version.map | 2 +- .../rte_pmd_octeontx_event_version.map | 2 +- .../rte_pmd_octeontx2_event_version.map | 3 +- .../event/opdl/rte_pmd_opdl_event_version.map | 2 +- .../rte_pmd_skeleton_event_version.map | 3 +- drivers/event/sw/rte_pmd_sw_event_version.map | 2 +- .../bucket/rte_mempool_bucket_version.map | 3 +- .../mempool/dpaa/rte_mempool_dpaa_version.map | 2 +- .../dpaa2/rte_mempool_dpaa2_version.map | 12 +- .../octeontx/rte_mempool_octeontx_version.map | 2 +- .../rte_mempool_octeontx2_version.map | 4 +- .../mempool/ring/rte_mempool_ring_version.map | 3 +- .../stack/rte_mempool_stack_version.map | 3 +- drivers/meson.build | 20 +- .../af_packet/rte_pmd_af_packet_version.map | 3 +- drivers/net/af_xdp/rte_pmd_af_xdp_version.map | 2 +- drivers/net/ark/rte_pmd_ark_version.map | 5 +- .../net/atlantic/rte_pmd_atlantic_version.map | 4 +- drivers/net/avp/rte_pmd_avp_version.map | 2 +- drivers/net/axgbe/rte_pmd_axgbe_version.map | 2 +- drivers/net/bnx2x/rte_pmd_bnx2x_version.map | 3 +- drivers/net/bnxt/rte_pmd_bnxt_version.map | 4 +- drivers/net/bonding/rte_pmd_bond_version.map | 47 +- drivers/net/cxgbe/rte_pmd_cxgbe_version.map | 3 +- drivers/net/dpaa/rte_pmd_dpaa_version.map | 11 +- drivers/net/dpaa2/rte_pmd_dpaa2_version.map | 12 +- drivers/net/e1000/rte_pmd_e1000_version.map | 3 +- drivers/net/ena/rte_pmd_ena_version.map | 3 +- drivers/net/enetc/rte_pmd_enetc_version.map | 3 +- drivers/net/enic/rte_pmd_enic_version.map | 3 +- .../net/failsafe/rte_pmd_failsafe_version.map | 3 +- drivers/net/fm10k/rte_pmd_fm10k_version.map | 3 +- drivers/net/hinic/rte_pmd_hinic_version.map | 3 +- drivers/net/hns3/rte_pmd_hns3_version.map | 4 +- drivers/net/i40e/rte_pmd_i40e_version.map | 65 +- drivers/net/iavf/rte_pmd_iavf_version.map | 3 +- drivers/net/ice/rte_pmd_ice_version.map | 3 +- drivers/net/ifc/rte_pmd_ifc_version.map | 3 +- drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map | 3 +- drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 62 +- drivers/net/kni/rte_pmd_kni_version.map | 3 +- .../net/liquidio/rte_pmd_liquidio_version.map | 3 +- drivers/net/memif/rte_pmd_memif_version.map | 5 +- drivers/net/mlx4/rte_pmd_mlx4_version.map | 3 +- drivers/net/mlx5/rte_pmd_mlx5_version.map | 2 +- drivers/net/mvneta/rte_pmd_mvneta_version.map | 2 +- drivers/net/mvpp2/rte_pmd_mvpp2_version.map | 2 +- drivers/net/netvsc/rte_pmd_netvsc_version.map | 4 +- drivers/net/nfb/rte_pmd_nfb_version.map | 3 +- drivers/net/nfp/rte_pmd_nfp_version.map | 2 +- drivers/net/null/rte_pmd_null_version.map | 3 +- .../net/octeontx/rte_pmd_octeontx_version.map | 10 +- .../octeontx2/rte_pmd_octeontx2_version.map | 3 +- drivers/net/pcap/rte_pmd_pcap_version.map | 3 +- drivers/net/qede/rte_pmd_qede_version.map | 3 +- drivers/net/ring/rte_pmd_ring_version.map | 10 +- drivers/net/sfc/rte_pmd_sfc_version.map | 3 +- .../net/softnic/rte_pmd_softnic_version.map | 2 +- .../net/szedata2/rte_pmd_szedata2_version.map | 2 +- drivers/net/tap/rte_pmd_tap_version.map | 3 +- .../net/thunderx/rte_pmd_thunderx_version.map | 3 +- .../rte_pmd_vdev_netvsc_version.map | 3 +- drivers/net/vhost/rte_pmd_vhost_version.map | 11 +- drivers/net/virtio/rte_pmd_virtio_version.map | 3 +- .../net/vmxnet3/rte_pmd_vmxnet3_version.map | 3 +- .../rte_rawdev_dpaa2_cmdif_version.map | 3 +- .../rte_rawdev_dpaa2_qdma_version.map | 4 +- .../raw/ifpga/rte_rawdev_ifpga_version.map | 3 +- drivers/raw/ioat/rte_rawdev_ioat_version.map | 3 +- drivers/raw/ntb/rte_rawdev_ntb_version.map | 5 +- .../rte_rawdev_octeontx2_dma_version.map | 3 +- .../skeleton/rte_rawdev_skeleton_version.map | 3 +- lib/librte_acl/rte_acl_version.map | 2 +- lib/librte_bbdev/rte_bbdev_version.map | 4 + .../rte_bitratestats_version.map | 2 +- lib/librte_bpf/rte_bpf_version.map | 4 + lib/librte_cfgfile/rte_cfgfile_version.map | 34 +- lib/librte_cmdline/rte_cmdline_version.map | 10 +- .../rte_compressdev_version.map | 4 + .../rte_cryptodev_version.map | 102 +- lib/librte_distributor/Makefile | 2 +- lib/librte_distributor/meson.build | 2 +- lib/librte_distributor/rte_distributor.c | 80 +- .../rte_distributor_private.h | 10 +- ...ributor_v20.c => rte_distributor_single.c} | 48 +- ...ributor_v20.h => rte_distributor_single.h} | 26 +- .../rte_distributor_v1705.h | 61 -- .../rte_distributor_version.map | 16 +- lib/librte_eal/rte_eal_version.map | 310 ++---- lib/librte_efd/rte_efd_version.map | 2 +- lib/librte_ethdev/rte_ethdev_version.map | 160 +-- lib/librte_eventdev/rte_eventdev_version.map | 130 +-- .../rte_flow_classify_version.map | 4 + lib/librte_gro/rte_gro_version.map | 2 +- lib/librte_gso/rte_gso_version.map | 2 +- lib/librte_hash/rte_hash_version.map | 43 +- lib/librte_ip_frag/rte_ip_frag_version.map | 10 +- lib/librte_ipsec/rte_ipsec_version.map | 4 + lib/librte_jobstats/rte_jobstats_version.map | 10 +- lib/librte_kni/rte_kni_version.map | 2 +- lib/librte_kvargs/rte_kvargs_version.map | 4 +- .../rte_latencystats_version.map | 2 +- lib/librte_lpm/rte_lpm.c | 996 +----------------- lib/librte_lpm/rte_lpm.h | 88 -- lib/librte_lpm/rte_lpm6.c | 132 +-- lib/librte_lpm/rte_lpm6.h | 25 - lib/librte_lpm/rte_lpm_version.map | 39 +- lib/librte_mbuf/rte_mbuf_version.map | 41 +- lib/librte_member/rte_member_version.map | 2 +- lib/librte_mempool/rte_mempool_version.map | 44 +- lib/librte_meter/rte_meter_version.map | 13 +- lib/librte_metrics/rte_metrics_version.map | 2 +- lib/librte_net/rte_net_version.map | 23 +- lib/librte_pci/rte_pci_version.map | 2 +- lib/librte_pdump/rte_pdump_version.map | 2 +- lib/librte_pipeline/rte_pipeline_version.map | 36 +- lib/librte_port/rte_port_version.map | 64 +- lib/librte_power/rte_power_version.map | 24 +- lib/librte_rawdev/rte_rawdev_version.map | 4 +- lib/librte_rcu/rte_rcu_version.map | 4 + lib/librte_reorder/rte_reorder_version.map | 8 +- lib/librte_ring/rte_ring_version.map | 10 +- lib/librte_sched/rte_sched_version.map | 14 +- lib/librte_security/rte_security_version.map | 2 +- lib/librte_stack/rte_stack_version.map | 4 + lib/librte_table/rte_table_version.map | 2 +- .../rte_telemetry_version.map | 4 + lib/librte_timer/rte_timer.c | 90 +- lib/librte_timer/rte_timer.h | 15 - lib/librte_timer/rte_timer_version.map | 12 +- lib/librte_vhost/rte_vhost_version.map | 52 +- lib/meson.build | 18 +- meson_options.txt | 2 - mk/rte.lib.mk | 19 +- 177 files changed, 1122 insertions(+), 2891 deletions(-) create mode 100755 buildtools/check-abi-version.sh create mode 100755 buildtools/update-abi.sh create mode 100755 buildtools/update_version_map_abi.py create mode 100644 config/ABI_VERSION rename lib/librte_distributor/{rte_distributor_v20.c => rte_distributor_single.c} (87%) 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