get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 10648,
    "url": "https://patches.dpdk.org/api/patches/10648/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1455806076-18497-16-git-send-email-helin.zhang@intel.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1455806076-18497-16-git-send-email-helin.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1455806076-18497-16-git-send-email-helin.zhang@intel.com",
    "date": "2016-02-18T14:34:21",
    "name": "[dpdk-dev,v3,15/30] i40e/base: add VEB stat control and remove L2 cloud filter",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "c476a5b3702ba435674e56326a766564b25b775c",
    "submitter": {
        "id": 14,
        "url": "https://patches.dpdk.org/api/people/14/?format=api",
        "name": "Zhang, Helin",
        "email": "helin.zhang@intel.com"
    },
    "delegate": {
        "id": 10,
        "url": "https://patches.dpdk.org/api/users/10/?format=api",
        "username": "bruce",
        "first_name": "Bruce",
        "last_name": "Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1455806076-18497-16-git-send-email-helin.zhang@intel.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/10648/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/10648/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 10995C420;\n\tThu, 18 Feb 2016 15:35:18 +0100 (CET)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby dpdk.org (Postfix) with ESMTP id 8E760C3F6\n\tfor <dev@dpdk.org>; Thu, 18 Feb 2016 15:35:16 +0100 (CET)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby fmsmga102.fm.intel.com with ESMTP; 18 Feb 2016 06:35:17 -0800",
            "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby orsmga001.jf.intel.com with ESMTP; 18 Feb 2016 06:35:15 -0800",
            "from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com\n\t[10.239.29.89])\n\tby shvmail01.sh.intel.com with ESMTP id u1IEZDKf019018;\n\tThu, 18 Feb 2016 22:35:13 +0800",
            "from shecgisg004.sh.intel.com (localhost [127.0.0.1])\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP\n\tid u1IEZA2w018641; Thu, 18 Feb 2016 22:35:12 +0800",
            "(from hzhan75@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u1IEZAtW018637; \n\tThu, 18 Feb 2016 22:35:10 +0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.22,465,1449561600\"; d=\"scan'208\";a=\"888696679\"",
        "From": "Helin Zhang <helin.zhang@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 18 Feb 2016 22:34:21 +0800",
        "Message-Id": "<1455806076-18497-16-git-send-email-helin.zhang@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1455806076-18497-1-git-send-email-helin.zhang@intel.com>",
        "References": "<1455776683-11790-1-git-send-email-helin.zhang@intel.com>\n\t<1455806076-18497-1-git-send-email-helin.zhang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v3 15/30] i40e/base: add VEB stat control and\n\tremove L2 cloud filter",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "With the latest firmware, statistics gathering can now be enabled and\ndisabled in the HW switch, so we need to add a parameter to allow the\ndriver to set it as desired. At the same time, the L2 cloud filtering\nparameter has been removed as it was never used.\nOlder drivers working with the newer firmware and newer drivers working\nwith older firmware will not run into problems with these bits as the\ndefaults are reasonable and there is no overlap in the bit definitions.\nAlso, newer drivers will be forced to update because of the change in\nfunction call parameters, a reminder that the functionality exists.\n\nSigned-off-by: Helin Zhang <helin.zhang@intel.com>\n---\n drivers/net/i40e/base/i40e_adminq_cmd.h |  3 ++-\n drivers/net/i40e/base/i40e_common.c     | 11 ++++++-----\n drivers/net/i40e/base/i40e_prototype.h  |  4 ++--\n drivers/net/i40e/i40e_ethdev.c          |  2 +-\n 4 files changed, 11 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h\nindex cd55a36..6ec29a0 100644\n--- a/drivers/net/i40e/base/i40e_adminq_cmd.h\n+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h\n@@ -966,7 +966,8 @@ struct i40e_aqc_add_veb {\n \t\t\t\t\tI40E_AQC_ADD_VEB_PORT_TYPE_SHIFT)\n #define I40E_AQC_ADD_VEB_PORT_TYPE_DEFAULT\t0x2\n #define I40E_AQC_ADD_VEB_PORT_TYPE_DATA\t\t0x4\n-#define I40E_AQC_ADD_VEB_ENABLE_L2_FILTER\t0x8\n+#define I40E_AQC_ADD_VEB_ENABLE_L2_FILTER\t0x8     /* deprecated */\n+#define I40E_AQC_ADD_VEB_ENABLE_DISABLE_STATS\t0x10\n \tu8\tenable_tcs;\n \tu8\treserved[9];\n };\ndiff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c\nindex b1d063f..fdd4de7 100644\n--- a/drivers/net/i40e/base/i40e_common.c\n+++ b/drivers/net/i40e/base/i40e_common.c\n@@ -2682,8 +2682,8 @@ i40e_link_speed_exit:\n  * @downlink_seid: the VSI SEID\n  * @enabled_tc: bitmap of TCs to be enabled\n  * @default_port: true for default port VSI, false for control port\n- * @enable_l2_filtering: true to add L2 filter table rules to regular forwarding rules for cloud support\n  * @veb_seid: pointer to where to put the resulting VEB SEID\n+ * @enable_stats: true to turn on VEB stats\n  * @cmd_details: pointer to command details structure or NULL\n  *\n  * This asks the FW to add a VEB between the uplink and downlink\n@@ -2691,8 +2691,8 @@ i40e_link_speed_exit:\n  **/\n enum i40e_status_code i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid,\n \t\t\t\tu16 downlink_seid, u8 enabled_tc,\n-\t\t\t\tbool default_port, bool enable_l2_filtering,\n-\t\t\t\tu16 *veb_seid,\n+\t\t\t\tbool default_port, u16 *veb_seid,\n+\t\t\t\tbool enable_stats,\n \t\t\t\tstruct i40e_asq_cmd_details *cmd_details)\n {\n \tstruct i40e_aq_desc desc;\n@@ -2719,8 +2719,9 @@ enum i40e_status_code i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid,\n \telse\n \t\tveb_flags |= I40E_AQC_ADD_VEB_PORT_TYPE_DATA;\n \n-\tif (enable_l2_filtering)\n-\t\tveb_flags |= I40E_AQC_ADD_VEB_ENABLE_L2_FILTER;\n+\t/* reverse logic here: set the bitflag to disable the stats */\n+\tif (!enable_stats)\n+\t\tveb_flags |= I40E_AQC_ADD_VEB_ENABLE_DISABLE_STATS;\n \n \tcmd->veb_flags = CPU_TO_LE16(veb_flags);\n \ndiff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h\nindex b5b8935..81ccc96 100644\n--- a/drivers/net/i40e/base/i40e_prototype.h\n+++ b/drivers/net/i40e/base/i40e_prototype.h\n@@ -179,8 +179,8 @@ enum i40e_status_code i40e_aq_update_vsi_params(struct i40e_hw *hw,\n \t\t\t\tstruct i40e_asq_cmd_details *cmd_details);\n enum i40e_status_code i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid,\n \t\t\t\tu16 downlink_seid, u8 enabled_tc,\n-\t\t\t\tbool default_port, bool enable_l2_filtering,\n-\t\t\t\tu16 *pveb_seid,\n+\t\t\t\tbool default_port, u16 *pveb_seid,\n+\t\t\t\tbool enable_stats,\n \t\t\t\tstruct i40e_asq_cmd_details *cmd_details);\n enum i40e_status_code i40e_aq_get_veb_parameters(struct i40e_hw *hw,\n \t\t\t\tu16 veb_seid, u16 *switch_id, bool *floating,\ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex ef24122..c12909f 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -3636,7 +3636,7 @@ i40e_veb_setup(struct i40e_pf *pf, struct i40e_vsi *vsi)\n \tveb->uplink_seid = vsi->uplink_seid;\n \n \tret = i40e_aq_add_veb(hw, veb->uplink_seid, vsi->seid,\n-\t\tI40E_DEFAULT_TCMAP, false, false, &veb->seid, NULL);\n+\t\tI40E_DEFAULT_TCMAP, false, &veb->seid, false, NULL);\n \n \tif (ret != I40E_SUCCESS) {\n \t\tPMD_DRV_LOG(ERR, \"Add veb failed, aq_err: %d\",\n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "15/30"
    ]
}