net/mlx5e: restrict the real_dev of vlan device is the same as uplink device
authorwenxu <wenxu@ucloud.cn>
Wed, 15 May 2019 09:25:45 +0000 (17:25 +0800)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 29 May 2019 01:25:42 +0000 (18:25 -0700)
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 <wenxu@ucloud.cn>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c

index 5283e16..9aea9c5 100644 (file)
@@ -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) {