get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 54278,
    "url": "http://patches.dpdk.org/api/patches/54278/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190604054248.68510-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": "<20190604054248.68510-3-leyi.rong@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190604054248.68510-3-leyi.rong@intel.com",
    "date": "2019-06-04T05:42:01",
    "name": "[02/49] 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/20190604054248.68510-3-leyi.rong@intel.com/mbox/",
    "series": [
        {
            "id": 4879,
            "url": "http://patches.dpdk.org/api/series/4879/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4879",
            "date": "2019-06-04T05:41:59",
            "name": "shared code update",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/4879/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/54278/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/54278/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 EFA3F1B9BC;\n\tTue,  4 Jun 2019 07:43:58 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id 6C92A1B953\n\tfor <dev@dpdk.org>; Tue,  4 Jun 2019 07:43:54 +0200 (CEST)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t03 Jun 2019 22:43:54 -0700",
            "from lrong-srv-03.sh.intel.com ([10.67.119.177])\n\tby fmsmga008.fm.intel.com with ESMTP; 03 Jun 2019 22:43:53 -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,  4 Jun 2019 13:42:01 +0800",
        "Message-Id": "<20190604054248.68510-3-leyi.rong@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190604054248.68510-1-leyi.rong@intel.com>",
        "References": "<20190604054248.68510-1-leyi.rong@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 02/49] net/ice/base: update standard extr seq to\n\tinclude 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": [
        "02/49"
    ]
}