From patchwork Thu Mar 28 13:27:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leon Romanovsky X-Patchwork-Id: 1068172 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="sPEqlSdl"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44VQfH6nSRz9s7T for ; Fri, 29 Mar 2019 00:27:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726334AbfC1N1u (ORCPT ); Thu, 28 Mar 2019 09:27:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:34090 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725948AbfC1N1t (ORCPT ); Thu, 28 Mar 2019 09:27:49 -0400 Received: from localhost (unknown [77.138.135.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 53AD52075E; Thu, 28 Mar 2019 13:27:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553779669; bh=ssYFVXSJVir4Yn4DTfU6yj5A6Rz42hU94Xk1LF+tY2Y=; h=From:To:Cc:Subject:Date:From; b=sPEqlSdlMplQa3A4DsZfAUoo7ElDJar1AEyttAeXTeI1G2xJx/44XWY4Nd6avz7Qb nrvYG0YSqnDLdmkVLuLgv8zK/nw5tOVxGBUnoUrnnK5v5WMdNUy1Y16bV6LsZlTegl I6AR7pwCYvrqSiYvIp1UYP9itZP9ggduupROm0/Y= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Leon Romanovsky , RDMA mailing list , Maor Gottlieb , Mark Bloch , Saeed Mahameed , linux-netdev Subject: [PATCH rdma-next 00/12] Move IB representors to single IB device multiple ports Date: Thu, 28 Mar 2019 15:27:30 +0200 Message-Id: <20190328132742.12070-1-leon@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Leon Romanovsky From Mark, Hi, This series starts from two refactoring patches performed in mlx5_core and they are part of a larger series intended to expose the ability to insert FDB steering rules by the RDMA side. They are followed by patches which move IB representors to single IB device. Currently when moving to switchdev mode an IB device is created per virtual function (and one for the uplink). While initially this was right approach, the limitation of this model requires us to change it. Such limitations includes: - Inability to share resources between IB devices. - Lack of DEVX to allow more control and device specific functionality. - Interacting with the E-Switch. - Doesn't work well with namespaces. In this series we move to a single IB device with multiple ports where each port represents a different virtual function (port 1 is for the uplink). All the limitations listed above are now resolved and the software model exposed to users is more cohesive. Thanks Mark Bloch (12): net/mlx5: E-Switch, don't use hardcoded values for FDB prios net/mlx5: E-Switch, add a new prio to be used by the RDMA side RDMA/mlx5: Move netdev info into the port struct RDMA/mlx5: Free IB device on remove RDMA/mlx5: Move ports allocation to outside of INIT stage RDMA/mlx5: Use correct size for device resources RDMA/mlx5: Move rep into port struct RDMA/mlx5: Move default representors SQ steering to rule to modify QP RDMA/mlx5: Refactor netdev affinity code RDMA/mlx5: Move SMI caps logic RDMA/mlx5: Move to single device multiport ports in switchdev mode RDMA/mlx5: Remove VF representor profile drivers/infiniband/hw/mlx5/devx.c | 2 +- drivers/infiniband/hw/mlx5/flow.c | 2 +- drivers/infiniband/hw/mlx5/ib_rep.c | 109 +++++---- drivers/infiniband/hw/mlx5/ib_rep.h | 13 +- drivers/infiniband/hw/mlx5/main.c | 207 ++++++++++-------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 35 +-- drivers/infiniband/hw/mlx5/mr.c | 6 +- drivers/infiniband/hw/mlx5/qp.c | 46 ++-- .../mellanox/mlx5/core/eswitch_offloads.c | 5 - .../net/ethernet/mellanox/mlx5/core/fs_core.c | 12 +- include/linux/mlx5/fs.h | 6 + 11 files changed, 239 insertions(+), 204 deletions(-) --- 2.20.1