From patchwork Tue Mar 28 19:40:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 744503 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vt1TW3Pfyz9s3w for ; Wed, 29 Mar 2017 06:40:47 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="THB1LLAu"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755584AbdC1Tkg (ORCPT ); Tue, 28 Mar 2017 15:40:36 -0400 Received: from mail-cys01nam02on0076.outbound.protection.outlook.com ([104.47.37.76]:62080 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755402AbdC1Tke (ORCPT ); Tue, 28 Mar 2017 15:40:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=m1PrfFofSVyT9QxF9E2Ui8L4R0UiG7w7e21Etw2KvK4=; b=THB1LLAuOv/9PYepC9a3LxmcvlqMDmQKw7OuiTehlxd4XsZPD4k/351Yx4KghkAMpdGiamVqcUVqa4XqCX2HXBdDZh6la7MfCtf6DyR3ja+rP7MD2B5WeKk/NrY+HQVY/62v/OlCGsWS2uyd9qncIQf7HH4gBth/VbM4fnwfYpE= Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=none action=none header.from=cavium.com; Received: from localhost (73.71.186.126) by MWHPR07MB3181.namprd07.prod.outlook.com (10.172.96.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14; Tue, 28 Mar 2017 19:40:07 +0000 Date: Tue, 28 Mar 2017 12:40:02 -0700 From: Felix Manlunas To: davem@davemloft.net Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com, derek.chickles@cavium.com, satananda.burla@cavium.com, veerasenareddy.burru@cavium.com Subject: [PATCH net-next] liquidio: add automatic packet steering support Message-ID: <20170328194002.GA1066@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [73.71.186.126] X-ClientProxiedBy: MWHPR01CA0007.prod.exchangelabs.com (10.168.201.145) To MWHPR07MB3181.namprd07.prod.outlook.com (10.172.96.139) X-MS-Office365-Filtering-Correlation-Id: 14d223d3-c991-4a24-1b57-08d476123d59 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423065)(201703031133071); SRVR:MWHPR07MB3181; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 3:ZrWF22bvndGZzxM/tBNZ3pWcvx1mw7QBNU6rysAT1E1Bhdn7UyLJ41AX0DiXhX3yg1r44sWk7aKsJl3VQrpiBWM8djDM7pxxcTBp2VdO2I7P+opmD/7QCkdLagXc+vPtqEMM+MlKNGHBYG/gt29PumKeEBLjs9KygehwE462VJ59fU4W9W3F7FXEJuiul8yABu8Id566i9HcgBcU5tK8saTyljerNZd2VQvWAbaNp8WxhD3j7oKdaXp+QWpHb+NR1uU3AjuKVJz9t8HZvntBX+QS26fGPKguA5CVSW4iSQakEwi6aFIiPKVYrr75m1jgLgvA6kfYrXvuFzp4qo6uNA==; 25:TCoJL2Zy+fr+edofQL4nHLBmXiP3AVWlSimgXW45+YdCO0NIU6UlTQxKStpMO01mq5F35/+c+ZZqYYmDlFAxvreAQzx96JScjlUlPiq1an/BM+Dvk23Cqk9D9ACgM6bJG8BujOUCQUmvfpGZDaeJeJgq1V/8iA68dJaZNVMbEjYyDm1C/O5+8w1HnBTaRIcrKqHzr6q1/GZ4CPs5xngz+hLlondbZHXwV3Q0uYVMkNoXvQWSDjZnDeeS2eTcbjKoyM+o7zM26QW9aNdZgQKwsX07cAPIqNAvz/+JYKWGWjlrAQ7GOuOHmsHXmUpp1DuWBvPj7N8rY8NImBwLhaO5G+JUzuXcsGLfVbqoXXgUhw9cMM2aykPKi9KlrN3tFEhnBHq2km+th34nho42r+ZtBUkKEFU+kLK1BfCSgefAeOILh0goyVBWLaWhlyjOJ7/H3V5Wiuk3kkkUtxdyPzl+xw== X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 31:dQbRn+M0xq012stDLm2jIk5PsxzHF1igQy7Dfrm5mOpISfkPJafKEGFZUTWZo7MRGee4uN4oBer9N/MyWrLKuMeEQv5HvktbWobw/GAKBuBzFLx2DF8itsdjI4c1JWaDSsL0xd+VIna942+7Hwf6w19TLqbgzRjcWq6DSYEoWKrBlKV3aP26XVA+fD3yPLYCZRD7vK0Bdz/c5KH4cfGc8vBEC+0diPuxcNAEygxqOhg=; 20:7XCl1yiYHeqmmt0ml5Nw+IJ4yRVPcIwmFXX5114a8Wlg1rnHyPZMiLyAa/bEG9PCXo4b31k84wVm2KSYKjF7fJ06V24JFqmAZwEy9kCPZbb2T5tG+VcjR5vMBo5XOxFCuVNWtbxFNcDczsOBwSJ8mWy40HxI7Q7sMaNEOFdCg7V+u+Hb5/OqX7Nr9sM060MgYS2otYO29qdsQp3VtrzID+jyJVE5EfVHD1kui5OOT3HNLd95qiWU+MKqw/GFX25utDqH1JzpWw+wqkurxG4xdiwv5SispmnisZFSLJ7KM4LKebh6TUrqkSHEQ1Ki87V9LX32fxMPKGJWB5WwedZuPQKjO9Fejb2/WnxgQJpIUFK2lkoPPh36dtpoK4xRMWygCzm7FhiqL/UXsiZZtO4saw5W6wvqRnEjmLzsd2TBs8+jISbk9NvPP1Uu0xif+8C29hdRmACdaGfebpGsGIx8wr54xwOvuXLjP0YDlFQT74nWcsp+8VC8PIEG9HRc+MVF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040440)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123558025)(201703131423065)(201702281528065)(201703061421065)(201703061406065)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6072148); SRVR:MWHPR07MB3181; BCL:0; PCL:0; RULEID:; SRVR:MWHPR07MB3181; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 4:N9EamAHHzOD9nuzLp5Rhb/HYL60t55cyFyYHhdSVU22cQx9DsGYsCTonsERIvfyT6Y7+kx9OHX2UyKtS+bCL0a+w39VJCe1e/sfGpr7ZZ/PahnF+hL/SJc1kUA3WuBVJYDSWIvYA/hJ4yUyAD7BcnxVKXgCC6B6APEfl/grrpPoD2bMQB1fvKh4V/XyLPxoElE+rfoBiqLNz4bUeIzijEBuHMnOsiDR1+7W4VRuYIfUfe+VInTkE08ymsEvaMific/flE4TmIQMxEXo7MTm1sSv8P/Rdt0OkiACdG4Zl2k0ge4bwd+htnYgF7polUJc4Y8IB79o8LFDRSOoD354g56eSJxbIpA9NewahfrwSU/LJ3M8XUphPAGzZg1G++wL/n+HMpRYESX04SCElS/eckyMZVd/dqqmFtsahnwkE3Ueirxq36Su0aFx4zwrz+YoBXgJkOuHz8xiUQqbiDT21O8Q6PqAG7AyRipnriOXBTIg1SOURj7hNmcG65/s52nV12nLET0zVbkLqVGxop8OaD1TWx96fdh2U8VMQb0mhJ74oLSWxI8ruxJ/7vh6SnJJXsIcv81tlLvdfyc2dswyAeKEikf7LXopYBGiaN+OC6hYk4FvwGcyjx7vaeRlm6ZIgRpETiCo4wZi8YVI5XOfoNsrVXPrzBodLOTmem7PK5beXWBaf3i1FpLqu+vCoNHjyqEyyOUDlWq0T10Y/j9GjqA/Q7Vz7O5mg2r3RnCEpp8WBfweg6NUulxsXqLfTlkmf X-Forefront-PRVS: 0260457E99 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(39410400002)(39400400002)(39850400002)(39840400002)(39450400003)(189998001)(4001350100001)(33656002)(107886003)(38730400002)(110136004)(8676002)(81166006)(83506001)(4326008)(25786009)(50466002)(66066001)(2351001)(2361001)(6496005)(6486002)(76506005)(1076002)(86362001)(575784001)(47776003)(6916009)(6666003)(23726003)(7736002)(5660300001)(305945005)(53936002)(2906002)(42186005)(50986999)(54356999)(6116002)(3846002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3181; H:localhost; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR07MB3181; 23:Cgytt/nvWqDsGMimJg34f7v64RbamGgClTQmpWc25?= =?us-ascii?Q?an0/vj0hBGtQakk2AcmIEVRFrFH0eBWzYXWDQLaDyWNZg88aIRwWLRGILQrF?= =?us-ascii?Q?G6DiBWWUSBYvYmt8mz5l+qZeviEE+8vmM36ZLItrTQ3UE6pW8VIGkH364o5o?= =?us-ascii?Q?f8wQsAgBiZK8WjT9nxUFE7Ae7gGXB/+Eq/5RJtfnpo6lqjH3neq2T13vnJDZ?= =?us-ascii?Q?/O/KbfLCSdPUvTnEDRlgYqVgHgl4cBfNiyZdbTnJ3j+7R0whH9FN/es5kWBT?= =?us-ascii?Q?OUrVKtdYVkGW6aPJ+udzzuNi/tJ1ku2ypi+AJvtunbIm7OWepJkYG7PTVwHK?= =?us-ascii?Q?RhFTctIFjdDLeSb+6zTaLGZzGd4kw/ZIjnVZzGoBVBWpFH/jlq8j/+ka73Aw?= =?us-ascii?Q?raZ4E+uF65MnHxNs/lvSTDp7QbLvL0qQprjy3sBJ0JEPWejmSu1xZKXQ8n8R?= =?us-ascii?Q?gCspV25xNrZZHDd6SGJepnOAwMGNHNAC7NLy0waomaLCKbf2VPAlQkBKiOt0?= =?us-ascii?Q?10oDRIe1I1Vk0f2aai0a70uUqg7a8om1p+vYGBF4QwdyrMkTg3xNbrUno/ui?= =?us-ascii?Q?f5aifEc0JalRsfC814uedLyL4R3yG+2U5H3ySBW4Gw3oRmqF32M8MkbxW0nX?= =?us-ascii?Q?O+AAP11LJUCnfQmOZGHfvM9ub0yRSbGX+jrmataskzOuSTpu/JH+SV+oN+UC?= =?us-ascii?Q?55Hl1iRP6uvI/3pK7SDdrF8fVhTN44acJGx/ixKY/GHZMtuV91hfvqzsjZg7?= =?us-ascii?Q?3rUpy79ZD4/UQtTKuXDDU1QU56LnqXrrbf8zHn0p+lnMaCUDBLk/XVbi/9l4?= =?us-ascii?Q?7jKHOz6SxFq2tUVYO6xlwW5eXCcAdaG57ebZPCQWofnmoh/TExO8ew3ELRJF?= =?us-ascii?Q?hYyN/WBvQ66weaoY72rXBL5c+d2ue6PiIFtIqD8pQbSGSavOifeCa5GqmVos?= =?us-ascii?Q?3dNqiwwea6gc723AfS52RFyYM0tp0UrIyCuGTHXzfylfCPtzcekvMrZwgY9t?= =?us-ascii?Q?x2GhvEPMnBjGKjP5hn7l39MZILZCQwYL47HSxTpoxhwmowhONYYJa5TV/HMb?= =?us-ascii?Q?aJNT2WTp78J3DnsSldEOGu63COycslsLmucfmXiObz/jSmicg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 6:eD9GKBZU07NrZQnWUej9CmJrj090snpLZhvzMmoy6WUMuocpWjRirt1Bwj0GoqDlhndtCsw7Ul58fBvo+PJsaHBPK2aPny/SvaySdnwAybNA62iIdJg3hzMsaBwU2kD4KZWm2H62tOfq/En6OFUs8JQvCsznIyg/R6LqqrWbpUxI5t0r1DmlaJCEvmm+UTofI+cn7t69sH+mkkuDSASPXLWECGKSiRxvpD7jqDaRTybzxfEYuv/jnC0rG+FsW4KirKv1Gtu72htTem/fLZr4RlsRjPfAgOERXgD4O3L8s9itd9VeQlNHvyCk8j4HRURkIPeTlCUNl4OSof8olcDvwulYLzeRCJs7xjPPTWqUOjFEdHuNk55rSjKkmP9h6zmb5qmjRQCGcZWJIe3Mdj56vg==; 5:plcW1v3wVu//zsLosaMcv/A5tXtFM4yuKrA4S7JxQn4ToH53Ay0w+P1etWlli3crWMUjohNumBwaTccgX7pDwEcL31AgDMQU9P+x34UayakoPyNTci1ag8RQBe3wyaNkp0ESIHFltyiBo2fxdsBpJQ==; 24:HdgiJytALD3vYPMP0p2WSxQCZT/4f4K/fdkYAzGfj1ZpD4fowrC2Fji1WLmDBNFi1dLZ3DsYfjncw/izWzV7nOeaPBGKxPXslFcAppTzXR0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 7:feDCvLdTH8DJQ2++zhd3sB8Ad12kQprujZY7/E5nrHdBqiCnTmt9vD7fLuIJPiu9vZuD7xYmPwHg+Fk2+G3SC9silmFk4/Klyf5qp56k+UpUD91VZxeH0XRcc9xpsEUahSi9ABpNqjlx8jG8KHcXgLrkpJFf7M/5N/vsUdJxMrpXgV93s7CWHmZl54KfwAC5Jj91V2hutOxELScpfE6LVRxxsWlg1tXcrMYB6vz2fAvraD/ZzxMol/2Mm/bwJU5DD547jY/T0GLJ+j3JL7TNIMemopKnGl+u8Y7vtSPg7XdVSCmibgk570XPuxM885oe19a3ee9sAIzhyLztx7RFKQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2017 19:40:07.4429 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3181 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: VSR Burru Add automatic packet steering support. NIC firmware does the actual work; host driver helps by instructing Octeon's Packet Interface Unit (PKI) to calculate 5-tuple hash (source ip, destination ip, source port, destination port, protocol) for egress packets, which the firmware uses to map a flow to an egress queue. For ingress traffic, same 5-tuple hash is calculated and reverse mapped to get the matching queue. Packet steering can be enabled or disabled via ethtool like this: ethtool --set-priv-flags ethX pkt_steering on|off Also, remove deprecated OCT_PRIV_FLAG_TX_BYTES private flag. Signed-off-by: VSR Burru Signed-off-by: Felix Manlunas Signed-off-by: Derek Chickles --- drivers/net/ethernet/cavium/liquidio/lio_core.c | 14 ++++++++++++++ drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 20 +++++++++++++++----- drivers/net/ethernet/cavium/liquidio/lio_main.c | 4 ++++ drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 2 ++ .../net/ethernet/cavium/liquidio/liquidio_common.h | 2 ++ drivers/net/ethernet/cavium/liquidio/octeon_device.h | 4 ++-- drivers/net/ethernet/cavium/liquidio/octeon_nic.h | 8 ++++---- 7 files changed, 43 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_core.c b/drivers/net/ethernet/cavium/liquidio/lio_core.c index f629c2f..79dbf71 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_core.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_core.c @@ -248,6 +248,20 @@ void liquidio_link_ctrl_cmd_completion(void *nctrl_ptr) netif_info(lio, probe, lio->netdev, "Set RX/TX flow control parameters\n"); break; + case OCTNET_CMD_PKT_STEERING_ENABLE: + netif_info(lio, probe, lio->netdev, + "%s Packet Steering Enabled\n", netdev->name); + lio_set_priv_flag(lio->oct_dev, OCT_PRIV_FLAG_PKT_STEERING, + true); + break; + + case OCTNET_CMD_PKT_STEERING_DISABLE: + netif_info(lio, probe, lio->netdev, + "%s Packet Steering Disabled\n", netdev->name); + lio_set_priv_flag(lio->oct_dev, OCT_PRIV_FLAG_PKT_STEERING, + false); + break; + default: dev_err(&oct->pci_dev->dev, "%s Unknown cmd %d\n", __func__, nctrl->ncmd.s.cmd); diff --git a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c index 50384ce..a2e7663 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c @@ -202,6 +202,7 @@ static const char oct_droq_stats_strings[][ETH_GSTRING_LEN] = { /* LiquidIO driver private flags */ static const char oct_priv_flags_strings[][ETH_GSTRING_LEN] = { + "pkt_steering", }; #define OCTNIC_NCMD_AUTONEG_ON 0x1 @@ -2461,6 +2462,18 @@ static void lio_get_regs(struct net_device *dev, } } +void lio_set_pkt_steering(struct net_device *netdev, bool flag) +{ + int cmd; + + if (flag) + cmd = OCTNET_CMD_PKT_STEERING_ENABLE; + else + cmd = OCTNET_CMD_PKT_STEERING_DISABLE; + + liquidio_set_feature(netdev, cmd, 0); +} + static u32 lio_get_priv_flags(struct net_device *netdev) { struct lio *lio = GET_LIO(netdev); @@ -2470,11 +2483,8 @@ static u32 lio_get_priv_flags(struct net_device *netdev) static int lio_set_priv_flags(struct net_device *netdev, u32 flags) { - struct lio *lio = GET_LIO(netdev); - bool intr_by_tx_bytes = !!(flags & (0x1 << OCT_PRIV_FLAG_TX_BYTES)); - - lio_set_priv_flag(lio->oct_dev, OCT_PRIV_FLAG_TX_BYTES, - intr_by_tx_bytes); + lio_set_pkt_steering(netdev, !!(flags & + (0x1 << OCT_PRIV_FLAG_PKT_STEERING))); return 0; } diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index be9c0e3..b2d1117 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -4119,6 +4119,10 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) liquidio_set_feature(netdev, OCTNET_CMD_VERBOSE_ENABLE, 0); + if (OCTEON_CN23XX_PF(octeon_dev)) + liquidio_set_feature(netdev, + OCTNET_CMD_PKT_STEERING_ENABLE, 0); + if (setup_link_status_change_wq(netdev)) goto setup_nic_dev_fail; diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c index 9d5e035..3592b65 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c @@ -2994,6 +2994,8 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) liquidio_set_feature(netdev, OCTNET_CMD_VERBOSE_ENABLE, 0); + liquidio_set_feature(netdev, OCTNET_CMD_PKT_STEERING_ENABLE, 0); + if (setup_link_status_change_wq(netdev)) goto setup_nic_dev_fail; diff --git a/drivers/net/ethernet/cavium/liquidio/liquidio_common.h b/drivers/net/ethernet/cavium/liquidio/liquidio_common.h index 294c6f3..26cfe81 100644 --- a/drivers/net/ethernet/cavium/liquidio/liquidio_common.h +++ b/drivers/net/ethernet/cavium/liquidio/liquidio_common.h @@ -217,6 +217,8 @@ static inline void add_sg_size(struct octeon_sg_entry *sg_entry, #define OCTNET_CMD_SET_UC_LIST 0x1b #define OCTNET_CMD_SET_VF_LINKSTATE 0x1c +#define OCTNET_CMD_PKT_STEERING_ENABLE 0x1e +#define OCTNET_CMD_PKT_STEERING_DISABLE 0x1f #define OCTNET_CMD_VXLAN_PORT_ADD 0x0 #define OCTNET_CMD_VXLAN_PORT_DEL 0x1 #define OCTNET_CMD_RXCSUM_ENABLE 0x0 diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.h b/drivers/net/ethernet/cavium/liquidio/octeon_device.h index c301a38..6a0d04a 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_device.h +++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.h @@ -805,9 +805,9 @@ void octeon_free_ioq_vector(struct octeon_device *oct); int octeon_allocate_ioq_vector(struct octeon_device *oct); void lio_enable_irq(struct octeon_droq *droq, struct octeon_instr_queue *iq); -/* LiquidIO driver pivate flags */ +/* LiquidIO driver private flags */ enum { - OCT_PRIV_FLAG_TX_BYTES = 0, /* Tx interrupts by pending byte count */ + OCT_PRIV_FLAG_PKT_STEERING, }; #define OCT_PRIV_FLAG_DEFAULT 0x0 diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_nic.h b/drivers/net/ethernet/cavium/liquidio/octeon_nic.h index 0c7a5c9..3417ca1 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_nic.h +++ b/drivers/net/ethernet/cavium/liquidio/octeon_nic.h @@ -203,8 +203,8 @@ octnet_prepare_pci_cmd_o3(struct octeon_device *oct, } pki_ih3->w = 1; - pki_ih3->raw = 1; - pki_ih3->utag = 1; + pki_ih3->raw = 0; + pki_ih3->utag = 0; pki_ih3->utt = 1; pki_ih3->uqpg = oct->instr_queue[setup->s.iq_no]->txpciq.s.use_qpg; @@ -217,8 +217,8 @@ octnet_prepare_pci_cmd_o3(struct octeon_device *oct, pki_ih3->tagtype = ORDERED_TAG; pki_ih3->qpg = oct->instr_queue[setup->s.iq_no]->txpciq.s.qpg; - pki_ih3->pm = 0x7; /*0x7 - meant for Parse nothing, uninterpreted*/ - pki_ih3->sl = 8; /* sl will be sizeof(pki_ih3)*/ + pki_ih3->pm = 0x0; /* parse from L2 */ + pki_ih3->sl = ih3->fsz; irh = (struct octeon_instr_irh *)&cmd->cmd3.irh;