Show a cover letter.

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

{
    "id": 53766,
    "url": "http://patches.dpdk.org/api/covers/53766/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20190528115158.73245-1-ray.kinsella@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.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": "<20190528115158.73245-1-ray.kinsella@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190528115158.73245-1-ray.kinsella@intel.com",
    "date": "2019-05-28T11:51:56",
    "name": "[0/2] Add ABI Version Testing to app/test",
    "submitter": {
        "id": 956,
        "url": "http://patches.dpdk.org/api/people/956/?format=api",
        "name": "Kinsella, Ray",
        "email": "ray.kinsella@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20190528115158.73245-1-ray.kinsella@intel.com/mbox/",
    "series": [
        {
            "id": 4797,
            "url": "http://patches.dpdk.org/api/series/4797/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4797",
            "date": "2019-05-28T11:51:56",
            "name": "Add ABI Version Testing to app/test",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/4797/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/53766/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 7BBD91B956;\n\tTue, 28 May 2019 15:12:58 +0200 (CEST)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby dpdk.org (Postfix) with ESMTP id 170442C55\n\tfor <dev@dpdk.org>; Tue, 28 May 2019 13:53:00 +0200 (CEST)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t28 May 2019 04:53:00 -0700",
            "from silpixa00395806.ir.intel.com (HELO\n\tsilpixa00395806.ger.corp.intel.com) ([10.237.222.41])\n\tby fmsmga001.fm.intel.com with ESMTP; 28 May 2019 04:52:59 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Ray Kinsella <ray.kinsella@intel.com>",
        "To": "bruce.richardson@intel.com,\n\tvladimir.medvedkin@intel.com",
        "Cc": "dev@dpdk.org,\n\tRay Kinsella <ray.kinsella@intel.com>",
        "Date": "Tue, 28 May 2019 12:51:56 +0100",
        "Message-Id": "<20190528115158.73245-1-ray.kinsella@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "X-Mailman-Approved-At": "Tue, 28 May 2019 15:12:47 +0200",
        "Subject": "[dpdk-dev] [PATCH 0/2] Add ABI Version Testing to app/test",
        "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 adds ABI Version Testing functionality to the app/test unit\ntest framework.\n\nThe patchset is intended to address two issues previously raised during ML\nconversations on ABI Stability;\n1. How do we unit test still supported previous ABI Versions.\n2. How to we unit test inline functions from still supported previous ABI\nVersions.\n\nThe more obvious way to achieve both of the above is to simply archive\npre-built binaries compiled against previous versions of DPDK for use unit\ntesting previous ABI Versions, and while this should still be done as an\nadditional check, this approach does not scale well, must every DPDK\ndeveloper have a local copy of these binaries to test with, before\nupstreaming changes?\n\nInstead starting with rte_lpm, I did the following:-\n\n* I reproduced mostly unmodified unit tests from previous ABI Versions,\n  in this case v2.0 and v16.04\n* I reproduced the rte_lpm interface header from these previous ABI\n  Versions,including the inline functions and remapping symbols to\n  appropriate versions.\n* I added support for multiple abi versions to the app/test unit test\n  framework to allow users to switch between abi versions (set_abi_version),\n  without further polluting the already long list of unit tests available in\n  app/test.\n\nThe intention here is that, in future as developers need to depreciate\nAPIs, their associated unit tests may move into the ABI Version testing\nmechanism of the app/test instead of being replaced by the latest set of\nunit tests as would be the case today.\n\nToDo:\n* Refactor the v2.0 and v16.04 unit tests to separate functional and\n  performance test cases.\n* Add support for trigger ABI Version unit tests from the app/test command\n  line.\n\nRay Kinsella (2):\n  app/test: Add ABI Version Testing functionality\n  app/test: LPMv4 ABI Version Testing\n\n app/test/Makefile              |   12 +-\n app/test/commands.c            |  131 ++-\n app/test/meson.build           |    5 +\n app/test/test.c                |    2 +\n app/test/test.h                |   52 +-\n app/test/test_lpm.c            |    1 +\n app/test/test_lpm_perf.c       |  293 +------\n app/test/test_lpm_routes.c     |  287 +++++++\n app/test/test_lpm_routes.h     |   25 +\n app/test/v16.04/dcompat.h      |   23 +\n app/test/v16.04/rte_lpm.h      |  463 +++++++++++\n app/test/v16.04/rte_lpm_neon.h |  119 +++\n app/test/v16.04/rte_lpm_sse.h  |  120 +++\n app/test/v16.04/test_lpm.c     | 1405 ++++++++++++++++++++++++++++++++\n app/test/v16.04/test_v1604.c   |   14 +\n app/test/v2.0/dcompat.h        |   23 +\n app/test/v2.0/rte_lpm.h        |  443 ++++++++++\n app/test/v2.0/test_lpm.c       | 1306 +++++++++++++++++++++++++++++\n app/test/v2.0/test_v20.c       |   14 +\n 19 files changed, 4420 insertions(+), 318 deletions(-)\n create mode 100644 app/test/test_lpm_routes.c\n create mode 100644 app/test/test_lpm_routes.h\n create mode 100644 app/test/v16.04/dcompat.h\n create mode 100644 app/test/v16.04/rte_lpm.h\n create mode 100644 app/test/v16.04/rte_lpm_neon.h\n create mode 100644 app/test/v16.04/rte_lpm_sse.h\n create mode 100644 app/test/v16.04/test_lpm.c\n create mode 100644 app/test/v16.04/test_v1604.c\n create mode 100644 app/test/v2.0/dcompat.h\n create mode 100644 app/test/v2.0/rte_lpm.h\n create mode 100644 app/test/v2.0/test_lpm.c\n create mode 100644 app/test/v2.0/test_v20.c"
}