8021q: make vlan_pcpu_stats visible without CONFIG_VLAN_8021Q
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Mon, 6 Jan 2014 00:41:20 +0000 (01:41 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jan 2014 01:27:55 +0000 (20:27 -0500)
macvlan needs vlan_pcpu_stats so make it visible even if compiling
without VLAN_8021Q support. Otherwise a very long compiler error happens.

Fixes: cdf3e274cf1b36 ("macvlan: unify macvlan_pcpu_stats and vlan_pcpu_stats")
Cc: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-By: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_vlan.h

index f252deb99454fa06e4892ab1100e41aea0968d84..bbedfb56bd66074545503f12e161ee2cc640eb58 100644 (file)
@@ -82,25 +82,6 @@ static inline int is_vlan_dev(struct net_device *dev)
 #define vlan_tx_tag_get(__skb)         ((__skb)->vlan_tci & ~VLAN_TAG_PRESENT)
 #define vlan_tx_tag_get_id(__skb)      ((__skb)->vlan_tci & VLAN_VID_MASK)
 
-#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-
-extern struct net_device *__vlan_find_dev_deep(struct net_device *real_dev,
-                                              __be16 vlan_proto, u16 vlan_id);
-extern struct net_device *vlan_dev_real_dev(const struct net_device *dev);
-extern u16 vlan_dev_vlan_id(const struct net_device *dev);
-
-/**
- *     struct vlan_priority_tci_mapping - vlan egress priority mappings
- *     @priority: skb priority
- *     @vlan_qos: vlan priority: (skb->priority << 13) & 0xE000
- *     @next: pointer to next struct
- */
-struct vlan_priority_tci_mapping {
-       u32                                     priority;
-       u16                                     vlan_qos;
-       struct vlan_priority_tci_mapping        *next;
-};
-
 /**
  *     struct vlan_pcpu_stats - VLAN percpu rx/tx stats
  *     @rx_packets: number of received packets
@@ -123,6 +104,25 @@ struct vlan_pcpu_stats {
        u32                     tx_dropped;
 };
 
+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
+
+extern struct net_device *__vlan_find_dev_deep(struct net_device *real_dev,
+                                              __be16 vlan_proto, u16 vlan_id);
+extern struct net_device *vlan_dev_real_dev(const struct net_device *dev);
+extern u16 vlan_dev_vlan_id(const struct net_device *dev);
+
+/**
+ *     struct vlan_priority_tci_mapping - vlan egress priority mappings
+ *     @priority: skb priority
+ *     @vlan_qos: vlan priority: (skb->priority << 13) & 0xE000
+ *     @next: pointer to next struct
+ */
+struct vlan_priority_tci_mapping {
+       u32                                     priority;
+       u16                                     vlan_qos;
+       struct vlan_priority_tci_mapping        *next;
+};
+
 struct proc_dir_entry;
 struct netpoll;