]> Pileus Git - ~andy/linux/blobdiff - net/8021q/vlan.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[~andy/linux] / net / 8021q / vlan.h
index ba5983f34c42f8076f4416af164f229678ffc4e1..5704ed9c3a23bb13d1d5b41f36d6575fd3ec3ed9 100644 (file)
@@ -5,83 +5,6 @@
 #include <linux/u64_stats_sync.h>
 #include <linux/list.h>
 
-
-/**
- *     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
- *     @rx_bytes: number of received bytes
- *     @rx_multicast: number of received multicast packets
- *     @tx_packets: number of transmitted packets
- *     @tx_bytes: number of transmitted bytes
- *     @syncp: synchronization point for 64bit counters
- *     @rx_errors: number of rx errors
- *     @tx_dropped: number of tx drops
- */
-struct vlan_pcpu_stats {
-       u64                     rx_packets;
-       u64                     rx_bytes;
-       u64                     rx_multicast;
-       u64                     tx_packets;
-       u64                     tx_bytes;
-       struct u64_stats_sync   syncp;
-       u32                     rx_errors;
-       u32                     tx_dropped;
-};
-
-struct netpoll;
-
-/**
- *     struct vlan_dev_priv - VLAN private device data
- *     @nr_ingress_mappings: number of ingress priority mappings
- *     @ingress_priority_map: ingress priority mappings
- *     @nr_egress_mappings: number of egress priority mappings
- *     @egress_priority_map: hash of egress priority mappings
- *     @vlan_proto: VLAN encapsulation protocol
- *     @vlan_id: VLAN identifier
- *     @flags: device flags
- *     @real_dev: underlying netdevice
- *     @real_dev_addr: address of underlying netdevice
- *     @dent: proc dir entry
- *     @vlan_pcpu_stats: ptr to percpu rx stats
- */
-struct vlan_dev_priv {
-       unsigned int                            nr_ingress_mappings;
-       u32                                     ingress_priority_map[8];
-       unsigned int                            nr_egress_mappings;
-       struct vlan_priority_tci_mapping        *egress_priority_map[16];
-
-       __be16                                  vlan_proto;
-       u16                                     vlan_id;
-       u16                                     flags;
-
-       struct net_device                       *real_dev;
-       unsigned char                           real_dev_addr[ETH_ALEN];
-
-       struct proc_dir_entry                   *dent;
-       struct vlan_pcpu_stats __percpu         *vlan_pcpu_stats;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-       struct netpoll                          *netpoll;
-#endif
-};
-
-static inline struct vlan_dev_priv *vlan_dev_priv(const struct net_device *dev)
-{
-       return netdev_priv(dev);
-}
-
 /* if this changes, algorithm will have to be reworked because this
  * depends on completely exhausting the VLAN identifier space.  Thus
  * it gives constant time look-up, but in many cases it wastes memory.
@@ -196,12 +119,12 @@ static inline u32 vlan_get_ingress_priority(struct net_device *dev,
 }
 
 #ifdef CONFIG_VLAN_8021Q_GVRP
-extern int vlan_gvrp_request_join(const struct net_device *dev);
-extern void vlan_gvrp_request_leave(const struct net_device *dev);
-extern int vlan_gvrp_init_applicant(struct net_device *dev);
-extern void vlan_gvrp_uninit_applicant(struct net_device *dev);
-extern int vlan_gvrp_init(void);
-extern void vlan_gvrp_uninit(void);
+int vlan_gvrp_request_join(const struct net_device *dev);
+void vlan_gvrp_request_leave(const struct net_device *dev);
+int vlan_gvrp_init_applicant(struct net_device *dev);
+void vlan_gvrp_uninit_applicant(struct net_device *dev);
+int vlan_gvrp_init(void);
+void vlan_gvrp_uninit(void);
 #else
 static inline int vlan_gvrp_request_join(const struct net_device *dev) { return 0; }
 static inline void vlan_gvrp_request_leave(const struct net_device *dev) {}
@@ -212,12 +135,12 @@ static inline void vlan_gvrp_uninit(void) {}
 #endif
 
 #ifdef CONFIG_VLAN_8021Q_MVRP
-extern int vlan_mvrp_request_join(const struct net_device *dev);
-extern void vlan_mvrp_request_leave(const struct net_device *dev);
-extern int vlan_mvrp_init_applicant(struct net_device *dev);
-extern void vlan_mvrp_uninit_applicant(struct net_device *dev);
-extern int vlan_mvrp_init(void);
-extern void vlan_mvrp_uninit(void);
+int vlan_mvrp_request_join(const struct net_device *dev);
+void vlan_mvrp_request_leave(const struct net_device *dev);
+int vlan_mvrp_init_applicant(struct net_device *dev);
+void vlan_mvrp_uninit_applicant(struct net_device *dev);
+int vlan_mvrp_init(void);
+void vlan_mvrp_uninit(void);
 #else
 static inline int vlan_mvrp_request_join(const struct net_device *dev) { return 0; }
 static inline void vlan_mvrp_request_leave(const struct net_device *dev) {}
@@ -229,8 +152,8 @@ static inline void vlan_mvrp_uninit(void) {}
 
 extern const char vlan_fullname[];
 extern const char vlan_version[];
-extern int vlan_netlink_init(void);
-extern void vlan_netlink_fini(void);
+int vlan_netlink_init(void);
+void vlan_netlink_fini(void);
 
 extern struct rtnl_link_ops vlan_link_ops;