> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of Larysa
> Zaremba
> Sent: Wednesday, December 3, 2025 14:30
> To: Nguyen, Anthony L <[email protected]>; intel-wired-
> [email protected]
> Cc: Zaremba, Larysa <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Andrew Lunn <[email protected]>;
> David S. Miller <[email protected]>; Eric Dumazet
> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
> <[email protected]>; Simon Horman <[email protected]>; Michal Swiatkowski
> <[email protected]>; Loktionov, Aleksandr
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net] ice: fix adding AQ LLDP filter for 
> VF
> 
> The referenced commit came from a misunderstanding of the FW LLDP filter AQ
> (Admin Queue) command due to the error in the internal documentation.
> Contrary to the assumptions in the original commit, VFs can be added and 
> deleted
> from this filter without any problems. Introduced dev_info message proved to 
> be
> useful, so reverting the whole commit does not make sense.
> 
> Without this fix, trusted VFs do not receive LLDP traffic, if there is an AQ 
> LLDP
> filter on PF. When trusted VF attempts to add an LLDP multicast MAC address, 
> the
> following message can be seen in dmesg on host:
> 
> ice 0000:33:00.0: Failed to add Rx LLDP rule on VSI 20 error: -95
> 
> Revert checking VSI type when adding LLDP filter through AQ.
> 
> Fixes: 4d5a1c4e6d49 ("ice: do not add LLDP-specific filter if not necessary")
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Signed-off-by: Larysa Zaremba <[email protected]>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_common.c
> b/drivers/net/ethernet/intel/ice/ice_common.c
> index c0a19f232538..0271822c1737 100644
> --- a/drivers/net/ethernet/intel/ice/ice_common.c
> +++ b/drivers/net/ethernet/intel/ice/ice_common.c
> @@ -6392,7 +6392,7 @@ int ice_lldp_fltr_add_remove(struct ice_hw *hw,
> struct ice_vsi *vsi, bool add)
>       struct ice_aqc_lldp_filter_ctrl *cmd;
>       struct libie_aq_desc desc;
> 
> -     if (vsi->type != ICE_VSI_PF || !ice_fw_supports_lldp_fltr_ctrl(hw))
> +     if (!ice_fw_supports_lldp_fltr_ctrl(hw))
>               return -EOPNOTSUPP;
> 
>       cmd = libie_aq_raw(&desc);
> --
> 2.51.0


Tested-by: Rafal Romanowski <[email protected]>

Reply via email to