From: wenxu <[email protected]>

When register indr block for vlan device, it should check the real_dev
of vlan device is same as uplink device. Or it will set offload rule
to mlx5e which will never hit.

Fixes: 35a605db168c ("net/mlx5e: Offload TC e-switch rules with ingress VLAN 
device")
Signed-off-by: wenxu <[email protected]>
Reviewed-by: Roi Dayan <[email protected]>
Signed-off-by: Saeed Mahameed <[email protected]>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
index 5283e16c69e4..9aea9c5b2ce8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
@@ -813,7 +813,7 @@ static int mlx5e_nic_rep_netdevice_event(struct 
notifier_block *nb,
        struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
 
        if (!mlx5e_tc_tun_device_to_offload(priv, netdev) &&
-           !is_vlan_dev(netdev))
+           !(is_vlan_dev(netdev) && vlan_dev_real_dev(netdev) == 
rpriv->netdev))
                return NOTIFY_OK;
 
        switch (event) {
-- 
2.21.0

Reply via email to