bridge: netpoll cleanup
[safe/jmp/linux-2.6] / net / bridge / br_private.h
index 63181e4..8a07266 100644 (file)
@@ -45,6 +45,17 @@ struct mac_addr
        unsigned char   addr[6];
 };
 
+struct br_ip
+{
+       union {
+               __be32  ip4;
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+               struct in6_addr ip6;
+#endif
+       } u;
+       __be16          proto;
+};
+
 struct net_bridge_fdb_entry
 {
        struct hlist_node               hlist;
@@ -64,7 +75,7 @@ struct net_bridge_port_group {
        struct rcu_head                 rcu;
        struct timer_list               timer;
        struct timer_list               query_timer;
-       __be32                          addr;
+       struct br_ip                    addr;
        u32                             queries_sent;
 };
 
@@ -77,7 +88,7 @@ struct net_bridge_mdb_entry
        struct rcu_head                 rcu;
        struct timer_list               timer;
        struct timer_list               query_timer;
-       __be32                          addr;
+       struct br_ip                    addr;
        u32                             queries_sent;
 };
 
@@ -242,6 +253,18 @@ static inline int br_is_root_bridge(const struct net_bridge *br)
 extern void br_dev_setup(struct net_device *dev);
 extern netdev_tx_t br_dev_xmit(struct sk_buff *skb,
                               struct net_device *dev);
+#ifdef CONFIG_NET_POLL_CONTROLLER
+extern void br_netpoll_cleanup(struct net_device *dev);
+extern void br_netpoll_enable(struct net_bridge *br,
+                             struct net_device *dev);
+extern void br_netpoll_disable(struct net_bridge *br,
+                              struct net_device *dev);
+#else
+#define br_netpoll_cleanup(br)
+#define br_netpoll_enable(br, dev)
+#define br_netpoll_disable(br, dev)
+
+#endif
 
 /* br_fdb.c */
 extern int br_fdb_init(void);