summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-12-18 18:33:01 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-12-18 18:33:01 +0000
commit77712c1edafd63dd3f076b080df5882646d4e995 (patch)
tree4ae969941132e53a112470bd9be9f7a2ad7aff5f /etc/inc/interfaces.inc
parent2e445a9e0661c387e5350f58751b7f990e182b4f (diff)
downloadpfsense-77712c1edafd63dd3f076b080df5882646d4e995.zip
pfsense-77712c1edafd63dd3f076b080df5882646d4e995.tar.gz
Adjust bringup order. Bring up bridge on wan too
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc45
1 files changed, 40 insertions, 5 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 095e3f1..22e603a 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -147,10 +147,12 @@ function interfaces_lan_configure() {
fclose($fd);
/* bring up interfaces */
+ mwexec("/sbin/ifconfig bridge{$bridges_total} down");
+ usleep(100);
mwexec("/sbin/ifconfig {$config['interfaces'][$lancfg['bridge']]['if']} up");
+ usleep(5);
mwexec("/sbin/ifconfig {$lancfg['if']} up");
- mwexec("/sbin/ifconfig bridge{$bridges_total} down");
- mwexec("/sbin/ifconfig {$lancfg['if']} up");
+ usleep(5);
mwexec("/sbin/ifconfig bridge{$bridges_total} up");
}
@@ -305,12 +307,13 @@ function interfaces_optional_configure_if($opti) {
fclose($fd);
/* bring up interfaces */
- mwexec("/sbin/ifconfig {$config['interfaces'][$optcfg['bridge']]['if']} up");
- mwexec("/sbin/ifconfig {$optcfg['if']} up");
mwexec("/sbin/ifconfig bridge{$bridges_total} down");
+ usleep(100);
+ mwexec("/sbin/ifconfig {$config['interfaces'][$optcfg['bridge']]['if']} up");
+ usleep(5);
mwexec("/sbin/ifconfig {$optcfg['if']} up");
+ usleep(5);
mwexec("/sbin/ifconfig bridge{$bridges_total} up");
-
} else {
/* if user has selected DHCP type then act accordingly */
@@ -798,6 +801,38 @@ function interfaces_wan_configure() {
filter_configure();
}
+ if ($wancfg['bridge']) {
+ /* use open/netBSD style bridge */
+ mwexec("/sbin/ifconfig bridge{$bridges_total} create");
+
+ /* force all bridged interfaces to use same mtu */
+ $mtu = get_interface_mtu($config['interfaces'][$wancfg['bridge']]['if']);
+ mwexec("/sbin/ifconfig {$wancfg['if']} mtu {$mtu}");
+ mwexec("/sbin/ifconfig {$config['interfaces'][$wancfg['bridge']]['if']} mtu {$mtu}");
+
+ /* assign items to a bridge */
+ mwexec("/sbin/ifconfig bridge{$bridges_total} addm {$wancfg['if']} addm {$config['interfaces'][$wancfg['bridge']]['if']} up");
+ mwexec("/sbin/ifconfig bridge{$bridges_total} stp {$wancfg['if']} stp {$config['interfaces'][$wancfg['bridge']]['if']}");
+
+ /* log commands run for debugging in /tmp/ */
+ $fd = fopen("{$g['tmp_path']}/bridge_config_{$wancfg['if']}", "w");
+ fwrite($fd, "/sbin/ifconfig {$wancfg['if']} mtu {$mtu}\n");
+ fwrite($fd, "/sbin/ifconfig {$config['interfaces'][$wancfg['bridge']]['if']} mtu {$mtu}\n");
+ fwrite($fd, "/sbin/ifconfig bridge{$bridges_total} create\n");
+ fwrite($fd, "/sbin/ifconfig bridge{$bridges_total} addm {$wancfg['if']} addm {$config['interfaces'][$wancfg['bridge']]['if']} up\n");
+ fwrite($fd, "/sbin/ifconfig bridge{$bridges_total} stp {$wancfg['if']} stp {$config['interfaces'][$wancfg['bridge']]['if']}\n");
+ fclose($fd);
+
+ /* bring up interfaces */
+ mwexec("/sbin/ifconfig bridge{$bridges_total} down");
+ usleep(100);
+ mwexec("/sbin/ifconfig {$config['interfaces'][$wancfg['bridge']]['if']} up");
+ usleep(5);
+ mwexec("/sbin/ifconfig {$wancfg['if']} up");
+ usleep(5);
+ mwexec("/sbin/ifconfig bridge{$bridges_total} up");
+ }
+
if (!$g['booting']) {
/* reconfigure static routes (kernel may have deleted them) */
system_routing_configure();
OpenPOWER on IntegriCloud