From patchwork Tue Oct 31 23:04:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 832780 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="FWSj4c6S"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yRRkP4KvNz9t3C for ; Wed, 1 Nov 2017 10:04:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932493AbdJaXE1 (ORCPT ); Tue, 31 Oct 2017 19:04:27 -0400 Received: from mail-sn1nam02on0041.outbound.protection.outlook.com ([104.47.36.41]:60000 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752473AbdJaXEZ (ORCPT ); Tue, 31 Oct 2017 19:04:25 -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=6jGTjQUZ2yPMYXy85cn4bJGntO5u+CWEU3k93s2ziQ8=; b=FWSj4c6S2020CJxIeqKgq+zXeQ4Cv2rlxZezZLB4tMTIG5YRFzrxrcXwANmi8E3wS276HvM/A+S5HI9mLeP7F9NxUqEj72ffhOyBZS6zmWgRURXAufMHjxwaf5aHRVZKE6d4AhHcJmegdNtxFgiD5iPlFVNj0X+rdrrLWYLeOJU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by MWHPR07MB3181.namprd07.prod.outlook.com (10.172.96.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Tue, 31 Oct 2017 23:04:23 +0000 Date: Tue, 31 Oct 2017 16:04:20 -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, vijaya.guvva@cavium.com Subject: [PATCH V3 net-next 0/2] liquidio: switchdev support for LiquidIO NIC Message-ID: <20171031230420.GA3615@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: MWHPR04CA0043.namprd04.prod.outlook.com (10.172.163.29) To MWHPR07MB3181.namprd07.prod.outlook.com (10.172.96.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23cda71f-4066-4a3a-7fca-08d520b3ba5c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:MWHPR07MB3181; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 3:9w5dKDPTSpzX6ddDPN+Qy8GqKHxzJFNPJxGhWmCNIZ3k2ZgWe61PeVN/eQQlK2UtxwIelcoV48EuO5WMW/15QYI47jRMoPCBg0bE+Z3kpyIQOvFL7vY9AXRjIv0J+3A58/zvufxPtj7PJc/KaJQi1K43gjhkSWSgra7TrqLOBoFHvYr4aNtPLnFKWx0D9pBsncLyX8z8e9aHABupMulPZwWzeRrKkirOKUtRJHZKyHmaJFvFAOiHMrVsIkAiNn4m; 25:s89GnpM3T5yVWGRJUBeqUkZ7WCPxBbaDm2XfwjvFWw6iEZABdqMwYULrPCGs08OpxTOA9Ym6Pr8D9usOCKA1XsbWG3AH6fEI7rcRjx5mY1b2VnhHQPxPSsqMqljeNwwQn1aZkWx1hiu9fMKZkBpmAkE9eK5CNC12Bqj/ca2ykQjfaHErUvrv6qciNOSwIzYa1EMneMV3GRziDdUXaZb7l60IM/eE3m4v6aDKEMQRV5TRqdi3Qeq9n0u50WADWqU4h/wWitHoZ1ipNe9An2kaEE2y8yb2nStCJzjdWfh3kqi2JNivRvRmJRW8IXkrECOhl1uEG/9mYHEd9T8o31zynyHMcwmZ4VBMl7duszoirHs=; 31:ktk41EYApVxWzyjYKFfWX4Cy7mqVG+dXC0N0S5Btn9o57MaQ4B4AXSEceAHCXNnYFGoWciS0vQJgczMZm9nqYQ3zq4HCfuKWnb/SPgzKQV/pQJYkOkGo4Ido/8qXD+UxZx3mTliG4dS6noDEVbnvyWhblg4DVpmB2w4OYx46kkO/CSI5y8BxFGRaFT7kdW6oiddkQaeiScsye6DHkKgDL4KjIgOePiTp3TA+zHKxLwg= X-MS-TrafficTypeDiagnostic: MWHPR07MB3181: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 20:1vYB7R04yXklfM7V0nBOTZeYY2I59S6PvMKiB9TNih9lzg0hRlj2rDb31bF4sjuH6/rUPO1GdE/GGHgOBOYmA4KbgybKTlrLbsBQDYa0k1ddSN+YBJDdVVaZB66FJBsy/Tp9bdAH+eJn50raK+x50qQVm6mG9BofoE4uxSTVexqWr+wRoL5BaukVIniLRJmOoCR0auJ82WCmH0bS9nhOLhXSmzDQc07tKmNBnsJuEUNDfVMnfp2eHhSYEaIQvPqUxLYQnHtRDVBbYyDXEsSKk/txXbPqzKnzH4LWas476Of+9m9Itd2SH+8sV0lScRXf3kR1HWVr2dYx4Wz7Y3IfyW0Ee9wUDISj2nmyeVQqglhlXIR1zQtC1iH0LaI5gNpUOxRWY+E6aOJ7OGVarPBRMdIF/dtk8zOPLqjXfUVKT8y8WSidPJD9BwUVql2knrMjz69npv6emg45w2EGsUUJYxWRzhslOeyR2A/15DQQB51ESpg9mkkUuEVXmoaUjg+o; 4:/tVN1yVXVXz8J47Lb+5g/Br92Ich2JbOPnEfm11UXe8+IfPBdEMrnS40tdzuPaRd61kxa4yUMedkMC4/YsCjT1uvA8llQDyQNWfzu7FZM5bv3gwJ29S/L8oke4srVu31PLyEB+yU0n5xZBLM25FjNpqcAuI0v7cNbETAxzh9NPh5Uf02p3T1oKyT0L9/AKMLVGrGDqw2FoVt+llJynUpWsw/LjMghJg1JbafxX1b8xpwu1gaD/MmTywTQDxFClvjTri+Fb/eV3N0pTACYCJn/w== X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231020)(3002001)(100000703101)(100105400095)(10201501046)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3181; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3181; X-Forefront-PRVS: 04772EA191 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(346002)(376002)(54534003)(189002)(199003)(6916009)(16526018)(86362001)(50986999)(1076002)(189998001)(54356999)(97736004)(107886003)(16586007)(4326008)(3846002)(66066001)(47776003)(58126008)(316002)(101416001)(6116002)(5660300001)(68736007)(6496005)(72206003)(81166006)(25786009)(81156014)(83506002)(478600001)(305945005)(33656002)(50466002)(23726003)(8936002)(2906002)(53936002)(8676002)(6486002)(76506005)(106356001)(2361001)(7736002)(105586002)(2351001)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3181; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 23:nO6TZd+NgzKRfGTyzJiQaYOkHtySX0jDI/1HMpLMoP4kqlCGjhMPiHo508MkVzlyvBWDOsPmJAen4OZw/VazExKy0WEbqPl+UmDcWjOtUopBV7HERbFNOzsLodlNh4a+o0LcW65ziTVJjZf6Mwr7OPNQUaC4LIsRXr8Xp8Rnp8cic0vj076EcsIsc1qbZbW4gor77q5ihD1H8pkF7BmlZh78TSJS16Mg2epWS/ecN00T/mlNlyA7TLgjk1bU9mKPmbHND8n4GexkIC5vUUHkZCBvEuFDvEAHgpq1Yg23qO4H8zySJW4rQCgcqs27zGzoEt00Umn/MdIBh4XJQNXSmmVKvctbqAkWdGRMXYx8NE5We5NrW2Ow/VGs+mszup2YNnFCVlMZS6djRchqSEKHXAdQZEDjAD0Y6XUKvGlpRhFdJvjsSGYzGmyXZNXQv9dfBuU4WbGRk3lmKg+JNNRbH5Opn4Jnb78pOlx9fKFwGDDhlPfAKYCKutlOcNmyY7e6JLa2yUUSfevnNE9oOSdpLM/DrBJhxLtf3N83xX/3227W73+i5ZJZKoWwqJgjuL7SfoGpqqFLjC4fDYSF8PG7G3Y9SjRPVN0huqpElXrNlr70PGv+9u/oHWxaYd6/FJv0kmCS0fMFTi7fQmC48XjYe7sYvPdnrbrDF7TgQ10owy+p/AnAwZQnF/2CGg5dFQRKCuKOxo+tDzMPW0RdwUfsLfqpEOCupegi38hHnv5hGvkvnERMATCaJYXxl819g9LC/MQ/GNUzg+tZ59r/oKyg7/zLJ4z6gAvAMFlhKhgOq4W25tiCMqs271k8qDefoOuoAx/qXPuL8jl9wDpEEfsV/2MNzNgBeMVVspqlFcfGH/98AOqViEYtpxJfe7gO2BhbF1dswL8K1l/Jfts+wDt9BNo2odPKCj/b2ovYT9CCITIVvG0yha9znNkL7Tm+0zdlVGvNCgGQP2XAPpc/LddXU8OYJqPmujz3WeuAAb5V6xuW+7LMsErrHdySa3EHINEnLI6D4bubfH37arOyXxeU2caHAaFkuFhBpSqjbkiUeBsTNwrmRfB4V+F2oiYEVMlu+l0qeWRpwDCp40LERiHNKlbaaLfUA2HtV05R4J2WqrJGwU+KdAUY2nAoS3XVtDqb1G5z+qeCH00sf9JXs0A0vg== X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3181; 6:wVzRNAkz7KPSvoE1XFpJ1TOLFiDpU90qTP6r2Zt124gd7+6pz/2zynCPTUv/RkP1Ulfo/Ob5lSv9lyfDdyZYUeqSInHFdg5AJLgjrgD7HnVhfIo8/Dnov3ERsAbXqnANjJt9gLlnuhm26yvjkuzj89hAizqCGKOzvzVXX8PK5fYzipYDz2j8vRB/Uc7+of28ajlAw4ycNsWLqvmT/mOdmtB+GNBVyk5z5jbe3DPEN/ZbNxEFVl6i9o0m0um9aV8u0TxG8uhTcwyI1NWxio0+bX9yWf5Uut29fqk0fH7p2TwsWvSEnSSyK7G/jdJZ4AxBqg3nn9vmDf/oQFm8yN4yXadVoICi3J6KtZMGT25/aBM=; 5:8GFIgZ72q7IdjaIHJg7Q+OcTRDa7eieyJ/oMVAb7lgY0ZF2fCQ8A7rdO+zqRCnSo8OTDYy/FRXnIaVKu4i2Ftgug5iDY4dx261PBzHI5fDSIQfoUPLIc9fTUc6TmYd5UcgEShUbeYOTNbtkzWaKGb/7WPaIH7BeAOukz+aHG3mk=; 24:Mk1x4dUpPtpyX9cmpDgJF9I214I1kKM5/nmztcpDOfj5RJfx8xVAN8NjrfK6wPrtuynz08RdP9LMApkXFqC2w+nwAaTrkAlo1IaJkD4TQRk=; 7:cejoKWCty2KnblG+tu2Wmbqt26A6UlsvwFDhJM2CLmq9nZ3fZs7uji+jf2MeRx30JPmyNGTev3qIII1n7UjW4D2lYB6IM4lXvAzbtKdcvLJQMGXHoPU97cvhBGlzV63e7syZuO0D8XYQ7uLm2hJhSnRxGqmJHf10SH4NttgqJCJ7FeuVFv195m6pQs7QW8Rb6uFl28E/FmS9oXQ5IG9sv9strU4pxYvH9DmW6eBgdeprYcN1FOAFkfDqAgqdG7vg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2017 23:04:23.9402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23cda71f-4066-4a3a-7fca-08d520b3ba5c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3181 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vijaya Mohan Guvva patch1 of this patch set adds switchdev support for SRIOV capable LiquidIO NIC, so that for every SRIOV VF on LiquidIO, a representor netdev is created on hypervisor. It also has changes to send representor interface configurations like admin state and MTU to LiquidIO firmware and to retrieve HW counted VF stats for VF representor. patch2 adds support for switchdev enable/disable from devlink Patchset Change Log: V2 -> V3: * Use mac address as the physical switchID. * Check for eswitch_mode before returning switchID V1 -> V2: * Name the representors "pfXvfY". * Drop patch3 (ethtool support for switchdev ports) that was in V1 because it's not necessary. Vijaya Mohan Guvva (2): liquidio: switchdev support for LiquidIO NIC liquidio: Configure switchdev with devlink drivers/net/ethernet/cavium/Kconfig | 1 + drivers/net/ethernet/cavium/liquidio/Makefile | 2 +- drivers/net/ethernet/cavium/liquidio/lio_main.c | 118 ++++ drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c | 627 +++++++++++++++++++++ drivers/net/ethernet/cavium/liquidio/lio_vf_rep.h | 47 ++ .../net/ethernet/cavium/liquidio/liquidio_common.h | 50 ++ .../net/ethernet/cavium/liquidio/octeon_device.h | 14 + 7 files changed, 858 insertions(+), 1 deletion(-) create mode 100644 drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c create mode 100644 drivers/net/ethernet/cavium/liquidio/lio_vf_rep.h