diff options
author | nsayer <nsayer@FreeBSD.org> | 2000-07-29 02:00:12 +0000 |
---|---|---|
committer | nsayer <nsayer@FreeBSD.org> | 2000-07-29 02:00:12 +0000 |
commit | 7d8d00c3047a02b73da59dbc9a3be797f0c95dd1 (patch) | |
tree | 620109caf8be642c8a0b716639cddea4c81c6f8c /sys/net/bridge.c | |
parent | ff7cd1f740ee1407a8d43cd48cdf11f4b5781762 (diff) | |
download | FreeBSD-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.c | 7 |
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'; |