Show a cover letter.

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

{
    "id": 66604,
    "url": "http://patches.dpdk.org/api/covers/66604/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20200312172047.19973-1-stephen@networkplumber.org/",
    "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": "<20200312172047.19973-1-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200312172047.19973-1-stephen@networkplumber.org",
    "date": "2020-03-12T17:20:40",
    "name": "[0/7] checking for owned ports in portmask",
    "submitter": {
        "id": 27,
        "url": "http://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20200312172047.19973-1-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 8898,
            "url": "http://patches.dpdk.org/api/series/8898/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8898",
            "date": "2020-03-12T17:20:40",
            "name": "checking for owned ports in portmask",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8898/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/66604/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A228CA056D;\n\tThu, 12 Mar 2020 18:20:57 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 812C41BFA5;\n\tThu, 12 Mar 2020 18:20:56 +0100 (CET)",
            "from mail-pj1-f41.google.com (mail-pj1-f41.google.com\n [209.85.216.41]) by dpdk.org (Postfix) with ESMTP id F1BB83B5\n for <dev@dpdk.org>; Thu, 12 Mar 2020 18:20:54 +0100 (CET)",
            "by mail-pj1-f41.google.com with SMTP id f15so2818543pjq.2\n for <dev@dpdk.org>; Thu, 12 Mar 2020 10:20:54 -0700 (PDT)",
            "from hermes.corp.microsoft.com (204-195-22-127.wavecable.com.\n [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id v1sm9447511pjy.35.2020.03.12.10.20.51\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 12 Mar 2020 10:20:51 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=BZuABNN9Jy97LRRrO6t+8mUrfmDsFqdIYxcV7f+QIHo=;\n b=rg90oEXOR2sJ685V3+RMs/r1suETwpi8SmIQSwWFVhe9MPiFPMUHfAwcyL3V6Q8Cm1\n A2B+IkF0QuNyM5oXziYGLdkVibUAH8/rNIi+hyX38OYX7NvBWRgPLbUomKK5ey+OekIg\n w5M1c/+9E6nPXE1K9DyHafS2sOrWWMjdYLpf/mQyNRSeem8O2BYOvae4kyRoGD3dDWid\n 4rKCnDcNRds6gRPF0BYjdMTufBqf5CfpNT+6+HKloVvzCu0eOv7dW1GxFTEiOrbyT3EC\n tgEjNVTh+u9RVm3N8T4gH4PtyKTNWJ9pAvqV4iy1RkQkzfNhHULxaswmlrwb8F/JojuQ\n eBJQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=BZuABNN9Jy97LRRrO6t+8mUrfmDsFqdIYxcV7f+QIHo=;\n b=Poea3fDHVK+eYSw2W2qWaGIbujW3skymuKxZ5DcVnfM+OENFqrgdQsgL7hwKdd6+CA\n dp+iTb7FZ/MDvLC/ck6HH3o+7LOKOdrghZUTlamcs8NjDBpbT7v2RIVuZhS/RYxXP+Pe\n MUKsqI2IjobIBCFcKnGvaey6nzNpJ3PYPLNEihFBgmnpBMgXuhHvQl7TKPGJp+QMgv6Y\n Y2bY84UIk9UKKX26bb6nx7EPyzIJqyxDRIRP0WjP1k0U9/938s7xnaPNmfT0J20DP+a9\n QMjCQijd+LlBMXqn0m78zZcMfYd/L9aYLzkqT9bW80E7iggeSw4ctjv9yy6zvx3SY8Od\n mdAg==",
        "X-Gm-Message-State": "ANhLgQ0wgTvnA3sWKbFEgV49+aiCXD93dQ2L7iCfETLf1hjUXM1f7bFc\n kAGvnfgRyfKB5wf0Y/rfnYp6CGxsXwk=",
        "X-Google-Smtp-Source": "\n ADFU+vtxFj+8ITElmqL+gxI/4TLrT+D5h+/H5hYLVs1gP8CGpe3L3iYko0sN5E/AYiKVZOulH6/TPQ==",
        "X-Received": "by 2002:a17:902:5996:: with SMTP id\n p22mr8996237pli.190.1584033653322;\n Thu, 12 Mar 2020 10:20:53 -0700 (PDT)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>",
        "Date": "Thu, 12 Mar 2020 10:20:40 -0700",
        "Message-Id": "<20200312172047.19973-1-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 0/7] checking for owned ports in portmask",
        "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 <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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The failsafe, bonding, and netvsc PMD use eth dev port ownership\nto control sub devices. These sub devices are hidden in the\nnormal iteration over ports but some applications use a direct\nport mask.  In these cases, user may still (incorrectly) try\nto directly use the sub devices.\n\nThis patch set introduces a helper function to check if\na port is under ownership. And the follow on patches use that.\n\nIMHO this should not be marked as experimental and done as\na bug fix back to DPDK 18.11 because then it will get picked\nup in LTS and users won't run into it on Azure.\n\nAn alternative proposed in earlier discussion is to have\neach application try and own the port. But this solution would\nbe more invasive, and does not handle the case if secondary process\nexits prematurely without releasing ownership. It makes more\nsense to keep the concept of ownership as strictly part of\nthe device model and not part of the application layer.\n\nStephen Hemminger (7):\n  ethdev: add function to test port ownership\n  examples/l2fwd-cat: block attempts to use owned ports\n  examples/l3fwd: block attempts to use owned ports\n  examples/l3fwd-acl: block attempts to use owned ports\n  examples/l3fwd-power: block attempts to use owned ports\n  examples/tep_termination: block attempts to use owned ports\n  examples/vhost: block attempts to use owned ports\n\n examples/l2fwd-cat/Makefile              |  2 ++\n examples/l2fwd-cat/l2fwd-cat.c           |  3 +++\n examples/l2fwd-cat/meson.build           |  1 +\n examples/l3fwd-acl/Makefile              |  3 +++\n examples/l3fwd-acl/main.c                |  4 ++++\n examples/l3fwd-acl/meson.build           |  1 +\n examples/l3fwd-power/main.c              |  4 ++++\n examples/l3fwd/Makefile                  |  3 +++\n examples/l3fwd/main.c                    |  4 ++++\n examples/l3fwd/meson.build               |  1 +\n examples/tep_termination/Makefile        |  2 ++\n examples/tep_termination/main.c          |  2 +-\n examples/tep_termination/meson.build     |  1 +\n examples/vhost/main.c                    |  2 +-\n lib/librte_ethdev/rte_ethdev.c           |  9 +++++++++\n lib/librte_ethdev/rte_ethdev.h           | 15 +++++++++++++++\n lib/librte_ethdev/rte_ethdev_version.map |  3 +++\n 17 files changed, 58 insertions(+), 2 deletions(-)"
}