Show a cover letter.

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

{
    "id": 465,
    "url": "http://patchwork.dpdk.org/api/covers/465/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20231207161818.2590661-1-euan.bourke@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": "<20231207161818.2590661-1-euan.bourke@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231207161818.2590661-1-euan.bourke@intel.com",
    "date": "2023-12-07T16:18:10",
    "name": "[v3,0/8] add new command line argument parsing library",
    "submitter": {
        "id": 3231,
        "url": "http://patchwork.dpdk.org/api/people/3231/?format=api",
        "name": "Euan Bourke",
        "email": "euan.bourke@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20231207161818.2590661-1-euan.bourke@intel.com/mbox/",
    "series": [
        {
            "id": 30478,
            "url": "http://patchwork.dpdk.org/api/series/30478/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=30478",
            "date": "2023-12-07T16:18:10",
            "name": "add new command line argument parsing library",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/30478/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/465/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 4068C4369D;\n\tThu,  7 Dec 2023 17:18:38 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C5EFC42F04;\n\tThu,  7 Dec 2023 17:18:37 +0100 (CET)",
            "from mgamail.intel.com (mgamail.intel.com [134.134.136.24])\n by mails.dpdk.org (Postfix) with ESMTP id 1F52542E2D\n for <dev@dpdk.org>; Thu,  7 Dec 2023 17:18:36 +0100 (CET)",
            "from orsmga007.jf.intel.com ([10.7.209.58])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 07 Dec 2023 08:18:35 -0800",
            "from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151])\n by orsmga007.jf.intel.com with ESMTP; 07 Dec 2023 08:18:33 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1701965917; x=1733501917;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=grT6CChLLVUp9zOs6HBcXoaFqGqNvYvOqyAnrz/eF7k=;\n b=VBRlIGLvkNJCfz3CnotZ0I6vIDwcIKCvW80ZnfVtzeMFcShOx4TrddkS\n 7tN1tGAGh8GhYg+eSpag4g4Z05ZO35LKiabmGmypRjL68TbxN7TmOSo+Z\n 5Kg4ItH7kbg4iMhbCFMNZH2xFwlydaXAEXYszL15rtTE/7IyYbQJD95HE\n HwO3IkfpPGs+u51Q3N525G7n9GrmVXB6+gV2/sNXzpSQwS7aooCaiFOmU\n su1K+ZKH1X7makk16mpADL5u4M/HE1rzpnYTIrcA43VFM5is2Z863fBXQ\n 5jxSiwrYpDDP7/8doLaq4WklH/q3ev2Fku1UD0rTxTYcMyQF0RRVkAJGy A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10917\"; a=\"397048598\"",
            "E=Sophos;i=\"6.04,256,1695711600\"; d=\"scan'208\";a=\"397048598\"",
            "E=McAfee;i=\"6600,9927,10917\"; a=\"765153943\"",
            "E=Sophos;i=\"6.04,256,1695711600\"; d=\"scan'208\";a=\"765153943\""
        ],
        "X-ExtLoop1": "1",
        "From": "Euan Bourke <euan.bourke@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Euan Bourke <euan.bourke@intel.com>",
        "Subject": "[PATCH v3 0/8] add new command line argument parsing library",
        "Date": "Thu,  7 Dec 2023 16:18:10 +0000",
        "Message-Id": "<20231207161818.2590661-1-euan.bourke@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "A recent thread on the mailing list[1] discussed corelist and coremask\nparsing and the idea of a new library dedicated to command line parsing\nwas mentioned[2]. This patchset adds the library, along with the new\nAPIs, and edits the existing EAL, DLB2 driver and some example\napplication functions to use these APIs, rather than each implementing\ntheir own copies.\n\nThe new APIs work similar to the existing functions in EAL, however\ninstead of filling a core array like this:\n[1, -1, -1, 2, 3] (a non -1 refers to an 'active core' at that index)\nIt fills it like this:\n[0, 3, 4] (with the value at each index being an 'active core').\n\nThe new APIs will also return the number of cores contained in the\npassed corelist/coremask, so in the above example, 3 would be returned.\n\nNew in the v3, is a heuristic parser which searches for key markers in\nthe core string, returning a enum value based off this search to\nindicate if a parameter is likely a coremask or a corelist. This\nheuristic function is also wrapped in a parser function allowing\napps to handle both coremasks and corelists simultaneously.\n\n[1] https://mails.dpdk.org/archives/dev/2023-November/280957.html\n[2] https://mails.dpdk.org/archives/dev/2023-November/280966.html\n\n\nv3:\n* new 'combined core string parser' and 'heuristic parser'\n* changes to eventdev_pipeline and l3fwd-power example applications\n* various struct optimisations in arg_parser.c\n* fix for windows build relating to RTE_SWAP()\n* minor changes for issues flagged during review\n\nv2:\n* changes to EAL service core related parsers to call API.\n* various optimisations in core_bit related functions in arg_parser.c.\n* add lib to list for windows build.\n* minor changes for issues flagged during review.\n\nEuan Bourke (8):\n  arg_parser: new library for command line parsing\n  arg_parser: add new coremask parsing API\n  eal: add support for new arg parsing library\n  eal: update to service core related parsers\n  event/dlb2: add new arg parsing library API support\n  arg_parser: added common core string and heuristic parsers\n  examples/eventdev_pipeline: update to call arg parser API\n  examples/l3fwd-power: update to call arg parser API\n\n .mailmap                                     |   1 +\n MAINTAINERS                                  |   4 +\n doc/api/doxy-api-index.md                    |   3 +-\n doc/api/doxy-api.conf.in                     |   1 +\n drivers/event/dlb2/dlb2_priv.h               |   4 +-\n drivers/event/dlb2/pf/base/dlb2_resource.c   |  51 ++--\n examples/eventdev_pipeline/main.c            |  65 +----\n examples/eventdev_pipeline/pipeline_common.h |   1 +\n examples/l3fwd-power/perf_core.c             |  51 +---\n lib/arg_parser/arg_parser.c                  | 229 +++++++++++++++\n lib/arg_parser/meson.build                   |   7 +\n lib/arg_parser/rte_arg_parser.h              | 160 +++++++++++\n lib/arg_parser/version.map                   |  13 +\n lib/eal/common/eal_common_options.c          | 285 ++++---------------\n lib/eal/meson.build                          |   2 +-\n lib/meson.build                              |   2 +\n 16 files changed, 513 insertions(+), 366 deletions(-)\n create mode 100644 lib/arg_parser/arg_parser.c\n create mode 100644 lib/arg_parser/meson.build\n create mode 100644 lib/arg_parser/rte_arg_parser.h\n create mode 100644 lib/arg_parser/version.map"
}