From patchwork Thu Jun 15 16:29:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ertman, David M" X-Patchwork-Id: 13281475 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 848BB15AF1 for ; Thu, 15 Jun 2023 16:27:54 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DDDA273E for ; Thu, 15 Jun 2023 09:27:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686846473; x=1718382473; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=G6UNyjJF8WTUj7mm8NgppQ6B/oOSfmBpY6MsN3vpZEo=; b=dc08g6ubuy/q2B8sl12tX0MRhnt6M6Y8IW0oTyp8nEOTyVoFdlT33ZNu 7lMpt36m66RCI2GeetPxG/Nnjw7NMWwE6DXuztxLoBsQQCYzQzswqIrGT qbFp/KRlTeRx1OXo1V8SasrUeT1DYjR9VXxq692n2WQP8iQU9Se2xp0T2 0yeaTXTvPPB7kl/NmlqCHX/IUgVppPG/CLD1pmJ+h09cIDFao6BA62qy3 mRSlxZRIZI35GuvjHLgYLonrTB4QUAW2FmjdRtFzKPY6DwtxgH+O29ykv KMkhSrnyVA374TPDU8leCR9mg32fJmQjd29Z8z7A/tm1Zw60Yonp1CkcJ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="445336150" X-IronPort-AV: E=Sophos;i="6.00,245,1681196400"; d="scan'208";a="445336150" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2023 09:27:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="712513709" X-IronPort-AV: E=Sophos;i="6.00,245,1681196400"; d="scan'208";a="712513709" Received: from dmert-dev.jf.intel.com ([10.166.241.14]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2023 09:27:52 -0700 From: Dave Ertman To: intel-wired-lan@lists.osuosl.org Cc: netdev@vger.kernel.org, daniel.machon@microchip.com, simon.horman@corigine.com, bcreeley@amd.com Subject: [PATCH iwl-next v5 00/10] Implement support for SRIOV + LAG Date: Thu, 15 Jun 2023 09:29:22 -0700 Message-Id: <20230615162932.762756-1-david.m.ertman@intel.com> X-Mailer: git-send-email 2.40.1 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Implement support for SRIOV VF's on interfaces that are in an aggregate interface. The first interface added into the aggregate will be flagged as the primary interface, and this primary interface will be responsible for managing the VF's resources. VF's created on the primary are the only VFs that will be supported on the aggregate. Only Active-Backup mode will be supported and only aggregates whose primary interface is in switchdev mode will be supported. Additional restrictions on what interfaces can be added to the aggregate and still support SRIOV VFs are: - interfaces have to all be on the same physical NIC - all interfaces have to have the same QoS settings - interfaces have to have the FW LLDP agent disabled - only the primary interface is to be put into switchdev mode - no more than two interfaces in the aggregate Changes since v1: Fix typo in commit message Fix typos in warning messages Fix typo in function header Use correct bitwise operator instead of boolean Changes since v2: Rebase on current next-queue Fix typos in commits Fix typos in function headers use %u for unsigned values in debug message Refactor common code in node moves to subfunction Changes since v3: Fix typos in warning messages move refactor of common code to earlier patch expand use of refactored code move prototype and func call into patch that defines func Changes since v4: Change module_init to use goto unwind approach Change function name to be more descriptive chagen variable to be more scope specific Make sure non-feature specific functions are still performed Free correct memory Fix typos in warning messages added check for invalid TEID in queue cfg Dave Ertman (9): ice: Add driver support for firmware changes for LAG ice: changes to the interface with the HW and FW for SRIOV_VF+LAG ice: implement lag netdev event handler ice: process events created by lag netdev event handler ice: Flesh out implementation of support for SRIOV on bonded interface ice: support non-standard teardown of bond interface ice: enforce interface eligibility and add messaging for SRIOV LAG ice: enforce no DCB config changing when in bond ice: update reset path for SRIOV LAG support Jacob Keller (1): ice: Correctly initialize queue context values drivers/net/ethernet/intel/ice/ice.h | 5 + .../net/ethernet/intel/ice/ice_adminq_cmd.h | 53 +- drivers/net/ethernet/intel/ice/ice_common.c | 56 + drivers/net/ethernet/intel/ice/ice_common.h | 4 + drivers/net/ethernet/intel/ice/ice_dcb_nl.c | 50 + drivers/net/ethernet/intel/ice/ice_lag.c | 1840 ++++++++++++++++- drivers/net/ethernet/intel/ice/ice_lag.h | 34 +- drivers/net/ethernet/intel/ice/ice_lib.c | 2 +- drivers/net/ethernet/intel/ice/ice_lib.h | 1 + drivers/net/ethernet/intel/ice/ice_main.c | 36 +- drivers/net/ethernet/intel/ice/ice_sched.c | 37 +- drivers/net/ethernet/intel/ice/ice_sched.h | 21 + drivers/net/ethernet/intel/ice/ice_switch.c | 88 +- drivers/net/ethernet/intel/ice/ice_switch.h | 29 + drivers/net/ethernet/intel/ice/ice_type.h | 2 + drivers/net/ethernet/intel/ice/ice_virtchnl.c | 2 + 16 files changed, 2125 insertions(+), 135 deletions(-)