netvsc: transparent VF management
[linux-2.6-microblaze.git] / drivers / net / hyperv / hyperv_net.h
index f2cef5a..c701b05 100644 (file)
@@ -680,6 +680,15 @@ struct netvsc_ethtool_stats {
        unsigned long tx_busy;
 };
 
+struct netvsc_vf_pcpu_stats {
+       u64     rx_packets;
+       u64     rx_bytes;
+       u64     tx_packets;
+       u64     tx_bytes;
+       struct u64_stats_sync   syncp;
+       u32     tx_dropped;
+};
+
 struct netvsc_reconfig {
        struct list_head list;
        u32 event;
@@ -713,6 +722,9 @@ struct net_device_context {
 
        /* State to manage the associated VF interface. */
        struct net_device __rcu *vf_netdev;
+       struct netvsc_vf_pcpu_stats __percpu *vf_stats;
+       struct work_struct vf_takeover;
+       struct work_struct vf_notify;
 
        /* 1: allocated, serial number is valid. 0: not allocated */
        u32 vf_alloc;