get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 806243,
    "url": "http://patchwork.ozlabs.org/api/patches/806243/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1503839623-3906-5-git-send-email-madalin.bucur@nxp.com/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<1503839623-3906-5-git-send-email-madalin.bucur@nxp.com>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/1503839623-3906-5-git-send-email-madalin.bucur@nxp.com/",
    "date": "2017-08-27T13:13:40",
    "name": "[v4,4/7] dpaa_eth: enable Rx hashing control",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "7e26db66336ad9ece0e6d36a48bad57109c2f857",
    "submitter": {
        "id": 70042,
        "url": "http://patchwork.ozlabs.org/api/people/70042/?format=api",
        "name": "Madalin Bucur",
        "email": "madalin.bucur@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1503839623-3906-5-git-send-email-madalin.bucur@nxp.com/mbox/",
    "series": [
        {
            "id": 21,
            "url": "http://patchwork.ozlabs.org/api/series/21/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=21",
            "date": "2017-08-27T13:13:36",
            "name": "Add RSS to DPAA 1.x Ethernet driver",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/21/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/806243/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/806243/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xgFrW3V69z9s03\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 27 Aug 2017 23:20:27 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xgFrW2cjLzDrFT\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 27 Aug 2017 23:20:27 +1000 (AEST)",
            "from NAM02-BL2-obe.outbound.protection.outlook.com\n\t(mail-bl2nam02on0075.outbound.protection.outlook.com [104.47.38.75])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xgFj06xDPzDqg5\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tSun, 27 Aug 2017 23:13:56 +1000 (AEST)",
            "from CY4PR03CA0018.namprd03.prod.outlook.com (2603:10b6:903:33::28)\n\tby DM2PR03MB557.namprd03.prod.outlook.com (2a01:111:e400:241b::24)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1385.9;\n\tSun, 27 Aug 2017 13:13:52 +0000",
            "from BY2FFO11FD043.protection.gbl (2a01:111:f400:7c0c::134) by\n\tCY4PR03CA0018.outlook.office365.com (2603:10b6:903:33::28) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1362.18\n\tvia Frontend Transport; Sun, 27 Aug 2017 13:13:52 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD043.mail.protection.outlook.com (10.1.14.228) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1341.15\n\tvia Frontend Transport; Sun, 27 Aug 2017 13:13:51 +0000",
            "from fsr-fed2164-101.ea.freescale.net\n\t(fsr-fed2164-101.ea.freescale.net [10.171.73.197])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv7RDDhJm028627; Sun, 27 Aug 2017 06:13:50 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; vger.kernel.org; dkim=none (message not signed)\n\theader.d=none; vger.kernel.org;\n\tdmarc=fail action=none header.from=nxp.com; ",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Madalin Bucur <madalin.bucur@nxp.com>",
        "To": "<netdev@vger.kernel.org>, <davem@davemloft.net>",
        "Subject": "[PATCH v4 4/7] dpaa_eth: enable Rx hashing control",
        "Date": "Sun, 27 Aug 2017 16:13:40 +0300",
        "Message-ID": "<1503839623-3906-5-git-send-email-madalin.bucur@nxp.com>",
        "X-Mailer": "git-send-email 2.1.0",
        "In-Reply-To": "<1503839623-3906-1-git-send-email-madalin.bucur@nxp.com>",
        "References": "<1503839623-3906-1-git-send-email-madalin.bucur@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131483132318918732;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(106466001)(105606002)(498600001)(5003940100001)(77096006)(189998001)(36756003)(4326008)(85426001)(2950100002)(97736004)(76176999)(33646002)(6666003)(68736007)(50986999)(43066003)(305945005)(47776003)(3450700001)(54906002)(48376002)(8936002)(2906002)(50226002)(53936002)(104016004)(8676002)(356003)(5660300001)(50466002)(81156014)(81166006)(626005)(86362001)(309714004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR03MB557;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11FD043;\n\t1:ekylE/BLjmhiZsBR8D60S0yv7OU1EezFHQrsFfIQaPDt1IK19Plxo24bjMK+a4FELtWN+TZx/C1yaZD2x7/zJo8qZ2KTBGHzV9eWLfB2kkjT2nUPwv/hGjFGfRqHswZP",
            "1; DM2PR03MB557;\n\t3:ZA2+gIMCUK1Ee+l5yIs7q63YzpJT4ViFTHY92wTcvva0i2ExMoUYj8bS6rxt6rG1fSJfl8kCk8Y7XAayzm95BxAF9KKn/Tv/RpUXN9qPMTvi4HnWG01zprkXTEl1SIVa48D7y7ZKsC4Vjn2njHf5ZAdU1M4xQpnqq1eZhuqb6nsw7h2K5V42Mjk3kwqTijWaOY8fQ4/dlwHfiyW4NrrodnjXP+HoimhrQVxK+wsarDqszBQ7KgwfgVtcewvKDt1kaf1eFnjKHzlE18R4aTywep8IN6+zSfWxzffbmxBJL0+mi0zSmo0fwbHYDsHTEXqWusybzSBRKmmmIV9Bl/GUVS8eOwf95hA2gXhlFEWgnfM=;\n\t25:tU/8I6JBXXuNz5B7aDF9SDYni1De8CHcwn1Dubkn0LdvjpybjYuAWu7orEL/kBoCvYfI0MLhmS2azjqq3PCl7i/zXKYMZ7FIJfko2Rk3Nc8Sq3W0a5BwGeC6leXOvDKH41a+onkWt38LxGdbfeK80RSjiSmtB/bWSnw2uZtIwxWgzNCNtY1MT4c/sk2OqGP7SmdwP2ao0RYaZlFFvhBGpKkrSIXRyDaCYY3WRyxpoB9c4ZyDOF+ifUsQeXMRSPuDiyEN7II43eVlPO6ZGpwaWca7ln2MswY2S2SuNcuDKa/47eA8ajj0fCefx//BNueSJa0VXSNdTvjKxN9BJdSR0w==",
            "1; DM2PR03MB557;\n\t31:1WtdBX4ajL0R2tTH+Amh7VC0llpw9rYjThfu/MgcS3FH5XLkllyNt4wjKiZlbO/9GuhSTw44s85lQxww7G7oZ1Vxc+gwghiT/ystSKP/01r/HCCX5S6ywLLIOCAERc4Z9/a+ANcps/ZBYTFgF9i7XRf2EIPJ1lf8FqqaamUPHcFrm+fcXU+gTCwLK2PKShMGtO6HhJZ1Xzys6AppbJdmLy2C58AST5dQcavrD4iPbgc=;\n\t4:nhoXrH/TcaoCwc76U+Ir9tTN01j+jou+RdGyJfC3RDJuNE7Wa8W1r9RPdMZnzLD6nOI89Oir1FQaMVuPcJ3Jq4nmBhIn0oXAvHxqb6N/1azxdPsscKS391S6MCj/uqBok8hNE3+aM9QhXljQ2VA5swsVe79epdzyYuO9jtWlphYSaqwkjQ7Eo+src1qbvRoiRNyxmWxfmTgvSIAUvqKxtyye7u4+m1rEDDe8JM29vVFmSZ0r4XxF5Cezp82LXbqg1kH1twlNTqnTt56RW+t0AAYUG96Ell4IYRpiI0fw5As=",
            "=?us-ascii?Q?1; DM2PR03MB557;\n\t23:8GEbB2rYw+SuWKFYa4SV79FXmye+KBAhXZKF5LZThw?=\n\tNBg+jv6OMhYw7l1yQeJe+/5TmGZra5YWQNXLvQcuw8hrSMcDtdA42BTZvr6QZB+LyJ0eNR3sm5BjfDZtoh4EwOa8xe1ynLkCPOD+VPSUS/6lecdO5PK/FQ/vEbLwyT+9zQNyKeSILDtWKEfCl7UqwvRNBMMrF8O6AMih2WvKMPhdIhMCcfv1XD2owmrcQUEjDz9hq+/hnh/6ur6JzYRxO4nQbpUfsGTNfAlMuJ0Pp7HAu5jhF7mvbZSVz7zZJF+TL7qyjClrGeydHoG6SFAoegoW46w9HV9nET/eFnuvP3cEDTAip71a3jj6g/gSkbuk2lWAXEAVkQuK8WHSg5CIAtYkHCeLO16275KA9Xc/673JVe3O0A5JaaQB4bFwdhTlbNyqKRYQyJzZXqimYROMmM0xC57D9Qv/j2G20nysJGd0xopYz85Q+A4RIhIvWREThblyeknV9LRmVkwTuAzYqx9ggI+xf4l2t03B2N4sdeEcgY+x890ekxJC9duPRqMsSQ5eoO1XMSSvtj0OM5RPeWnUQczidXRWT9Fv33lP/hjTtihgKwBziIr3BdKVQryJiyXrSiQ+ILfzAYJKsVf8rqpkdO7oM1a8rGWOZJvobYEzMV55QZEkzhEOiDKXne1KgjkMWrQWTHWkDzu7qj5GVVaRGBQGkpiII0W7RswwLDGtm2SpcBnNO0DiplwiNLB/oNGdQYT86/SlDx9r8Qp02iTJMkGAxG7C2P/Rc1D3i9hgPV97q7J1O93KMLDA9eORGsT1b4/rq9mk04nm5puzW6isi/CrMwZaHbo+Tbh+ml6heFCG5p3YqdNY2GyXN/RDTzVCFVbexyWiOUBtZ3Q1qRtsuXfHqmUSIOV9iE+xFvQWeWNu9rUmtRzNhC4qd//XdZyXKCjYvqHnSOKvyrSNSPbZkmLfK33GtcdO8TAUBEW7dyluSQOKPlWRVPvri4W8ZD5XuZWqmGjykjeUn6Lc/ZHHOKtW4pgdnr7uxfqROkP6FIrS9l7/LlLofN827Voe0+5dYJAUST1QwY62nbzZJz8nRWeqDGTXKefDdy8JNGipFEroADqrHHmZi7MyoHFpw=",
            "1; DM2PR03MB557;\n\t6:e1f+2dVYOEPyciOuLe66kvFXNbfnC3ViZuK29H8kLy1Pm7RXePis0d6/2R0KvVPCx6fZHXJ+OG457rB1MxIAmxZYSFz29H1x5zEXikG0SUNxmOlZtdXxZ5oImj5CD7D58YWGaCMgVC6N5XDdbNxzhb+2UdTI/FAbsL2/F5jW9nHFuPlPq7u9NYw6d1K9BjM582lLIfjwPn1iusCYyaWso9W7tWv4Et33EnWmk0HL3eBbqNAqOhYyyKKEc6W9VSJD7wmVa5dEZ8Q4+m26Ht00hZVLQYY7SMnjzhK3KTVTSNXC4gX5qC12YL7HhYyvp/ooKLK4BlDVgIyb2OpmZ8XDJg==;\n\t5:Lb8U67ML83OWn2PBlgYj8QPuULgCv445UO7awYroA8N+8z6dJ/UpcmcWuEXKz/HQAv+gomEFWGSJXo4H0bb+RtWUIxJ7I3fk784Ddrx701R7P1ZlXu+bRtXt+f5xwHMoHVOwORbJXRf3lkOtT8A9bQ==;\n\t24:eLA1CIHZf/o9aTO81NVMpX+b2E9pt9WNbAE5xI1ysx0P8I3lmRG1NCGuC1/MfeyL2PePG9MgMg26CUHjB4VYitA6LGBmAZZVlJPASFoMC2w=;\n\t7:tqVuBGDxosmXsZandy8Cyawoss99ha1REBO5oK51CeKqUAaZndxjzOoy5cLr+EKguqxuWxy+FJ4AcvnE4ViAizkyEKltD3YQbyocRv2LHcDh8zZEiyIwbJWUr1oiIqf5Dzd0UL7DC8/6MGQjguaa/Gv6p3Gl4YRT8cEVbAxw2TY0rHhspUDw0mFKfvuPIC6tGUuTFI7G/LPlTDxegYVINuMqarSNIihrSsPr6QEJvZo="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "6f6b8a9b-583d-4169-284c-08d4ed4d764a",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DM2PR03MB557; ",
        "X-MS-TrafficTypeDiagnostic": "DM2PR03MB557:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Microsoft-Antispam-PRVS": "<DM2PR03MB5576DF303D97CC97F562498EC990@DM2PR03MB557.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(20161123563025)(20161123561025)(20161123565025)(20161123556025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DM2PR03MB557; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DM2PR03MB557; ",
        "X-Forefront-PRVS": "0412A98A59",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Aug 2017 13:13:51.7046\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM2PR03MB557",
        "X-BeenThere": "linuxppc-dev@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>",
        "Reply-To": "madalin.bucur@nxp.com",
        "Cc": "linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org",
        "Errors-To": "linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"
    },
    "content": "Allow ethtool control of the Rx flow hashing. By default RSS is\nenabled, this allows to turn it off by bypassing the FMan Keygen\nblock and sending all traffic on the default Rx frame queue.\n\nSigned-off-by: Madalin Bucur <madalin.bucur@nxp.com>\n---\n drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c | 113 +++++++++++++++++++++\n 1 file changed, 113 insertions(+)",
    "diff": "diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c\nindex aad825088..965f652 100644\n--- a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c\n+++ b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c\n@@ -399,6 +399,117 @@ static void dpaa_get_strings(struct net_device *net_dev, u32 stringset,\n \tmemcpy(strings, dpaa_stats_global, size);\n }\n \n+static int dpaa_get_hash_opts(struct net_device *dev,\n+\t\t\t      struct ethtool_rxnfc *cmd)\n+{\n+\tcmd->data = 0;\n+\n+\tswitch (cmd->flow_type) {\n+\tcase TCP_V4_FLOW:\n+\tcase TCP_V6_FLOW:\n+\tcase UDP_V4_FLOW:\n+\tcase UDP_V6_FLOW:\n+\t\tcmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;\n+\t\t/* Fall through */\n+\tcase IPV4_FLOW:\n+\tcase IPV6_FLOW:\n+\tcase SCTP_V4_FLOW:\n+\tcase SCTP_V6_FLOW:\n+\tcase AH_ESP_V4_FLOW:\n+\tcase AH_ESP_V6_FLOW:\n+\tcase AH_V4_FLOW:\n+\tcase AH_V6_FLOW:\n+\tcase ESP_V4_FLOW:\n+\tcase ESP_V6_FLOW:\n+\t\tcmd->data |= RXH_IP_SRC | RXH_IP_DST;\n+\t\tbreak;\n+\tdefault:\n+\t\tcmd->data = 0;\n+\t\tbreak;\n+\t}\n+\n+\treturn 0;\n+}\n+\n+static int dpaa_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,\n+\t\t\t  u32 *unused)\n+{\n+\tint ret = -EOPNOTSUPP;\n+\n+\tswitch (cmd->cmd) {\n+\tcase ETHTOOL_GRXFH:\n+\t\tret = dpaa_get_hash_opts(dev, cmd);\n+\t\tbreak;\n+\tdefault:\n+\t\tbreak;\n+\t}\n+\n+\treturn ret;\n+}\n+\n+static void dpaa_set_hash(struct net_device *net_dev, bool enable)\n+{\n+\tstruct mac_device *mac_dev;\n+\tstruct fman_port *rxport;\n+\tstruct dpaa_priv *priv;\n+\n+\tpriv = netdev_priv(net_dev);\n+\tmac_dev = priv->mac_dev;\n+\trxport = mac_dev->port[0];\n+\n+\tfman_port_use_kg_hash(rxport, enable);\n+}\n+\n+static int dpaa_set_hash_opts(struct net_device *dev,\n+\t\t\t      struct ethtool_rxnfc *nfc)\n+{\n+\tint ret = -EINVAL;\n+\n+\t/* we support hashing on IPv4/v6 src/dest IP and L4 src/dest port */\n+\tif (nfc->data &\n+\t    ~(RXH_IP_SRC | RXH_IP_DST | RXH_L4_B_0_1 | RXH_L4_B_2_3))\n+\t\treturn -EINVAL;\n+\n+\tswitch (nfc->flow_type) {\n+\tcase TCP_V4_FLOW:\n+\tcase TCP_V6_FLOW:\n+\tcase UDP_V4_FLOW:\n+\tcase UDP_V6_FLOW:\n+\tcase IPV4_FLOW:\n+\tcase IPV6_FLOW:\n+\tcase SCTP_V4_FLOW:\n+\tcase SCTP_V6_FLOW:\n+\tcase AH_ESP_V4_FLOW:\n+\tcase AH_ESP_V6_FLOW:\n+\tcase AH_V4_FLOW:\n+\tcase AH_V6_FLOW:\n+\tcase ESP_V4_FLOW:\n+\tcase ESP_V6_FLOW:\n+\t\tdpaa_set_hash(dev, !!nfc->data);\n+\t\tret = 0;\n+\t\tbreak;\n+\tdefault:\n+\t\tbreak;\n+\t}\n+\n+\treturn ret;\n+}\n+\n+static int dpaa_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)\n+{\n+\tint ret = -EOPNOTSUPP;\n+\n+\tswitch (cmd->cmd) {\n+\tcase ETHTOOL_SRXFH:\n+\t\tret = dpaa_set_hash_opts(dev, cmd);\n+\t\tbreak;\n+\tdefault:\n+\t\tbreak;\n+\t}\n+\n+\treturn ret;\n+}\n+\n const struct ethtool_ops dpaa_ethtool_ops = {\n \t.get_drvinfo = dpaa_get_drvinfo,\n \t.get_msglevel = dpaa_get_msglevel,\n@@ -412,4 +523,6 @@ const struct ethtool_ops dpaa_ethtool_ops = {\n \t.get_strings = dpaa_get_strings,\n \t.get_link_ksettings = dpaa_get_link_ksettings,\n \t.set_link_ksettings = dpaa_set_link_ksettings,\n+\t.get_rxnfc = dpaa_get_rxnfc,\n+\t.set_rxnfc = dpaa_set_rxnfc,\n };\n",
    "prefixes": [
        "v4",
        "4/7"
    ]
}