hv_netvsc: Check VF datapath when sending traffic to VF
authorLong Li <longli@microsoft.com>
Sat, 9 Jan 2021 00:53:41 +0000 (16:53 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 13 Jan 2021 03:58:36 +0000 (19:58 -0800)
The driver needs to check if the datapath has been switched to VF before
sending traffic to VF.

Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/hyperv/netvsc_drv.c

index f32f283..5dd4f37 100644 (file)
@@ -539,7 +539,8 @@ static int netvsc_xmit(struct sk_buff *skb, struct net_device *net, bool xdp_tx)
         */
        vf_netdev = rcu_dereference_bh(net_device_ctx->vf_netdev);
        if (vf_netdev && netif_running(vf_netdev) &&
-           netif_carrier_ok(vf_netdev) && !netpoll_tx_running(net))
+           netif_carrier_ok(vf_netdev) && !netpoll_tx_running(net) &&
+           net_device_ctx->data_path_is_vf)
                return netvsc_vf_xmit(net, vf_netdev, skb);
 
        /* We will atmost need two pages to describe the rndis