diff options
author | Renato Botelho <garga@FreeBSD.org> | 2013-03-08 09:22:25 -0300 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2013-03-08 10:48:09 -0300 |
commit | a976c6338d419af1aa3f9bba2268313ddcc9c85f (patch) | |
tree | 22191796c4e56dfc79d308a7f4b5e808d0beb65c /etc | |
parent | 20eb8203b18fe1919a9d58368ed9e31fd676238b (diff) | |
download | pfsense-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.inc | 90 |
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']); |