diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-12-18 18:33:01 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-12-18 18:33:01 +0000 |
commit | 77712c1edafd63dd3f076b080df5882646d4e995 (patch) | |
tree | 4ae969941132e53a112470bd9be9f7a2ad7aff5f /etc/inc/interfaces.inc | |
parent | 2e445a9e0661c387e5350f58751b7f990e182b4f (diff) | |
download | pfsense-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.inc | 45 |
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(); |