net/mlx4_en: Deregister multicast vxlan steering rules when going down
authorOr Gerlitz <ogerlitz@mellanox.com>
Thu, 13 Mar 2014 12:52:15 +0000 (14:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Mar 2014 17:35:40 +0000 (13:35 -0400)
When mlx4_en_stop_port() is called, we need to deregister also the
tunnel steering rules that relate to multicast.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_netdev.c

index ba212611157324c2147080afd95c2d5966b76e36..84a96f70dfb51ea7cecf3c5f0e03daa90f52a880 100644 (file)
@@ -1800,6 +1800,8 @@ void mlx4_en_stop_port(struct net_device *dev, int detach)
                mc_list[5] = priv->port;
                mlx4_multicast_detach(mdev->dev, &priv->rss_map.indir_qp,
                                      mc_list, MLX4_PROT_ETH, mclist->reg_id);
+               if (mclist->tunnel_reg_id)
+                       mlx4_flow_detach(mdev->dev, mclist->tunnel_reg_id);
        }
        mlx4_en_clear_list(dev);
        list_for_each_entry_safe(mclist, tmp, &priv->curr_list, list) {