get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 60821,
    "url": "http://patches.dpdk.org/api/patches/60821/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191009152006.5768-2-harry.van.haaren@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": "<20191009152006.5768-2-harry.van.haaren@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191009152006.5768-2-harry.van.haaren@intel.com",
    "date": "2019-10-09T15:20:04",
    "name": "[v2,1/3] net/i40e: cache fdir enable value in rx queue",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "1137740919654aab8312c10c9d543c56d7e8f074",
    "submitter": {
        "id": 317,
        "url": "http://patches.dpdk.org/api/people/317/?format=api",
        "name": "Van Haaren, Harry",
        "email": "harry.van.haaren@intel.com"
    },
    "delegate": {
        "id": 31221,
        "url": "http://patches.dpdk.org/api/users/31221/?format=api",
        "username": "yexl",
        "first_name": "xiaolong",
        "last_name": "ye",
        "email": "xiaolong.ye@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191009152006.5768-2-harry.van.haaren@intel.com/mbox/",
    "series": [
        {
            "id": 6770,
            "url": "http://patches.dpdk.org/api/series/6770/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=6770",
            "date": "2019-10-09T15:20:03",
            "name": "net/i40e: add FDIR ID to vector rx",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/6770/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/60821/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/60821/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 F0A451E943;\n\tWed,  9 Oct 2019 17:20:46 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id 509ED2D13\n\tfor <dev@dpdk.org>; Wed,  9 Oct 2019 17:20:42 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t09 Oct 2019 08:20:41 -0700",
            "from silpixa00399779.ir.intel.com (HELO\n\tsilpixa00399779.ger.corp.intel.com) ([10.237.222.100])\n\tby fmsmga004.fm.intel.com with ESMTP; 09 Oct 2019 08:20:40 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.67,276,1566889200\"; d=\"scan'208\";a=\"218659796\"",
        "From": "Harry van Haaren <harry.van.haaren@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "qi.z.zhang@intel.com, mesut.a.ergin@intel.com,\n\tHarry van Haaren <harry.van.haaren@intel.com>",
        "Date": "Wed,  9 Oct 2019 16:20:04 +0100",
        "Message-Id": "<20191009152006.5768-2-harry.van.haaren@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20191009152006.5768-1-harry.van.haaren@intel.com>",
        "References": "<20191007090731.90073-1-harry.van.haaren@intel.com>\n\t<20191009152006.5768-1-harry.van.haaren@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 1/3] net/i40e: cache fdir enable value in rx\n\tqueue",
        "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": "This commit adds a fdir_enable flag in a uint8_t sized hole\nthe rx queue structure The flag enables the rx code path to\neasily identify if fdir is active. This can be used to skip\nfdir id processing when it is not required.\n\nThe flag is zero by default (as rxq is zmalloc-ed at startup),\nand the flag is set to 1 on configuration of a flow director rule.\n\nSigned-off-by: Harry van Haaren <harry.van.haaren@intel.com>\n\n---\n\nv2:\n- Disable FDIR processing on flush (Qi)\n- Disable FDIR processing on last rule deletion (Qi)\n- Moved enable/disable to seperate function to avoid code duplication\n- Added PMD_LOG INFO level print for FDIR RX Processing enable/disable\n---\n drivers/net/i40e/i40e_ethdev.h |  1 +\n drivers/net/i40e/i40e_fdir.c   | 20 ++++++++++++++++++++\n drivers/net/i40e/i40e_flow.c   |  4 ++++\n drivers/net/i40e/i40e_rxtx.h   |  1 +\n 4 files changed, 26 insertions(+)",
    "diff": "diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h\nindex 38ac3ead6..743bead25 100644\n--- a/drivers/net/i40e/i40e_ethdev.h\n+++ b/drivers/net/i40e/i40e_ethdev.h\n@@ -1153,6 +1153,7 @@ const struct rte_memzone *i40e_memzone_reserve(const char *name,\n \t\t\t\t\tuint32_t len,\n \t\t\t\t\tint socket_id);\n int i40e_fdir_configure(struct rte_eth_dev *dev);\n+void i40e_fdir_rx_proc_enable(struct rte_eth_dev *dev, bool on);\n void i40e_fdir_teardown(struct i40e_pf *pf);\n enum i40e_filter_pctype\n \ti40e_flowtype_to_pctype(const struct i40e_adapter *adapter,\ndiff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c\nindex b3e893a5b..dee007daa 100644\n--- a/drivers/net/i40e/i40e_fdir.c\n+++ b/drivers/net/i40e/i40e_fdir.c\n@@ -608,6 +608,23 @@ i40e_set_flex_mask_on_pctype(struct i40e_pf *pf,\n \t}\n }\n \n+/*\n+ * Enable/disable flow director RX processing in vector routines.\n+ */\n+void\n+i40e_fdir_rx_proc_enable(struct rte_eth_dev *dev, bool on)\n+{\n+\tint32_t i;\n+\n+\tfor (i = 0; i < dev->data->nb_rx_queues; i++) {\n+\t\tstruct i40e_rx_queue *rxq = dev->data->rx_queues[i];\n+\t\tif (!rxq)\n+\t\t\tcontinue;\n+\t\trxq->fdir_enabled = on;\n+\t}\n+\tPMD_DRV_LOG(DEBUG, \"Flow Director processing on RX set to %d\", on);\n+}\n+\n /*\n  * Configure flow director related setting\n  */\n@@ -675,6 +692,9 @@ i40e_fdir_configure(struct rte_eth_dev *dev)\n \t\tPMD_DRV_LOG(ERR, \"Not support flexible payload.\");\n \t}\n \n+\t/* Enable FDIR processing in RX routines */\n+\ti40e_fdir_rx_proc_enable(dev, 1);\n+\n \treturn ret;\n }\n \ndiff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c\nindex e902a35d7..9e038fa48 100644\n--- a/drivers/net/i40e/i40e_flow.c\n+++ b/drivers/net/i40e/i40e_flow.c\n@@ -4775,6 +4775,7 @@ i40e_flow_destroy(struct rte_eth_dev *dev,\n \t\t\ti40e_fdir_teardown(pf);\n \t\t\tdev->data->dev_conf.fdir_conf.mode =\n \t\t\t\t   RTE_FDIR_MODE_NONE;\n+\t\t\ti40e_fdir_rx_proc_enable(dev, 0);\n \t\t}\n \t\tbreak;\n \tcase RTE_ETH_FILTER_HASH:\n@@ -4931,6 +4932,9 @@ i40e_flow_flush(struct rte_eth_dev *dev, struct rte_flow_error *error)\n \t\treturn -rte_errno;\n \t}\n \n+\t/* Disable FDIR processing as all FDIR rules are now flushed */\n+\ti40e_fdir_rx_proc_enable(dev, 0);\n+\n \treturn ret;\n }\n \ndiff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h\nindex 3fc619af9..1028e8b68 100644\n--- a/drivers/net/i40e/i40e_rxtx.h\n+++ b/drivers/net/i40e/i40e_rxtx.h\n@@ -96,6 +96,7 @@ struct i40e_rx_queue {\n \n \tuint16_t port_id; /**< device port ID */\n \tuint8_t crc_len; /**< 0 if CRC stripped, 4 otherwise */\n+\tuint8_t fdir_enabled; /**< 0 if FDIR disabled, 1 when enabled */\n \tuint16_t queue_id; /**< RX queue index */\n \tuint16_t reg_idx; /**< RX queue register index */\n \tuint8_t drop_en; /**< if not 0, set register bit */\n",
    "prefixes": [
        "v2",
        "1/3"
    ]
}