* 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;
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;
unsigned char is_local;
unsigned char is_static;
};
+#endif
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;
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;
/* 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);