Show a cover letter.

GET /api/covers/61855/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 61855,
    "url": "http://patchwork.dpdk.org/api/covers/61855/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1571910363.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<cover.1571910363.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1571910363.git.anatoly.burakov@intel.com",
    "date": "2019-10-24T09:46:37",
    "name": "[v5,00/10] Implement the new ABI policy and add helper scripts",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1571910363.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 7035,
            "url": "http://patchwork.dpdk.org/api/series/7035/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=7035",
            "date": "2019-10-24T09:46:37",
            "name": "Implement the new ABI policy and add helper scripts",
            "version": 5,
            "mbox": "http://patchwork.dpdk.org/series/7035/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/61855/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 94B8F1E8C2;\n\tThu, 24 Oct 2019 11:46:52 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id 51AF31E8BF\n\tfor <dev@dpdk.org>; Thu, 24 Oct 2019 11:46:50 +0200 (CEST)",
            "from fmsmga007.fm.intel.com ([10.253.24.52])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t24 Oct 2019 02:46:49 -0700",
            "from silpixa00399498.ir.intel.com (HELO\n\tsilpixa00399498.ger.corp.intel.com) ([10.237.223.151])\n\tby fmsmga007.fm.intel.com with ESMTP; 24 Oct 2019 02:46:47 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.68,224,1569308400\"; d=\"scan'208\";a=\"197686494\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "john.mcnamara@intel.com, ray.kinsella@intel.com,\n\tbruce.richardson@intel.com, thomas@monjalon.net,\n\tdavid.marchand@redhat.com",
        "Date": "Thu, 24 Oct 2019 10:46:37 +0100",
        "Message-Id": "<cover.1571910363.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<cover.1571322634.git.anatoly.burakov@intel.com>",
        "References": "<cover.1571322634.git.anatoly.burakov@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v5 00/10] Implement the new ABI policy and add\n\thelper scripts",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This patchset prepares the codebase for the new ABI policy and\nadds a few helper scripts.\n\nThere are two new scripts for managing ABI versions added. The\nfirst one is a Python script that will read in a .map file,\nflatten it and update the ABI version to the ABI version\nspecified on the command-line.\n\nThe second one is a shell script that will run the above mentioned\nPython script recursively over the source tree and set the ABI\nversion to either that which is defined in config/ABI_VERSION, or\na user-specified one.\n\nExample of its usage: buildtools/update-abi.sh 20.0\n\nThis will recurse into lib/ and drivers/ directory and update\nwhatever .map files it can find.\n\nThe other shell script that's added is one that can take in a .so\nfile and ensure that its declared public ABI matches either\ncurrent ABI, next ABI, or EXPERIMENTAL. This was moved to the\nlast commit because it made no sense to have it beforehand.\n\nThe source tree was verified to follow the new ABI policy using\nthe following command (assuming built binaries are in build/):\n\nfind ./build/lib ./build/drivers -name  \\*.so \\\n\t-exec ./buildtools/check-abi-version.sh {} \\; -print\n\nThis returns 0.\n\nChanges since v4:\n- Fixed shared library build issue for distributor\n\nChanges since v3:\n- Put distributor code back and cleaned it up\n- Rebased on latest master and regenerated commit 9\n\nChanges since v2:\n- Addressed Bruce's review comments\n- Removed single distributor mode as per Dave's suggestion\n\nChanges since v1:\n- Reordered patchset to have removal of old ABI's before introducing\n  the new one to avoid compile breakages between patches\n- Added a new patch fixing missing symbol in octeontx common\n- Split script commits into multiple commits and reordered them\n- Re-generated the ABI bump commit\n- Verified all scripts to work\n\nAnatoly Burakov (2):\n  buildtools: add ABI update shell script\n  drivers/octeontx: add missing public symbol\n\nMarcin Baran (6):\n  config: change ABI versioning to global\n  timer: remove deprecated code\n  lpm: remove deprecated code\n  distributor: remove deprecated code\n  distributor: rename v2.0 ABI to _single suffix\n  buildtools: add ABI versioning check script\n\nPawel Modrak (2):\n  buildtools: add script for updating symbols abi version\n  build: change ABI version to 20.0\n\n buildtools/check-abi-version.sh               |  54 +\n buildtools/meson.build                        |   2 +\n buildtools/update-abi.sh                      |  42 +\n buildtools/update_version_map_abi.py          | 170 +++\n config/ABI_VERSION                            |   1 +\n config/meson.build                            |   4 +-\n .../rte_pmd_bbdev_fpga_lte_fec_version.map    |   8 +-\n .../null/rte_pmd_bbdev_null_version.map       |   2 +-\n .../rte_pmd_bbdev_turbo_sw_version.map        |   2 +-\n drivers/bus/dpaa/rte_bus_dpaa_version.map     | 115 +-\n drivers/bus/fslmc/rte_bus_fslmc_version.map   | 154 ++-\n drivers/bus/ifpga/rte_bus_ifpga_version.map   |  14 +-\n drivers/bus/pci/rte_bus_pci_version.map       |   2 +-\n drivers/bus/vdev/rte_bus_vdev_version.map     |  12 +-\n drivers/bus/vmbus/rte_bus_vmbus_version.map   |  12 +-\n drivers/common/cpt/rte_common_cpt_version.map |   4 +-\n .../common/dpaax/rte_common_dpaax_version.map |   4 +-\n .../common/mvep/rte_common_mvep_version.map   |   6 +-\n .../octeontx/rte_common_octeontx_version.map  |   7 +-\n .../rte_common_octeontx2_version.map          |  16 +-\n .../compress/isal/rte_pmd_isal_version.map    |   2 +-\n .../rte_pmd_octeontx_compress_version.map     |   2 +-\n drivers/compress/qat/rte_pmd_qat_version.map  |   2 +-\n .../compress/zlib/rte_pmd_zlib_version.map    |   2 +-\n .../aesni_gcm/rte_pmd_aesni_gcm_version.map   |   2 +-\n .../aesni_mb/rte_pmd_aesni_mb_version.map     |   2 +-\n .../crypto/armv8/rte_pmd_armv8_version.map    |   2 +-\n .../caam_jr/rte_pmd_caam_jr_version.map       |   3 +-\n drivers/crypto/ccp/rte_pmd_ccp_version.map    |   3 +-\n .../dpaa2_sec/rte_pmd_dpaa2_sec_version.map   |  10 +-\n .../dpaa_sec/rte_pmd_dpaa_sec_version.map     |  10 +-\n .../crypto/kasumi/rte_pmd_kasumi_version.map  |   2 +-\n .../crypto/mvsam/rte_pmd_mvsam_version.map    |   2 +-\n .../crypto/nitrox/rte_pmd_nitrox_version.map  |   2 +-\n .../null/rte_pmd_null_crypto_version.map      |   2 +-\n .../rte_pmd_octeontx_crypto_version.map       |   3 +-\n .../openssl/rte_pmd_openssl_version.map       |   2 +-\n .../rte_pmd_crypto_scheduler_version.map      |  19 +-\n .../crypto/snow3g/rte_pmd_snow3g_version.map  |   2 +-\n .../virtio/rte_pmd_virtio_crypto_version.map  |   2 +-\n drivers/crypto/zuc/rte_pmd_zuc_version.map    |   2 +-\n .../event/dpaa/rte_pmd_dpaa_event_version.map |   3 +-\n .../dpaa2/rte_pmd_dpaa2_event_version.map     |   2 +-\n .../event/dsw/rte_pmd_dsw_event_version.map   |   2 +-\n .../rte_pmd_octeontx_event_version.map        |   2 +-\n .../rte_pmd_octeontx2_event_version.map       |   3 +-\n .../event/opdl/rte_pmd_opdl_event_version.map |   2 +-\n .../rte_pmd_skeleton_event_version.map        |   3 +-\n drivers/event/sw/rte_pmd_sw_event_version.map |   2 +-\n .../bucket/rte_mempool_bucket_version.map     |   3 +-\n .../mempool/dpaa/rte_mempool_dpaa_version.map |   2 +-\n .../dpaa2/rte_mempool_dpaa2_version.map       |  12 +-\n .../octeontx/rte_mempool_octeontx_version.map |   2 +-\n .../rte_mempool_octeontx2_version.map         |   4 +-\n .../mempool/ring/rte_mempool_ring_version.map |   3 +-\n .../stack/rte_mempool_stack_version.map       |   3 +-\n drivers/meson.build                           |  20 +-\n .../af_packet/rte_pmd_af_packet_version.map   |   3 +-\n drivers/net/af_xdp/rte_pmd_af_xdp_version.map |   2 +-\n drivers/net/ark/rte_pmd_ark_version.map       |   5 +-\n .../net/atlantic/rte_pmd_atlantic_version.map |   4 +-\n drivers/net/avp/rte_pmd_avp_version.map       |   2 +-\n drivers/net/axgbe/rte_pmd_axgbe_version.map   |   2 +-\n drivers/net/bnx2x/rte_pmd_bnx2x_version.map   |   3 +-\n drivers/net/bnxt/rte_pmd_bnxt_version.map     |   4 +-\n drivers/net/bonding/rte_pmd_bond_version.map  |  47 +-\n drivers/net/cxgbe/rte_pmd_cxgbe_version.map   |   3 +-\n drivers/net/dpaa/rte_pmd_dpaa_version.map     |  11 +-\n drivers/net/dpaa2/rte_pmd_dpaa2_version.map   |  12 +-\n drivers/net/e1000/rte_pmd_e1000_version.map   |   3 +-\n drivers/net/ena/rte_pmd_ena_version.map       |   3 +-\n drivers/net/enetc/rte_pmd_enetc_version.map   |   3 +-\n drivers/net/enic/rte_pmd_enic_version.map     |   3 +-\n .../net/failsafe/rte_pmd_failsafe_version.map |   3 +-\n drivers/net/fm10k/rte_pmd_fm10k_version.map   |   3 +-\n drivers/net/hinic/rte_pmd_hinic_version.map   |   3 +-\n drivers/net/hns3/rte_pmd_hns3_version.map     |   4 +-\n drivers/net/i40e/rte_pmd_i40e_version.map     |  65 +-\n drivers/net/iavf/rte_pmd_iavf_version.map     |   3 +-\n drivers/net/ice/rte_pmd_ice_version.map       |   3 +-\n drivers/net/ifc/rte_pmd_ifc_version.map       |   3 +-\n drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map |   3 +-\n drivers/net/ixgbe/rte_pmd_ixgbe_version.map   |  62 +-\n drivers/net/kni/rte_pmd_kni_version.map       |   3 +-\n .../net/liquidio/rte_pmd_liquidio_version.map |   3 +-\n drivers/net/memif/rte_pmd_memif_version.map   |   5 +-\n drivers/net/mlx4/rte_pmd_mlx4_version.map     |   3 +-\n drivers/net/mlx5/rte_pmd_mlx5_version.map     |   2 +-\n drivers/net/mvneta/rte_pmd_mvneta_version.map |   2 +-\n drivers/net/mvpp2/rte_pmd_mvpp2_version.map   |   2 +-\n drivers/net/netvsc/rte_pmd_netvsc_version.map |   4 +-\n drivers/net/nfb/rte_pmd_nfb_version.map       |   3 +-\n drivers/net/nfp/rte_pmd_nfp_version.map       |   2 +-\n drivers/net/null/rte_pmd_null_version.map     |   3 +-\n .../net/octeontx/rte_pmd_octeontx_version.map |  10 +-\n .../octeontx2/rte_pmd_octeontx2_version.map   |   3 +-\n drivers/net/pcap/rte_pmd_pcap_version.map     |   3 +-\n drivers/net/qede/rte_pmd_qede_version.map     |   3 +-\n drivers/net/ring/rte_pmd_ring_version.map     |  10 +-\n drivers/net/sfc/rte_pmd_sfc_version.map       |   3 +-\n .../net/softnic/rte_pmd_softnic_version.map   |   2 +-\n .../net/szedata2/rte_pmd_szedata2_version.map |   2 +-\n drivers/net/tap/rte_pmd_tap_version.map       |   3 +-\n .../net/thunderx/rte_pmd_thunderx_version.map |   3 +-\n .../rte_pmd_vdev_netvsc_version.map           |   3 +-\n drivers/net/vhost/rte_pmd_vhost_version.map   |  11 +-\n drivers/net/virtio/rte_pmd_virtio_version.map |   3 +-\n .../net/vmxnet3/rte_pmd_vmxnet3_version.map   |   3 +-\n .../rte_rawdev_dpaa2_cmdif_version.map        |   3 +-\n .../rte_rawdev_dpaa2_qdma_version.map         |   4 +-\n .../raw/ifpga/rte_rawdev_ifpga_version.map    |   3 +-\n drivers/raw/ioat/rte_rawdev_ioat_version.map  |   3 +-\n drivers/raw/ntb/rte_rawdev_ntb_version.map    |   5 +-\n .../rte_rawdev_octeontx2_dma_version.map      |   3 +-\n .../skeleton/rte_rawdev_skeleton_version.map  |   3 +-\n lib/librte_acl/rte_acl_version.map            |   2 +-\n lib/librte_bbdev/rte_bbdev_version.map        |   4 +\n .../rte_bitratestats_version.map              |   2 +-\n lib/librte_bpf/rte_bpf_version.map            |   4 +\n lib/librte_cfgfile/rte_cfgfile_version.map    |  34 +-\n lib/librte_cmdline/rte_cmdline_version.map    |  10 +-\n .../rte_compressdev_version.map               |   4 +\n .../rte_cryptodev_version.map                 | 102 +-\n lib/librte_distributor/Makefile               |   2 +-\n lib/librte_distributor/meson.build            |   2 +-\n lib/librte_distributor/rte_distributor.c      |  80 +-\n .../rte_distributor_private.h                 |  10 +-\n ...ributor_v20.c => rte_distributor_single.c} |  57 +-\n ...ributor_v20.h => rte_distributor_single.h} |  26 +-\n .../rte_distributor_v1705.h                   |  61 --\n .../rte_distributor_version.map               |  16 +-\n lib/librte_eal/rte_eal_version.map            | 310 ++----\n lib/librte_efd/rte_efd_version.map            |   2 +-\n lib/librte_ethdev/rte_ethdev_version.map      | 160 +--\n lib/librte_eventdev/rte_eventdev_version.map  | 130 +--\n .../rte_flow_classify_version.map             |   4 +\n lib/librte_gro/rte_gro_version.map            |   2 +-\n lib/librte_gso/rte_gso_version.map            |   2 +-\n lib/librte_hash/rte_hash_version.map          |  43 +-\n lib/librte_ip_frag/rte_ip_frag_version.map    |  10 +-\n lib/librte_ipsec/rte_ipsec_version.map        |   4 +\n lib/librte_jobstats/rte_jobstats_version.map  |  10 +-\n lib/librte_kni/rte_kni_version.map            |   2 +-\n lib/librte_kvargs/rte_kvargs_version.map      |   4 +-\n .../rte_latencystats_version.map              |   2 +-\n lib/librte_lpm/rte_lpm.c                      | 996 +-----------------\n lib/librte_lpm/rte_lpm.h                      |  88 --\n lib/librte_lpm/rte_lpm6.c                     | 132 +--\n lib/librte_lpm/rte_lpm6.h                     |  25 -\n lib/librte_lpm/rte_lpm_version.map            |  39 +-\n lib/librte_mbuf/rte_mbuf_version.map          |  49 +-\n lib/librte_member/rte_member_version.map      |   2 +-\n lib/librte_mempool/rte_mempool_version.map    |  44 +-\n lib/librte_meter/rte_meter_version.map        |  13 +-\n lib/librte_metrics/rte_metrics_version.map    |   2 +-\n lib/librte_net/rte_net_version.map            |  23 +-\n lib/librte_pci/rte_pci_version.map            |   2 +-\n lib/librte_pdump/rte_pdump_version.map        |   2 +-\n lib/librte_pipeline/rte_pipeline_version.map  |  36 +-\n lib/librte_port/rte_port_version.map          |  64 +-\n lib/librte_power/rte_power_version.map        |  24 +-\n lib/librte_rawdev/rte_rawdev_version.map      |   4 +-\n lib/librte_rcu/rte_rcu_version.map            |   4 +\n lib/librte_reorder/rte_reorder_version.map    |   8 +-\n lib/librte_ring/rte_ring_version.map          |  10 +-\n lib/librte_sched/rte_sched_version.map        |  14 +-\n lib/librte_security/rte_security_version.map  |   2 +-\n lib/librte_stack/rte_stack_version.map        |   4 +\n lib/librte_table/rte_table_version.map        |   2 +-\n .../rte_telemetry_version.map                 |   4 +\n lib/librte_timer/rte_timer.c                  |  90 +-\n lib/librte_timer/rte_timer.h                  |  15 -\n lib/librte_timer/rte_timer_version.map        |  12 +-\n lib/librte_vhost/rte_vhost_version.map        |  52 +-\n lib/meson.build                               |  18 +-\n meson_options.txt                             |   2 -\n mk/rte.lib.mk                                 |  13 +-\n 177 files changed, 1141 insertions(+), 2912 deletions(-)\n create mode 100755 buildtools/check-abi-version.sh\n create mode 100755 buildtools/update-abi.sh\n create mode 100755 buildtools/update_version_map_abi.py\n create mode 100644 config/ABI_VERSION\n rename lib/librte_distributor/{rte_distributor_v20.c => rte_distributor_single.c} (84%)\n rename lib/librte_distributor/{rte_distributor_v20.h => rte_distributor_single.h} (89%)\n delete mode 100644 lib/librte_distributor/rte_distributor_v1705.h"
}