summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2013-03-08 09:22:25 -0300
committerRenato Botelho <garga@FreeBSD.org>2013-03-08 10:48:09 -0300
commita976c6338d419af1aa3f9bba2268313ddcc9c85f (patch)
tree22191796c4e56dfc79d308a7f4b5e808d0beb65c /etc
parent20eb8203b18fe1919a9d58368ed9e31fd676238b (diff)
downloadpfsense-a976c6338d419af1aa3f9bba2268313ddcc9c85f.zip
pfsense-a976c6338d419af1aa3f9bba2268313ddcc9c85f.tar.gz
Set vlanifs early and use it on more places to simplify logic
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/interfaces.inc90
1 files changed, 40 insertions, 50 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 1665ad1..2979ab6 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2917,6 +2917,10 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
if (!empty($assignedparent) && isset($config['interfaces'][$assignedparent]['mtu']))
$mtu = $config['interfaces'][$assignedparent]['mtu'];
+ $vlanifs = link_interface_to_vlans($realhwif);
+ if (empty($vlanifs))
+ $vlanifs = array();
+
if (!empty($wancfg['mtu'])) {
if (stristr($realif, "_vlan")) {
if (!empty($assignedparent)) {
@@ -2927,58 +2931,46 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
pfSense_interface_mtu($realhwif, $wancfg['mtu']);
/* All vlans need to use the same mtu value as their parent. */
- if (is_array($config['vlans']['vlan'])) {
- foreach ($config['vlans']['vlan'] as $vlan) {
- if ($vlan['if'] != $realhwif)
- continue;
- if ($vlan['vlanif'] == $realif)
- continue;
- $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
- if (!empty($assignedport)) {
- $portmtu = $config['interfaces'][$assignedport]['mtu'];
- if (empty($portmtu))
- pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- } else
+ foreach ($vlanifs as $vlan) {
+ if ($vlan['vlanif'] == $realif)
+ continue;
+ $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
+ if (!empty($assignedport)) {
+ $portmtu = $config['interfaces'][$assignedport]['mtu'];
+ if (empty($portmtu))
pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- }
+ } else
+ pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
}
}
} else {
$bigmtu = interface_vlan_mtu_configured($realhwif, $wancfg['mtu']);
if ($wancfg['mtu'] >= $bigmtu) {
/* All vlans need to use the same mtu value as their parent. */
- if (is_array($config['vlans']['vlan'])) {
- foreach ($config['vlans']['vlan'] as $vlan) {
- if ($vlan['if'] != $realhwif)
- continue;
- if ($vlan['vlanif'] == $realif)
- continue;
- $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
- if (!empty($assignedport)) {
- $portmtu = $config['interfaces'][$assignedport]['mtu'];
- if (empty($portmtu))
- pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- } else
+ foreach ($vlanifs as $vlan) {
+ if ($vlan['vlanif'] == $realif)
+ continue;
+ $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
+ if (!empty($assignedport)) {
+ $portmtu = $config['interfaces'][$assignedport]['mtu'];
+ if (empty($portmtu))
pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- }
+ } else
+ pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
}
pfSense_interface_mtu($realhwif, $wancfg['mtu']);
}
}
} else {
- $vlanifs = link_interface_to_vlans($realhwif);
- if (!empty($vlanifs)) {
- foreach ($vlanifs as $vlan) {
- $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
- if (empty($assignedport))
+ foreach ($vlanifs as $vlan) {
+ $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
+ if (empty($assignedport))
+ pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
+ else {
+ $vlanmtu = $config['interfaces'][$assignedport]['mtu'];
+ if (empty($vlanmtu) || ($vlanmtu > $wancfg['mtu']))
pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- else {
- $vlanmtu = $config['interfaces'][$assignedport]['mtu'];
- if (empty($vlanmtu) || ($vlanmtu > $wancfg['mtu']))
- pfSense_interface_mtu($vlan['vlanif'], $wancfg['mtu']);
- }
}
- unset($vlanifs);
}
}
if ($wancfg['mtu'] != get_interface_mtu($realif))
@@ -2991,25 +2983,23 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
pfSense_interface_mtu($realhwif, $mtu);
/* All vlans need to use the same mtu value as their parent. */
- if (is_array($config['vlans']['vlan'])) {
- foreach ($config['vlans']['vlan'] as $vlan) {
- if ($vlan['if'] != $realhwif)
- continue;
- if ($vlan['vlanif'] == $realif)
- continue;
- $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
- if (!empty($assignedport)) {
- $portmtu = $config['interfaces'][$assignedport]['mtu'];
- if (empty($portmtu))
- pfSense_interface_mtu($vlan['vlanif'], $mtu);
- } else
+ foreach ($vlanifs as $vlan) {
+ if ($vlan['vlanif'] == $realif)
+ continue;
+ $assignedport = convert_real_interface_to_friendly_interface_name($vlan['vlanif']);
+ if (!empty($assignedport)) {
+ $portmtu = $config['interfaces'][$assignedport]['mtu'];
+ if (empty($portmtu))
pfSense_interface_mtu($vlan['vlanif'], $mtu);
- }
+ } else
+ pfSense_interface_mtu($vlan['vlanif'], $mtu);
}
pfSense_interface_mtu($realif, $mtu);
} else if ($mtu != get_interface_mtu($realhwif))
pfSense_interface_mtu($realhwif, $mtu);
+ unset($vlanifs);
+
if(does_interface_exist($wancfg['if']))
interfaces_bring_up($wancfg['if']);
OpenPOWER on IntegriCloud