Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1250687/?format=api
{ "id": 1250687, "url": "http://patchwork.ozlabs.org/api/patches/1250687/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200306235403.18751-1-andre.guedes@intel.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20200306235403.18751-1-andre.guedes@intel.com>", "list_archive_url": null, "date": "2020-03-06T23:54:03", "name": "igc: Fix NFC queue redirection support", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "3bca6a23299f23e740fcce0b14f5178e2e47b42f", "submitter": { "id": 72323, "url": "http://patchwork.ozlabs.org/api/people/72323/?format=api", "name": "Andre Guedes", "email": "andre.guedes@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200306235403.18751-1-andre.guedes@intel.com/mbox/", "series": [ { "id": 162970, "url": "http://patchwork.ozlabs.org/api/series/162970/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=162970", "date": "2020-03-06T23:54:03", "name": "igc: Fix NFC queue redirection support", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/162970/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1250687/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1250687/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Authentication-Results": [ "ozlabs.org; spf=pass (sender SPF authorized)\n\tsmtp.mailfrom=osuosl.org (client-ip=140.211.166.133;\n\thelo=hemlock.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=intel.com" ], "Received": [ "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 48Z4GR41Tlz9sNg\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 7 Mar 2020 10:54:22 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id A5FA288456;\n\tFri, 6 Mar 2020 23:54:20 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id qlF0LV40xiH4; Fri, 6 Mar 2020 23:54:19 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 982208844C;\n\tFri, 6 Mar 2020 23:54:19 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id BA09F1BF5E9\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Mar 2020 23:54:18 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id B44E986F35\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Mar 2020 23:54:18 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id z_C67rhc3Cj6 for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Mar 2020 23:54:17 +0000 (UTC)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id C459D86F32\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Mar 2020 23:54:17 +0000 (UTC)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t06 Mar 2020 15:54:09 -0800", "from aguedesl-mac01.jf.intel.com (HELO localhost) ([10.24.12.191])\n\tby fmsmga008-auth.fm.intel.com with\n\tESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Mar 2020 15:54:06 -0800" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-IronPort-AV": "E=Sophos;i=\"5.70,523,1574150400\"; d=\"scan'208\";a=\"234998100\"", "From": "Andre Guedes <andre.guedes@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Fri, 6 Mar 2020 15:54:03 -0800", "Message-Id": "<20200306235403.18751-1-andre.guedes@intel.com>", "X-Mailer": "git-send-email 2.25.0", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [PATCH] igc: Fix NFC queue redirection support", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "The support for ethtool Network Flow Classification (NFC) queue\nredirection based on destination MAC address is currently broken in IGC.\nFor instance, if we add the following rule, matching frames aren't\nenqueued on the expected rx queue.\n\n$ ethtool -N IFNAME flow-type ether dst 3c:fd:fe:9e:7f:71 queue 2\n\nThe issue here is due to the fact that igc_rar_set_index() is missing\ncode to enable the queue selection feature from Receive Address High\n(RAH) register. This patch adds the missing code and fixes the issue.\n\nSigned-off-by: Andre Guedes <andre.guedes@intel.com>\n---\n drivers/net/ethernet/intel/igc/igc_defines.h | 5 ++++-\n drivers/net/ethernet/intel/igc/igc_main.c | 11 ++++++++---\n 2 files changed, 12 insertions(+), 4 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h\nindex e5116337b68d..63d3d34763da 100644\n--- a/drivers/net/ethernet/intel/igc/igc_defines.h\n+++ b/drivers/net/ethernet/intel/igc/igc_defines.h\n@@ -63,8 +63,11 @@\n * (RAR[15]) for our directed address used by controllers with\n * manageability enabled, allowing us room for 15 multicast addresses.\n */\n+#define IGC_RAH_QSEL_MASK\t0x000C0000\n+#define IGC_RAH_QSEL_SHIFT\t18\n+#define IGC_RAH_QSEL_ENABLE\tBIT(28)\n #define IGC_RAH_AV\t\t0x80000000 /* Receive descriptor valid */\n-#define IGC_RAH_POOL_1\t\t0x00040000\n+\n #define IGC_RAL_MAC_ADDR_LEN\t4\n #define IGC_RAH_MAC_ADDR_LEN\t2\n \ndiff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c\nindex 025f2e439aef..49a0d0bff727 100644\n--- a/drivers/net/ethernet/intel/igc/igc_main.c\n+++ b/drivers/net/ethernet/intel/igc/igc_main.c\n@@ -780,13 +780,18 @@ static void igc_rar_set_index(struct igc_adapter *adapter, u32 index)\n \trar_low = le32_to_cpup((__le32 *)(addr));\n \trar_high = le16_to_cpup((__le16 *)(addr + 4));\n \n+\tif (adapter->mac_table[index].state & IGC_MAC_STATE_QUEUE_STEERING) {\n+\t\tu8 queue = adapter->mac_table[index].queue;\n+\t\tu32 qsel = IGC_RAH_QSEL_MASK & (queue << IGC_RAH_QSEL_SHIFT);\n+\n+\t\trar_high |= qsel;\n+\t\trar_high |= IGC_RAH_QSEL_ENABLE;\n+\t}\n+\n \t/* Indicate to hardware the Address is Valid. */\n \tif (adapter->mac_table[index].state & IGC_MAC_STATE_IN_USE) {\n \t\tif (is_valid_ether_addr(addr))\n \t\t\trar_high |= IGC_RAH_AV;\n-\n-\t\trar_high |= IGC_RAH_POOL_1 <<\n-\t\t\tadapter->mac_table[index].queue;\n \t}\n \n \twr32(IGC_RAL(index), rar_low);\n", "prefixes": [] }