diff options
author | Renato Botelho <garga@FreeBSD.org> | 2013-03-08 09:33:12 -0300 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2013-03-08 10:48:09 -0300 |
commit | 3f3252f6421234a27cab4bf71575317e78d6dcaa (patch) | |
tree | 361ec06527eb9185ab2cd33e7a0184048dcf13e0 /etc | |
parent | a976c6338d419af1aa3f9bba2268313ddcc9c85f (diff) | |
download | pfsense-3f3252f6421234a27cab4bf71575317e78d6dcaa.zip pfsense-3f3252f6421234a27cab4bf71575317e78d6dcaa.tar.gz |
When reset parent to default mtu, deal with all VLANs too
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/interfaces.inc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 2979ab6..1e62611 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -2995,8 +2995,20 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven pfSense_interface_mtu($vlan['vlanif'], $mtu); } pfSense_interface_mtu($realif, $mtu); - } else if ($mtu != get_interface_mtu($realhwif)) - pfSense_interface_mtu($realhwif, $mtu); + } else { + /* All vlans need to use the same mtu value as their parent. */ + foreach ($vlanifs as $vlan) { + $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 ($mtu != get_interface_mtu($realhwif)) + pfSense_interface_mtu($realhwif, $mtu); + } unset($vlanifs); |