From nobody Mon Feb 9 03:11:28 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (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 D55B8413255; Tue, 20 Jan 2026 10:34:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768905300; cv=none; b=UngQuXiVitPwa+p/0fwPLuZYa6UhcPcOVvjrAoE1EjWDG7/YH05qdZgtesqA4vzj/ZHtDamw4oohTKm8hNFn9X5IisEEs6/sPBIKOBrt7vSqFE83n4pGe4vPjuGNgVpEOkkkMrGFjEG0wx5eQYecZSxg8RazBbK6vIlFdd7WLso= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768905300; c=relaxed/simple; bh=pEOvEWrWvAzUY/Vx8v3pEaX80dY9YG1DYZdtnpg8TcY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ivq+uzbc3n1WCQDxp94QRyg6AoOwYlXPynDMg2Div8h5PIoj2VRbJp1q0/XdCH+G8j7HMFdCEHjGTo0uW72xq9g2Hndqws2ZuJ+3UrihDPOKjzmGTj4nplsLnVjzSRuZ11bhEHgZ49eUStYybY6XacNnY+61KNHW/qb9ZqDFDMQ= 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=jreuQVAJ; arc=none smtp.client-ip=198.175.65.18 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="jreuQVAJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1768905298; x=1800441298; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=pEOvEWrWvAzUY/Vx8v3pEaX80dY9YG1DYZdtnpg8TcY=; b=jreuQVAJtndGkfJ0oBZlPa6qB5Z3RTMCfWkuLuoYDbnxe04uh6053zGF F+u621TA4BnlVo6N3cUExNfZaWcyqzvGKLkVXC64IFe/mJjTgdn8q7Ky4 itiwQYEe6WZehUtwrzcZpo2uc/Za8l9MmeagHZgxADoqt8EO1zuiTHgTf fTiIdtmjHqCgyvvOK48PSy2stIkS5sqgRcRBccHFcZqPB8I1xQ0tB5dFu ssT7PFlHYKLgXHSXVes4e0ePW4wtsMiZy2ty7kPgoegWCahFmqmXdjvch sXBo9WBpjRWsZw8+3C1stoYW9TRbGczQVFBKNLnl8kmUiRhq2YQujq2O+ A==; X-CSE-ConnectionGUID: vzyx6o1JQB6f7q75k8ft3Q== X-CSE-MsgGUID: Yyh+XIsUStahzjNOQ47ivQ== X-IronPort-AV: E=McAfee;i="6800,10657,11676"; a="70161767" X-IronPort-AV: E=Sophos;i="6.21,240,1763452800"; d="scan'208";a="70161767" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2026 02:34:57 -0800 X-CSE-ConnectionGUID: CKrV8l4zQEq7xLATbK2FzA== X-CSE-MsgGUID: wPqCkBK3Sq6vg5fEjhWwNA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,240,1763452800"; d="scan'208";a="210935876" Received: from hpe-dl385gen10.igk.intel.com ([10.91.240.117]) by fmviesa004.fm.intel.com with ESMTP; 20 Jan 2026 02:34:55 -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, aleksandr.loktionov@intel.com Subject: [PATCH iwl-next v3 7/8] ice: add mac vlan to filter API Date: Tue, 20 Jan 2026 11:34:38 +0100 Message-ID: <20260120103440.892326-8-jakub.slepecki@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120103440.892326-1-jakub.slepecki@intel.com> References: <20260120103440.892326-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 --- No changes in v3. No changes in v2. --- 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