get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2496,
    "url": "https://patches.dpdk.org/api/patches/2496/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1422009831-11092-1-git-send-email-michalx.k.jastrzebski@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": "<1422009831-11092-1-git-send-email-michalx.k.jastrzebski@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1422009831-11092-1-git-send-email-michalx.k.jastrzebski@intel.com",
    "date": "2015-01-23T10:43:51",
    "name": "[dpdk-dev] testpmd: check return value of rte_eth_dev_vlan_filter()",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "a66d73e94f6ec7be4663f10205848c73dadb949d",
    "submitter": {
        "id": 74,
        "url": "https://patches.dpdk.org/api/people/74/?format=api",
        "name": "Michal Jastrzebski",
        "email": "michalx.k.jastrzebski@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1422009831-11092-1-git-send-email-michalx.k.jastrzebski@intel.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/2496/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/2496/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 8F8045AF4;\n\tFri, 23 Jan 2015 11:45:01 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby dpdk.org (Postfix) with ESMTP id C18065AEF\n\tfor <dev@dpdk.org>; Fri, 23 Jan 2015 11:44:58 +0100 (CET)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga101.fm.intel.com with ESMTP; 23 Jan 2015 02:44:55 -0800",
            "from unknown (HELO Sent) ([10.217.248.123])\n\tby orsmga002.jf.intel.com with SMTP; 23 Jan 2015 02:44:55 -0800",
            "by Sent (sSMTP sendmail emulation); Fri, 23 Jan 2015 11:44:11 +0200"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.09,453,1418112000\"; d=\"scan'208\";a=\"674718734\"",
        "From": "Michal Jastrzebski <michalx.k.jastrzebski@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri, 23 Jan 2015 11:43:51 +0100",
        "Message-Id": "<1422009831-11092-1-git-send-email-michalx.k.jastrzebski@intel.com>",
        "X-Mailer": "git-send-email 2.1.1",
        "Subject": "[dpdk-dev] [PATCH] testpmd: check return value of\n\trte_eth_dev_vlan_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": "This patch modifies testpmd behavior when setting:\nrx_vlan add all vf_port (enabling all vlanids\nto be passed thru rx filter on VF).\nRx_vlan_all_filter_set() function,\nchecks if the next vlanid can be enabled by the driver.\nNumber of vlanids is limited by the NIC and thus the NIC\ndo not allow to enable more vlanids than it can allocate\nin VFTA table.\n\nSigned-off by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>\n---\n app/test-pmd/config.c         |   14 ++++++++------\n app/test-pmd/testpmd.h        |    2 +-\n lib/librte_ether/rte_ethdev.c |    4 ++--\n 3 files changed, 11 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex 97b6525..6ef6cb0 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -1643,21 +1643,22 @@ rx_vlan_filter_set(portid_t port_id, int on)\n \t       \"diag=%d\\n\", port_id, on, diag);\n }\n \n-void\n+int\n rx_vft_set(portid_t port_id, uint16_t vlan_id, int on)\n {\n \tint diag;\n \n \tif (port_id_is_invalid(port_id))\n-\t\treturn;\n+\t\treturn 1;\n \tif (vlan_id_is_invalid(vlan_id))\n-\t\treturn;\n+\t\treturn 1;\n \tdiag = rte_eth_dev_vlan_filter(port_id, vlan_id, on);\n \tif (diag == 0)\n-\t\treturn;\n+\t\treturn 0;\n \tprintf(\"rte_eth_dev_vlan_filter(port_pi=%d, vlan_id=%d, on=%d) failed \"\n \t       \"diag=%d\\n\",\n \t       port_id, vlan_id, on, diag);\n+\treturn -1;\n }\n \n void\n@@ -1667,8 +1668,9 @@ rx_vlan_all_filter_set(portid_t port_id, int on)\n \n \tif (port_id_is_invalid(port_id))\n \t\treturn;\n-\tfor (vlan_id = 0; vlan_id < 4096; vlan_id++)\n-\t\trx_vft_set(port_id, vlan_id, on);\n+\tfor (vlan_id = 0; vlan_id < 4096; vlan_id++)\t{\n+\t\tif ( rx_vft_set(port_id, vlan_id, on) ) break;\n+\t}\n }\n \n void\ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex f8b0740..ee03a07 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -489,7 +489,7 @@ void rx_vlan_strip_set_on_queue(portid_t port_id, uint16_t queue_id, int on);\n \n void rx_vlan_filter_set(portid_t port_id, int on);\n void rx_vlan_all_filter_set(portid_t port_id, int on);\n-void rx_vft_set(portid_t port_id, uint16_t vlan_id, int on);\n+int rx_vft_set(portid_t port_id, uint16_t vlan_id, int on);\n void vlan_extend_set(portid_t port_id, int on);\n void vlan_tpid_set(portid_t port_id, uint16_t tp_id);\n void tx_vlan_set(portid_t port_id, uint16_t vlan_id);\ndiff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c\nindex 95f2ceb..2e720f7 100644\n--- a/lib/librte_ether/rte_ethdev.c\n+++ b/lib/librte_ether/rte_ethdev.c\n@@ -1478,8 +1478,8 @@ rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on)\n \t\treturn (-EINVAL);\n \t}\n \tFUNC_PTR_OR_ERR_RET(*dev->dev_ops->vlan_filter_set, -ENOTSUP);\n-\t(*dev->dev_ops->vlan_filter_set)(dev, vlan_id, on);\n-\treturn (0);\n+\n+\treturn (*dev->dev_ops->vlan_filter_set)(dev, vlan_id, on);\n }\n \n int\n",
    "prefixes": [
        "dpdk-dev"
    ]
}