From nobody Tue Dec 2 02:04:02 2025 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (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 BF51F36E9AF; Thu, 20 Nov 2025 16:28:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763656113; cv=none; b=SdGvEuoc/O5y4SxZxPg7kxmpa4y3ioGpns3qLbeud2VmfzWBd0qDLd8cMQsfLUBC+3bUGtze8/Ectu/cHlRWCDe69wgXi6OWhtVISUcGDfmyC9v7Kqaes8xgyYmLjxidpDhqc4X5rxxPmDaBokkCsSyaOidt0jyJhVQ+i8Z1LP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763656113; c=relaxed/simple; bh=7mr82eL2NhNrBA6h6yqN1TZWLz9fgZvkV9spAxbZY5U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EkOY65j8fP8bnriUeXuh9d+ztjHBMIZQ0maF7aTddevqRySrQekJ2nAKg5I2U1Awm2VCgs2IrbGTpeSrb9Lgz0DXaVVIe4xtxldEyzN35/QqsKL72gh1s34QHhKHP6W0SuL8tSh8/E3fwnjCQrMvfqt37uSdyrxhMO8YqhDxU6k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=FKevzLuF; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="FKevzLuF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763656112; x=1795192112; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7mr82eL2NhNrBA6h6yqN1TZWLz9fgZvkV9spAxbZY5U=; b=FKevzLuF5Y7KEd1x3ZD67GuJyUabIUMebonii2oyFAqYtyKj8e7t8/FD 3OfaU5idqEIoJ6uo2fAm/0XRjdgjl0t0wvI3Kx7TEVwD1I5P0U+L8td89 GquP8NA5ZidT2KHhe6lPNqv2xXpCDctT19IJRjmDIglP5XOynW6A2NWhT 4mdNko3TsSmPKsbpuxSMbOfctHj5iUXiwBl+X5Uvaf0tcYXfc0fm7pEdu M+DncOX8UTr0Bw93nNa5q7JZgKML5HHbzYBebUko419uImEvGrFUoML1F ZUHVa/Mw65pUl8G0rfjN+R9tVDyI29AIL2oqgiVJVp6CZzjZ9rWQj2Cjc w==; X-CSE-ConnectionGUID: 7EmPWkohQQydotw3C3NR5A== X-CSE-MsgGUID: WfuCvzsSSvmzFkwXzAxQyA== X-IronPort-AV: E=McAfee;i="6800,10657,11619"; a="69599313" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="69599313" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 08:28:31 -0800 X-CSE-ConnectionGUID: hx1B/rSOQdG1wDYDhYEXiA== X-CSE-MsgGUID: 5nZDR4qRSCWfqbYicYwY1Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="191531308" Received: from hpe-dl385gen10.igk.intel.com ([10.91.240.117]) by orviesa008.jf.intel.com with ESMTP; 20 Nov 2025 08:28:29 -0800 From: Jakub Slepecki To: intel-wired-lan@lists.osuosl.org Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, przemyslaw.kitszel@intel.com, anthony.l.nguyen@intel.com, michal.swiatkowski@linux.intel.com, jakub.slepecki@intel.com Subject: [PATCH iwl-next 7/8] ice: add mac vlan to filter API Date: Thu, 20 Nov 2025 17:28:12 +0100 Message-ID: <20251120162813.37942-8-jakub.slepecki@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251120162813.37942-1-jakub.slepecki@intel.com> References: <20251120162813.37942-1-jakub.slepecki@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Michal Swiatkowski Allow mac vlan filters to be managed by filters API in ice driver. Together with mac-only filters they will be used to forward traffic intended for loopback in VEB mode. Signed-off-by: Michal Swiatkowski Reviewed-by: Aleksandr Loktionov Signed-off-by: Jakub Slepecki --- drivers/net/ethernet/intel/ice/ice_fltr.c | 33 +++++++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_fltr.h | 4 +++ 2 files changed, 37 insertions(+) diff --git a/drivers/net/ethernet/intel/ice/ice_fltr.c b/drivers/net/ethern= et/intel/ice/ice_fltr.c index aff7a141c30d..96a4e4b1b3fc 100644 --- a/drivers/net/ethernet/intel/ice/ice_fltr.c +++ b/drivers/net/ethernet/intel/ice/ice_fltr.c @@ -240,6 +240,39 @@ ice_fltr_add_mac_to_list(struct ice_vsi *vsi, struct l= ist_head *list, list); } =20 +/** + * ice_fltr_add_mac_vlan_to_list - add MAC VLAN filter info to + * existing list + * @vsi: pointer to VSI struct + * @list: list to add filter info to + * @mac: MAC address to add + * @vlan_id: VLAN id to add + * @action: filter action + * + * Return: + * * 0 if entry for filter was added, or + * * %-ENOMEM if entry could not be allocated. + */ +int +ice_fltr_add_mac_vlan_to_list(struct ice_vsi *vsi, struct list_head *list, + const u8 *mac, u16 vlan_id, + enum ice_sw_fwd_act_type action) +{ + struct ice_fltr_info info =3D {}; + + info.flag =3D ICE_FLTR_TX; + info.src_id =3D ICE_SRC_ID_VSI; + info.lkup_type =3D ICE_SW_LKUP_MAC_VLAN; + info.fltr_act =3D action; + info.vsi_handle =3D vsi->idx; + + info.l_data.mac_vlan.vlan_id =3D vlan_id; + ether_addr_copy(info.l_data.mac_vlan.mac_addr, mac); + + return ice_fltr_add_entry_to_list(ice_pf_to_dev(vsi->back), &info, + list); +} + /** * ice_fltr_add_vlan_to_list - add VLAN filter info to exsisting list * @vsi: pointer to VSI struct diff --git a/drivers/net/ethernet/intel/ice/ice_fltr.h b/drivers/net/ethern= et/intel/ice/ice_fltr.h index 0f3dbc308eec..fb9ffb39be50 100644 --- a/drivers/net/ethernet/intel/ice/ice_fltr.h +++ b/drivers/net/ethernet/intel/ice/ice_fltr.h @@ -23,6 +23,10 @@ int ice_fltr_add_mac_to_list(struct ice_vsi *vsi, struct list_head *list, const u8 *mac, enum ice_sw_fwd_act_type action); int +ice_fltr_add_mac_vlan_to_list(struct ice_vsi *vsi, struct list_head *list, + const u8 *mac, u16 vlan_id, + enum ice_sw_fwd_act_type action); +int ice_fltr_add_mac(struct ice_vsi *vsi, const u8 *mac, enum ice_sw_fwd_act_type action); int --=20 2.43.0