vdpa/mlx5: Fix wrong mac address deletion
authorEli Cohen <elic@nvidia.com>
Mon, 14 Nov 2022 13:17:54 +0000 (15:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 11:02:05 +0000 (12:02 +0100)
[ Upstream commit 1ab53760d322c82fb4cb5e81b5817065801e3ec4 ]

Delete the old MAC from the table and not the new one which is not there
yet.

Fixes: baf2ad3f6a98 ("vdpa/mlx5: Add RX MAC VLAN filter support")
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Eli Cohen <elic@nvidia.com>
Message-Id: <20221114131759.57883-4-elic@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 3fb06dc..444d657 100644 (file)
@@ -1686,7 +1686,7 @@ static virtio_net_ctrl_ack handle_ctrl_mac(struct mlx5_vdpa_dev *mvdev, u8 cmd)
 
                /* Need recreate the flow table entry, so that the packet could forward back
                 */
-               mac_vlan_del(ndev, ndev->config.mac, 0, false);
+               mac_vlan_del(ndev, mac_back, 0, false);
 
                if (mac_vlan_add(ndev, ndev->config.mac, 0, false)) {
                        mlx5_vdpa_warn(mvdev, "failed to insert forward rules, try to restore\n");