On 12/12/2023 11:29 AM, Simon Horman wrote:
On Thu, Dec 07, 2023 at 01:48:40PM +0100, Lukasz Plachno wrote:
From: Jakub Buchocki <[email protected]>
Add support for 'flow-type ether' Flow Director rules via ethtool.
Rules not containing masks are processed by the Flow Director,
and support the following set of input parameters in all combinations:
src, dst, proto, vlan-etype, vlan, action.
It is possible to specify address mask in ethtool parameters but only
00:00:00:00:00 and FF:FF:FF:FF:FF are valid.
The same applies to proto, vlan-etype and vlan masks:
only 0x0000 and 0xffff masks are valid.
Signed-off-by: Jakub Buchocki <[email protected]>
Co-developed-by: Mateusz Pacuszka <[email protected]>
Signed-off-by: Mateusz Pacuszka <[email protected]>
Reviewed-by: Przemek Kitszel <[email protected]>
Signed-off-by: Lukasz Plachno <[email protected]>
...
@@ -1268,6 +1374,16 @@ ice_cfg_fdir_xtrct_seq(struct ice_pf *pf, struct
ethtool_rx_flow_spec *fsp,
ret = ice_set_fdir_ip6_usr_seg(seg, &fsp->m_u.usr_ip6_spec,
&perfect_filter);
break;
+ case ETHER_FLOW:
+ ret = ice_set_ether_flow_seg(seg, &fsp->m_u.ether_spec);
+ if (!ret && (fsp->m_ext.vlan_etype || fsp->m_ext.vlan_tci)) {
+ if (!ice_fdir_vlan_valid(fsp)) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = ice_set_fdir_vlan_seg(seg, &fsp->m_ext);
+ }
+ break;
default:
ret = -EINVAL;
}
Hi Jakub,
A bit further down this function, perfect_filter is used as follows.
...
if (user && user->flex_fltr) {
perfect_filter = false;
...
}
...
assign_bit(fltr_idx, hw->fdir_perfect_fltr, perfect_filter);
And unlike other non-error cases handled in the switch statement,
the new ETHER_FLOW case does not set perfect_filter.
It's unclear to me if this is actually the case or not,
but Smatch flags that perfect_filter may now be used uninitialised
in the assign_bit() call above.
...
Hi Simon,
Thank you for pointing that out, perfect_filter should be initialized to
false, I will fix that in V3.
Thanks,
Ćukasz
_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan