summaryrefslogtreecommitdiffstats
path: root/sys/net/bridge.c
diff options
context:
space:
mode:
authornsayer <nsayer@FreeBSD.org>2000-07-29 02:00:12 +0000
committernsayer <nsayer@FreeBSD.org>2000-07-29 02:00:12 +0000
commit7d8d00c3047a02b73da59dbc9a3be797f0c95dd1 (patch)
tree620109caf8be642c8a0b716639cddea4c81c6f8c /sys/net/bridge.c
parentff7cd1f740ee1407a8d43cd48cdf11f4b5781762 (diff)
downloadFreeBSD-src-7d8d00c3047a02b73da59dbc9a3be797f0c95dd1.zip
FreeBSD-src-7d8d00c3047a02b73da59dbc9a3be797f0c95dd1.tar.gz
Make the bridge_refresh operation automatic when ethernet interfaces
are attached or detached.
Diffstat (limited to 'sys/net/bridge.c')
-rw-r--r--sys/net/bridge.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/net/bridge.c b/sys/net/bridge.c
index 5eb86ce..ec9aada 100644
--- a/sys/net/bridge.c
+++ b/sys/net/bridge.c
@@ -118,11 +118,12 @@
#define DEB(x)
static void bdginit(void *);
-static void bdgtakeifaces(void);
static void flush_table(void);
static void bdg_promisc_on(void);
static void parse_bdg_cfg(void);
+static int bdg_initialized = 0;
+
static int bdg_ipfw = 0 ;
int do_bridge = 0;
bdg_hash_table *bdg_table = NULL ;
@@ -434,6 +435,7 @@ static void
bdginit(void *dummy)
{
+ bdg_initialized++;
if (bdg_table == NULL)
bdg_table = (struct hash_table *)
malloc(HASH_SIZE * sizeof(struct hash_table),
@@ -459,6 +461,9 @@ bdgtakeifaces(void)
u_char *eth_addr ;
struct bdg_softc *bp;
+ if (!bdg_initialized)
+ return;
+
bdg_ports = 0 ;
eth_addr = bdg_addresses ;
*bridge_cfg = '\0';
OpenPOWER on IntegriCloud