get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 54659,
    "url": "http://patches.dpdk.org/api/patches/54659/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190611155221.2703-3-leyi.rong@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": "<20190611155221.2703-3-leyi.rong@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190611155221.2703-3-leyi.rong@intel.com",
    "date": "2019-06-11T15:51:17",
    "name": "[v2,02/66] net/ice/base: update standard extr seq to include DIR flag",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b96a8623fae08030cfc08fced7555738ea97c167",
    "submitter": {
        "id": 1204,
        "url": "http://patches.dpdk.org/api/people/1204/?format=api",
        "name": "Leyi Rong",
        "email": "leyi.rong@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190611155221.2703-3-leyi.rong@intel.com/mbox/",
    "series": [
        {
            "id": 4981,
            "url": "http://patches.dpdk.org/api/series/4981/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4981",
            "date": "2019-06-11T15:51:15",
            "name": "shared code update",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/4981/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/54659/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/54659/checks/",
    "tags": {},
    "related": [],
    "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 346DD1C44E;\n\tTue, 11 Jun 2019 17:53:45 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id B98051C441\n\tfor <dev@dpdk.org>; Tue, 11 Jun 2019 17:53:40 +0200 (CEST)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t11 Jun 2019 08:53:39 -0700",
            "from lrong-srv-03.sh.intel.com ([10.67.119.177])\n\tby orsmga001.jf.intel.com with ESMTP; 11 Jun 2019 08:53:38 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Leyi Rong <leyi.rong@intel.com>",
        "To": "qi.z.zhang@intel.com",
        "Cc": "dev@dpdk.org, Leyi Rong <leyi.rong@intel.com>,\n\tChinh T Cao <chinh.t.cao@intel.com>,\n\tPaul M Stillwell Jr <paul.m.stillwell.jr@intel.com>",
        "Date": "Tue, 11 Jun 2019 23:51:17 +0800",
        "Message-Id": "<20190611155221.2703-3-leyi.rong@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190611155221.2703-1-leyi.rong@intel.com>",
        "References": "<20190604054248.68510-1-leyi.rong@intel.com>\n\t<20190611155221.2703-1-leyi.rong@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 02/66] net/ice/base: update standard extr seq\n\tto include DIR flag",
        "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": "Once upon a time, the ice_flow_create_xtrct_seq() function in ice_flow.c\nextracted only protocol fields explicitly specified by the caller of the\nice_flow_add_prof() function via its struct ice_flow_seg_info instances.\nHowever, to support different ingress and egress flow profiles with the\nsame matching criteria, it would be necessary to also match on the packet\nDirection metadata. The primary reason was because there could not be more\nthan one HW profile with the same CDID, PTG, and VSIG. The Direction\nmetadata was not a parameter used to select HW profile IDs.\n\nThus, for ACL, the direction flag would need to be added to the extraction\nsequence. This information will be use later as one criteria for ACL\nscenario entry matching.\n\nSigned-off-by: Chinh T Cao <chinh.t.cao@intel.com>\nSigned-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>\nSigned-off-by: Leyi Rong <leyi.rong@intel.com>\n---\n drivers/net/ice/base/ice_flow.c | 43 +++++++++++++++++++++++++++++++++\n 1 file changed, 43 insertions(+)",
    "diff": "diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/base/ice_flow.c\nindex be819e0e9..f1bf5b5e7 100644\n--- a/drivers/net/ice/base/ice_flow.c\n+++ b/drivers/net/ice/base/ice_flow.c\n@@ -495,6 +495,42 @@ ice_flow_proc_seg_hdrs(struct ice_flow_prof_params *params)\n \treturn ICE_SUCCESS;\n }\n \n+/**\n+ * ice_flow_xtract_pkt_flags - Create an extr sequence entry for packet flags\n+ * @hw: pointer to the HW struct\n+ * @params: information about the flow to be processed\n+ * @flags: The value of pkt_flags[x:x] in RX/TX MDID metadata.\n+ *\n+ * This function will allocate an extraction sequence entries for a DWORD size\n+ * chunk of the packet flags.\n+ */\n+static enum ice_status\n+ice_flow_xtract_pkt_flags(struct ice_hw *hw,\n+\t\t\t  struct ice_flow_prof_params *params,\n+\t\t\t  enum ice_flex_mdid_pkt_flags flags)\n+{\n+\tu8 fv_words = hw->blk[params->blk].es.fvw;\n+\tu8 idx;\n+\n+\t/* Make sure the number of extraction sequence entries required does not\n+\t * exceed the block's capacity.\n+\t */\n+\tif (params->es_cnt >= fv_words)\n+\t\treturn ICE_ERR_MAX_LIMIT;\n+\n+\t/* some blocks require a reversed field vector layout */\n+\tif (hw->blk[params->blk].es.reverse)\n+\t\tidx = fv_words - params->es_cnt - 1;\n+\telse\n+\t\tidx = params->es_cnt;\n+\n+\tparams->es[idx].prot_id = ICE_PROT_META_ID;\n+\tparams->es[idx].off = flags;\n+\tparams->es_cnt++;\n+\n+\treturn ICE_SUCCESS;\n+}\n+\n /**\n  * ice_flow_xtract_fld - Create an extraction sequence entry for the given field\n  * @hw: pointer to the HW struct\n@@ -744,6 +780,13 @@ ice_flow_create_xtrct_seq(struct ice_hw *hw,\n \tenum ice_status status = ICE_SUCCESS;\n \tu8 i;\n \n+\t/* For ACL, we also need to extract the direction bit (Rx,Tx) data from\n+\t * packet flags\n+\t */\n+\tif (params->blk == ICE_BLK_ACL)\n+\t\tice_flow_xtract_pkt_flags(hw, params,\n+\t\t\t\t\t  ICE_RX_MDID_PKT_FLAGS_15_0);\n+\n \tfor (i = 0; i < params->prof->segs_cnt; i++) {\n \t\tu64 match = params->prof->segs[i].match;\n \t\tu16 j;\n",
    "prefixes": [
        "v2",
        "02/66"
    ]
}