ice_inset_map[] has no entry for ICE_INSET_SMAC, so source MAC is never
translated to ICE_FLOW_FIELD_IDX_ETH_SA. flow rules specifying a source
MAC silently match any source address.

Add the missing {ICE_INSET_SMAC, ICE_FLOW_FIELD_IDX_ETH_SA} entry.

Fixes: 733640dae75e ("net/ice: support L2TPv2 flow pattern matching")

Signed-off-by: Shaiq Wani <[email protected]>
---
 drivers/net/intel/ice/ice_fdir_filter.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/intel/ice/ice_fdir_filter.c 
b/drivers/net/intel/ice/ice_fdir_filter.c
index 3522d77123..b3fdb1a9d7 100644
--- a/drivers/net/intel/ice/ice_fdir_filter.c
+++ b/drivers/net/intel/ice/ice_fdir_filter.c
@@ -967,6 +967,7 @@ ice_fdir_input_set_parse(uint64_t inset, enum 
ice_flow_field *field)
        };
        static const struct ice_inset_map ice_inset_map[] = {
                {ICE_INSET_DMAC, ICE_FLOW_FIELD_IDX_ETH_DA},
+               {ICE_INSET_SMAC, ICE_FLOW_FIELD_IDX_ETH_SA},
                {ICE_INSET_ETHERTYPE, ICE_FLOW_FIELD_IDX_ETH_TYPE},
                {ICE_INSET_IPV4_SRC, ICE_FLOW_FIELD_IDX_IPV4_SA},
                {ICE_INSET_IPV4_DST, ICE_FLOW_FIELD_IDX_IPV4_DA},
-- 
2.43.0

Reply via email to