From patchwork Tue Jun 20 18:34:04 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: 13286344 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 9BA421E50D for ; Tue, 20 Jun 2023 18:33:02 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8E851BC3 for ; Tue, 20 Jun 2023 11:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687285956; x=1718821956; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=/2RUvnVW4euNOUYWTQs6Tw9KUDeZCDqcSfjaSHVqi90=; b=N99WjamOllqGw1BlnqumnMhG+ssBXD7bd2OEtZlsQOb2aIZnJuakBWkY 3fkqxTv8S0A/IsbQYyB74XVlczzhSsHH6XHpvu9aabW6KRP8/AbcGwNwr gyoBss/KKDUBH9CtO9U92OJZQEQXHz+upr/snvoSBV5U0SAviY6zS1ZUE bf0ztKtjTGtwuvC5F5MeZ1wFEk1LRLyYUxZ2TnUehqDoFI2EYuD4ncDXs zNyDDtugB44Al0qPUFcBJTbNjnl4qwVjdUjkC2/F6MyQDTRg+2GgFjUAV QbyksL7wZjOB7xpmdxReFwsEGD3RW5zWtwg+96hg663tGKBh6ctT5o1HK A==; X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="425907891" X-IronPort-AV: E=Sophos;i="6.00,257,1681196400"; d="scan'208";a="425907891" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2023 11:32:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="784204376" X-IronPort-AV: E=Sophos;i="6.00,257,1681196400"; d="scan'208";a="784204376" Received: from dmert-dev.jf.intel.com ([10.166.241.14]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2023 11:32:33 -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: Tue, 20 Jun 2023 11:34:04 -0700 Message-Id: <20230620183414.848016-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 | 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(-)