From patchwork Tue Jun 20 22:18:44 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: 13286473 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 9321B16408 for ; Tue, 20 Jun 2023 22:17:21 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0923F10CE for ; Tue, 20 Jun 2023 15:17:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687299440; x=1718835440; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Y/bkpUWpe2v3pbY6MM8FcxrxticWewloNX2YnOTTYNc=; b=hDCtYOL7reytswBpMLe2X7P+Mq+z1zCs4HQerc9mSpgI1ld/pD+aXw/5 7QC/HK4Dr/JqCHQEqzAQ4NNkVHaFupQVI30Mzx/64aJNeHgAvPoUEHAFJ tW/3zDgNwsjv/GiuoRrRHa/ogAVLoHHGdgKBUxQH7GahxMRSBdgmX4Ccm Cbmo/2yRxdDkhDUT2eQgZopaA4z1VVFEul2TtzNXuhlapiuJ9m9sowXcD kiwBA9bd7BNpPBscCW5c3mkblz2bbpZA+xT37AVSINPAiKfyADJFksN64 CdPQMUpGkDNghfrd5xcouWRdfN+ucuwCnfQgijLPFww0QOn8T2yTSKkD0 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="358869089" X-IronPort-AV: E=Sophos;i="6.00,258,1681196400"; d="scan'208";a="358869089" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2023 15:17:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="858744946" X-IronPort-AV: E=Sophos;i="6.00,258,1681196400"; d="scan'208";a="858744946" Received: from dmert-dev.jf.intel.com ([10.166.241.14]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2023 15:17:16 -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 v6 00/10] Implement support for SRIOV + LAG Date: Tue, 20 Jun 2023 15:18:44 -0700 Message-Id: <20230620221854.848606-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,URIBL_BLOCKED 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 Changes since v5: use PF from lag stuct in function remove extra blank line 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 | 1839 ++++++++++++++++- 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, 2124 insertions(+), 135 deletions(-)