get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/81534/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 81534,
    "url": "http://patches.dpdk.org/api/patches/81534/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1603185222-14831-15-git-send-email-arybchenko@solarflare.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": "<1603185222-14831-15-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1603185222-14831-15-git-send-email-arybchenko@solarflare.com",
    "date": "2020-10-20T09:12:54",
    "name": "[v2,14/62] common/sfc_efx/base: add action set spec init/fini APIs",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "5d824a7e88db67f2396c4c0d54d4ba9faa87639f",
    "submitter": {
        "id": 607,
        "url": "http://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1603185222-14831-15-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [
        {
            "id": 13137,
            "url": "http://patches.dpdk.org/api/series/13137/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13137",
            "date": "2020-10-20T09:12:44",
            "name": "net/sfc: support flow API transfer rules",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/13137/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/81534/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/81534/checks/",
    "tags": {},
    "related": [],
    "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 E019FA04DD;\n\tTue, 20 Oct 2020 11:28:28 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C86B3E24D;\n\tTue, 20 Oct 2020 11:14:55 +0200 (CEST)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 661F0C80A\n for <dev@dpdk.org>; Tue, 20 Oct 2020 11:14:11 +0200 (CEST)",
            "from mx1-us1.ppe-hosted.com (unknown [10.7.65.60])\n by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id\n 36D5D6006E for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:11 +0000 (UTC)",
            "from us4-mdac16-69.ut7.mdlocal (unknown [10.7.64.188])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 3615B2009A\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:11 +0000 (UTC)",
            "from mx1-us1.ppe-hosted.com (unknown [10.7.66.34])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n BBFA21C0052\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:09 +0000 (UTC)",
            "from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n (No client certificate requested)\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n 71B66600053\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:09 +0000 (UTC)",
            "from ukex01.SolarFlarecom.com (10.17.10.4) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id\n 15.0.1497.2; Tue, 20 Oct 2020 10:13:59 +0100",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id\n 15.0.1497.2 via Frontend Transport; Tue, 20 Oct 2020 10:13:59 +0100",
            "from ukv-loginhost.uk.solarflarecom.com\n (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])\n by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 09K9DxKK028366;\n Tue, 20 Oct 2020 10:13:59 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 900061613AB;\n Tue, 20 Oct 2020 10:13:59 +0100 (BST)"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Ivan Malov <ivan.malov@oktetlabs.ru>",
        "Date": "Tue, 20 Oct 2020 10:12:54 +0100",
        "Message-ID": "<1603185222-14831-15-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1603185222-14831-1-git-send-email-arybchenko@solarflare.com>",
        "References": "<1603183709-23420-1-git-send-email-arybchenko@solarflare.com>\n <1603185222-14831-1-git-send-email-arybchenko@solarflare.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-TM-AS-Product-Ver": "SMEX-12.5.0.1300-8.6.1012-25736.003",
        "X-TM-AS-Result": "No-2.513500-8.000000-10",
        "X-TMASE-MatchedRID": "YKoie7Yrv/Ej6Wp8EiYV2G/BUkaRdR0JhO/3bCc4wl9GMe+tDjQ3FroT\n xgoDFSNYoqweJNiofMgKumdKE9waERlsiwH2NvdjeWgJLNowHdU1X1Ls767cpnCR0itW3xfVUNM\n prKLZkXqlUbQd5K36vJYZEKz74UzS3VGQScEUC76cVWc2a+/ju+vcTjVWUqx9e7ijHq7g9oYeYu\n RqwkgIgiUU0Q3EwNK5a4c+GRhi2wc1JHytUxkfUw97mDMXdNW3uoYFb0nRiqPsvb7MYS5s3oIoV\n xJqL3uZ58EykvLuSMDrixWWWJYrHx8TzIzimOwPC24oEZ6SpSmb4wHqRpnaDhJLGQ3jMMYnYjUf\n bDlB7MU9M52HKrihrG56GvAUtpSK3NUIBav+YjOqUqZvHKQLlylZuFbY33xRf/jOfhELVRxktgO\n mJgale+QDw6tgd3AMZ9iVj/KhX/RSnoQc5vb5zuQdkM7ndBLC4+XAJZXbs2s=",
        "X-TM-AS-User-Approved-Sender": "Yes",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10-2.513500-8.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.6.1012-25736.003",
        "X-MDID": "1603185250-Y3AzJTM1x-Ki",
        "X-PPE-DISP": "1603185250;Y3AzJTM1x-Ki",
        "Subject": "[dpdk-dev] [PATCH v2 14/62] common/sfc_efx/base: add action set\n\tspec init/fini APIs",
        "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": "From: Ivan Malov <ivan.malov@oktetlabs.ru>\n\nThe engine is only able to carry out chosen actions on matching packets in\na strict order. No MCDI exists to identify supported actions and the order.\nStill, the definition of the latter is available from the FW documentation.\n\nThe general idea is to define an action specification structure and supply\na client driver with APIs for adding actions individually, order-dependent.\nA client driver is supposed to invoke an API on every action passed by the\napplication, and if an out-of-order action follows, the API will reject it.\n\nAdd an action set specification stub and supply initialise / finalise APIs.\n\nSigned-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>\nSigned-off-by: Andrew Rybchenko <arybchenko@solarflare.com>\nReviewed-by: Andy Moreton <amoreton@xilinx.com>\n---\n drivers/common/sfc_efx/base/efx.h             | 20 ++++++++++\n drivers/common/sfc_efx/base/efx_impl.h        |  3 ++\n drivers/common/sfc_efx/base/efx_mae.c         | 39 +++++++++++++++++++\n .../sfc_efx/rte_common_sfc_efx_version.map    |  3 ++\n 4 files changed, 65 insertions(+)",
    "diff": "diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h\nindex c91f7948a0..cd0b22d43a 100644\n--- a/drivers/common/sfc_efx/base/efx.h\n+++ b/drivers/common/sfc_efx/base/efx.h\n@@ -4098,6 +4098,26 @@ efx_mae_match_spec_is_valid(\n \t__in\t\t\t\tefx_nic_t *enp,\n \t__in\t\t\t\tconst efx_mae_match_spec_t *spec);\n \n+typedef struct efx_mae_actions_s efx_mae_actions_t;\n+\n+LIBEFX_API\n+extern\t__checkReturn\t\t\tefx_rc_t\n+efx_mae_action_set_spec_init(\n+\t__in\t\t\t\tefx_nic_t *enp,\n+\t__out\t\t\t\tefx_mae_actions_t **specp);\n+\n+LIBEFX_API\n+extern\t\t\t\t\tvoid\n+efx_mae_action_set_spec_fini(\n+\t__in\t\t\t\tefx_nic_t *enp,\n+\t__in\t\t\t\tefx_mae_actions_t *spec);\n+\n+LIBEFX_API\n+extern\t__checkReturn\t\t\tboolean_t\n+efx_mae_action_set_specs_equal(\n+\t__in\t\t\t\tconst efx_mae_actions_t *left,\n+\t__in\t\t\t\tconst efx_mae_actions_t *right);\n+\n /*\n  * Conduct a comparison to check whether two match specifications\n  * of equal rule type (action / outer) and priority would map to\ndiff --git a/drivers/common/sfc_efx/base/efx_impl.h b/drivers/common/sfc_efx/base/efx_impl.h\nindex 2b872bb62e..86ef8e1b92 100644\n--- a/drivers/common/sfc_efx/base/efx_impl.h\n+++ b/drivers/common/sfc_efx/base/efx_impl.h\n@@ -1699,6 +1699,9 @@ struct efx_mae_match_spec_s {\n \t} emms_mask_value_pairs;\n };\n \n+typedef struct efx_mae_actions_s {\n+} efx_mae_actions_t;\n+\n #endif /* EFSYS_OPT_MAE */\n \n #ifdef\t__cplusplus\ndiff --git a/drivers/common/sfc_efx/base/efx_mae.c b/drivers/common/sfc_efx/base/efx_mae.c\nindex a126cba37f..81c586dfe8 100644\n--- a/drivers/common/sfc_efx/base/efx_mae.c\n+++ b/drivers/common/sfc_efx/base/efx_mae.c\n@@ -434,6 +434,45 @@ efx_mae_match_spec_is_valid(\n \treturn (is_valid);\n }\n \n+\t__checkReturn\t\t\tefx_rc_t\n+efx_mae_action_set_spec_init(\n+\t__in\t\t\t\tefx_nic_t *enp,\n+\t__out\t\t\t\tefx_mae_actions_t **specp)\n+{\n+\tefx_mae_actions_t *spec;\n+\tefx_rc_t rc;\n+\n+\tEFSYS_KMEM_ALLOC(enp->en_esip, sizeof (*spec), spec);\n+\tif (spec == NULL) {\n+\t\trc = ENOMEM;\n+\t\tgoto fail1;\n+\t}\n+\n+\t*specp = spec;\n+\n+\treturn (0);\n+\n+fail1:\n+\tEFSYS_PROBE1(fail1, efx_rc_t, rc);\n+\treturn (rc);\n+}\n+\n+\t\t\t\t\tvoid\n+efx_mae_action_set_spec_fini(\n+\t__in\t\t\t\tefx_nic_t *enp,\n+\t__in\t\t\t\tefx_mae_actions_t *spec)\n+{\n+\tEFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec), spec);\n+}\n+\n+\t__checkReturn\t\t\tboolean_t\n+efx_mae_action_set_specs_equal(\n+\t__in\t\t\t\tconst efx_mae_actions_t *left,\n+\t__in\t\t\t\tconst efx_mae_actions_t *right)\n+{\n+\treturn ((memcmp(left, right, sizeof (*left)) == 0) ? B_TRUE : B_FALSE);\n+}\n+\n \t__checkReturn\t\t\tefx_rc_t\n efx_mae_match_specs_class_cmp(\n \t__in\t\t\t\tefx_nic_t *enp,\ndiff --git a/drivers/common/sfc_efx/rte_common_sfc_efx_version.map b/drivers/common/sfc_efx/rte_common_sfc_efx_version.map\nindex aeb6f4d134..8a4d2b2fff 100644\n--- a/drivers/common/sfc_efx/rte_common_sfc_efx_version.map\n+++ b/drivers/common/sfc_efx/rte_common_sfc_efx_version.map\n@@ -85,6 +85,9 @@ INTERNAL {\n \tefx_mac_stats_upload;\n \tefx_mac_up;\n \n+\tefx_mae_action_set_spec_fini;\n+\tefx_mae_action_set_spec_init;\n+\tefx_mae_action_set_specs_equal;\n \tefx_mae_fini;\n \tefx_mae_get_limits;\n \tefx_mae_init;\n",
    "prefixes": [
        "v2",
        "14/62"
    ]
}