Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6.git] / net / 8021q / vlan.h
index 5685296..b26ce34 100644 (file)
@@ -2,6 +2,7 @@
 #define __BEN_VLAN_802_1Q_INC__
 
 #include <linux/if_vlan.h>
+#include <linux/u64_stats_sync.h>
 
 
 /**
@@ -21,14 +22,18 @@ struct vlan_priority_tci_mapping {
  *     struct vlan_rx_stats - VLAN percpu rx stats
  *     @rx_packets: number of received packets
  *     @rx_bytes: number of received bytes
- *     @multicast: number of received multicast packets
+ *     @rx_multicast: number of received multicast packets
+ *     @syncp: synchronization point for 64bit counters
  *     @rx_errors: number of errors
+ *     @rx_dropped: number of dropped packets
  */
 struct vlan_rx_stats {
-       unsigned long rx_packets;
-       unsigned long rx_bytes;
-       unsigned long multicast;
-       unsigned long rx_errors;
+       u64                     rx_packets;
+       u64                     rx_bytes;
+       u64                     rx_multicast;
+       struct u64_stats_sync   syncp;
+       unsigned long           rx_errors;
+       unsigned long           rx_dropped;
 };
 
 /**
@@ -61,7 +66,7 @@ struct vlan_dev_info {
        struct proc_dir_entry                   *dent;
        unsigned long                           cnt_inc_headroom_on_tx;
        unsigned long                           cnt_encap_on_xmit;
-       struct vlan_rx_stats                    *vlan_rx_stats;
+       struct vlan_rx_stats __percpu           *vlan_rx_stats;
 };
 
 static inline struct vlan_dev_info *vlan_dev_info(const struct net_device *dev)