get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 81570,
    "url": "http://patches.dpdk.org/api/patches/81570/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1603185222-14831-56-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-56-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1603185222-14831-56-git-send-email-arybchenko@solarflare.com",
    "date": "2020-10-20T09:13:35",
    "name": "[v2,55/62] common/sfc_efx/base: indicate MAE support for encapsulation",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "a25df40aff76fb7d8f1cc0c6a179f41dd3ba8158",
    "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-56-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/81570/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/81570/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 5AF9FA04DD;\n\tTue, 20 Oct 2020 11:40:47 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CCA54FCE3;\n\tTue, 20 Oct 2020 11:16:10 +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 C11C7C30F\n for <dev@dpdk.org>; Tue, 20 Oct 2020 11:14:21 +0200 (CEST)",
            "from mx1-us1.ppe-hosted.com (unknown [10.7.65.62])\n by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id\n BAA2D60090 for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:19 +0000 (UTC)",
            "from us4-mdac16-8.ut7.mdlocal (unknown [10.7.65.76])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id B9E0F8009E\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:19 +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 40825280053\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:19 +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 E94F760005C\n for <dev@dpdk.org>; Tue, 20 Oct 2020 09:14:18 +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:14:02 +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:14:02 +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 09K9E1m4028554;\n Tue, 20 Oct 2020 10:14:01 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id C7D411613A9;\n Tue, 20 Oct 2020 10:14:01 +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:13:35 +0100",
        "Message-ID": "<1603185222-14831-56-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-4.153800-8.000000-10",
        "X-TMASE-MatchedRID": "4jdN4RfSnnzxpWQFmQ4/MhYZoKAPfQ6CHS44sLaHAPLyN+XEEoySvlt/\n rcvvwuMBuKjr7On4ANqCfAAkLV8ZpH/BjdQS1Tt2BytCIW2H3sdKRaXN2yYjHnCR0itW3xfVUNM\n prKLZkXoqjtfrxHD0XnDlPghqPnfyYlldA0POS1LHmyDJSEsI28wx7VbZgGmKR2YNIFh+clFcmx\n XymrkPkPN+XKhORaFFgDLqnrRlXrZ8nn9tnqel2MZW5ai5WKlyZrcHqz4ma7qkiv9e1njxcJW5+\n voW4STCkNG0hyFkD4Y6Zd7tBWMUnjo44vflLzuVpTHdnTkqPPIGOl0WvKNVtdrEgHosDUI48Oyc\n cFNBL2TKhETi2//sjuP9Cb59K8ACZrS+A8PszW/U9h9N881NSQ==",
        "X-TM-AS-User-Approved-Sender": "Yes",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10--4.153800-8.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.6.1012-25736.003",
        "X-MDID": "1603185259-Swn3ksn-YBC4",
        "X-PPE-DISP": "1603185259;Swn3ksn-YBC4",
        "Subject": "[dpdk-dev] [PATCH v2 55/62] common/sfc_efx/base: indicate MAE\n\tsupport for encapsulation",
        "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\nMAE provides support for encapsulation. One needs to insert\na so-called outer rule, which can match outer packet fields,\nto require that matching packets be parsed as tunnel frames\nof a given type (VXLAN, Geneve, NVGRE). Then it is possible\nto chain this rule with an action rule in order to match on\ninner fields and carry out some actions on matching packets.\n\nReport to clients what encapsulation types are supported by\nMAE. Indicate the number of priority levels for outer rules.\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      |  2 ++\n drivers/common/sfc_efx/base/efx_impl.h |  2 ++\n drivers/common/sfc_efx/base/efx_mae.c  | 22 ++++++++++++++++++++++\n 3 files changed, 26 insertions(+)",
    "diff": "diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h\nindex b84a43336a..dea1fe3979 100644\n--- a/drivers/common/sfc_efx/base/efx.h\n+++ b/drivers/common/sfc_efx/base/efx.h\n@@ -4068,6 +4068,8 @@ efx_mae_fini(\n \n typedef struct efx_mae_limits_s {\n \tuint32_t\t\t\teml_max_n_action_prios;\n+\tuint32_t\t\t\teml_max_n_outer_prios;\n+\tuint32_t\t\t\teml_encap_types_supported;\n } efx_mae_limits_t;\n \n LIBEFX_API\ndiff --git a/drivers/common/sfc_efx/base/efx_impl.h b/drivers/common/sfc_efx/base/efx_impl.h\nindex db68cc7b24..900a8c9c6a 100644\n--- a/drivers/common/sfc_efx/base/efx_impl.h\n+++ b/drivers/common/sfc_efx/base/efx_impl.h\n@@ -798,6 +798,8 @@ typedef struct efx_mae_s {\n \t/** Action rule match field capabilities. */\n \tefx_mae_field_cap_t\t\t*em_action_rule_field_caps;\n \tsize_t\t\t\t\tem_action_rule_field_caps_size;\n+\tuint32_t\t\t\tem_max_n_outer_prios;\n+\tuint32_t\t\t\tem_encap_types_supported;\n } efx_mae_t;\n \n #endif /* EFSYS_OPT_MAE */\ndiff --git a/drivers/common/sfc_efx/base/efx_mae.c b/drivers/common/sfc_efx/base/efx_mae.c\nindex 7958504963..4e51c7b69b 100644\n--- a/drivers/common/sfc_efx/base/efx_mae.c\n+++ b/drivers/common/sfc_efx/base/efx_mae.c\n@@ -39,9 +39,29 @@ efx_mae_get_capabilities(\n \t\tgoto fail2;\n \t}\n \n+\tmaep->em_max_n_outer_prios =\n+\t    MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_OUTER_PRIOS);\n+\n \tmaep->em_max_n_action_prios =\n \t    MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ACTION_PRIOS);\n \n+\tmaep->em_encap_types_supported = 0;\n+\n+\tif (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN) == 1) {\n+\t\tmaep->em_encap_types_supported |=\n+\t\t    (1U << EFX_TUNNEL_PROTOCOL_VXLAN);\n+\t}\n+\n+\tif (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE) == 1) {\n+\t\tmaep->em_encap_types_supported |=\n+\t\t    (1U << EFX_TUNNEL_PROTOCOL_GENEVE);\n+\t}\n+\n+\tif (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE) == 1) {\n+\t\tmaep->em_encap_types_supported |=\n+\t\t    (1U << EFX_TUNNEL_PROTOCOL_NVGRE);\n+\t}\n+\n \tmaep->em_max_nfields =\n \t    MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_MATCH_FIELD_COUNT);\n \n@@ -225,7 +245,9 @@ efx_mae_get_limits(\n \t\tgoto fail1;\n \t}\n \n+\temlp->eml_max_n_outer_prios = maep->em_max_n_outer_prios;\n \temlp->eml_max_n_action_prios = maep->em_max_n_action_prios;\n+\temlp->eml_encap_types_supported = maep->em_encap_types_supported;\n \n \treturn (0);\n \n",
    "prefixes": [
        "v2",
        "55/62"
    ]
}