www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / kernel / linux / net / bridge / br_private.h
index 32df9f4..6d4eb50 100755 (executable)
@@ -4,7 +4,7 @@
  *     Authors:
  *     Lennert Buytenhek               <buytenh@gnu.org>
  *
- *     $Id: br_private.h,v 1.1.1.1 2005/04/29 01:44:07 echo Exp $
+ *     $Id: br_private.h,v 1.7 2001/12/24 00:59:55 davem Exp $
  *
  *     This program is free software; you can redistribute it and/or
  *     modify it under the terms of the GNU General Public License
 #define BR_PORT_BITS   10
 #define BR_MAX_PORTS   (1<<BR_PORT_BITS)
 
+#if defined(CONFIG_MIPS_BRCM)
+#define TIMER_CHECK_TIMEOUT 10
+#define QUERY_TIMEOUT 130
+//#define QUERY_TIMEOUT 60
+#endif
+
 typedef struct bridge_id bridge_id;
 typedef struct mac_addr mac_addr;
 typedef __u16 port_id;
@@ -42,6 +48,18 @@ struct mac_addr
        unsigned char   addr[6];
 };
 
+#if defined(CONFIG_MIPS_BRCM)
+struct net_bridge_mc_fdb_entry
+{
+       struct net_bridge_port          *dst;
+       mac_addr                        addr;
+       mac_addr                        host;
+       unsigned char                   is_local;
+       unsigned char                   is_static;
+       unsigned long                   tstamp;
+       struct list_head                list;
+};
+
 struct net_bridge_fdb_entry
 {
        struct hlist_node               hlist;
@@ -56,6 +74,7 @@ struct net_bridge_fdb_entry
        unsigned char                   is_local;
        unsigned char                   is_static;
 };
+#endif
 
 struct net_bridge_port
 {
@@ -75,6 +94,9 @@ struct net_bridge_port
        bridge_id                       designated_bridge;
        u32                             path_cost;
        u32                             designated_cost;
+#if defined(CONFIG_MIPS_BRCM)
+       int                             dirty;
+#endif
 
        struct timer_list               forward_delay_timer;
        struct timer_list               hold_timer;
@@ -93,6 +115,14 @@ struct net_bridge
        struct hlist_head               hash[BR_HASH_SIZE];
        struct list_head                age_list;
 
+#if defined(CONFIG_MIPS_BRCM)
+       struct list_head                mc_list;
+       struct timer_list               igmp_timer;
+       int                             proxy;
+       spinlock_t                      mcl_lock;
+       int                             start_timer;
+#endif
+
        /* STP */
        bridge_id                       designated_root;
        bridge_id                       bridge_id;
@@ -178,6 +208,10 @@ extern int br_min_mtu(const struct net_bridge *br);
 /* br_input.c */
 extern int br_handle_frame_finish(struct sk_buff *skb);
 extern int br_handle_frame(struct sk_buff *skb);
+#if defined(CONFIG_MIPS_BRCM)
+extern int snooping;
+extern void query_timeout();
+#endif
 
 /* br_ioctl.c */
 extern int br_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);