summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2013-03-08 09:51:18 -0300
committerRenato Botelho <garga@FreeBSD.org>2013-03-08 10:48:09 -0300
commitbe2c39b648acf388c5e62f35961b1ddf0d9394ad (patch)
tree7849fbe15860f9efe6d48586e341765768ff37c8 /etc
parent3f3252f6421234a27cab4bf71575317e78d6dcaa (diff)
downloadpfsense-be2c39b648acf388c5e62f35961b1ddf0d9394ad.zip
pfsense-be2c39b648acf388c5e62f35961b1ddf0d9394ad.tar.gz
When parent is not assigned, reset it and all vlans without mtu set to default
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/interfaces.inc33
1 files changed, 18 insertions, 15 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 1e62611..3349c19 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2944,22 +2944,25 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
}
}
} 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. */
- 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']);
+ /* Parent is not assigned, back to default */
+ if (get_interface_mtu($realhwif) != $mtu)
+ pfSense_interface_mtu($realhwif, $mtu);
+
+ /* All vlans need to use the same mtu value as their parent. */
+ 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);
}
+
+ if (get_interface_mtu($realif) != $wancfg['mtu'])
+ pfSense_interface_mtu($realif, $wancfg['mtu']);
}
} else {
foreach ($vlanifs as $vlan) {
OpenPOWER on IntegriCloud