diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 8d4faf7..ab8cf9c 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -2884,14 +2884,31 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven break; } - if (!empty($wancfg['mtu'])) { - pfSense_interface_mtu($realif, $wancfg['mtu']); - } else { - $mtu = get_interface_default_mtu(remove_numbers($realhwif)); - if ($mtu != get_interface_mtu($realhwif)) - pfSense_interface_mtu($realhwif, $mtu); + $mtu = get_interface_default_mtu(remove_numbers($realhwif)); + + if (preg_match('/_vlan[0-9]/', $wancfg['if'])) { + foreach ($config['interfaces'] as $ifdescr => $ifdata) { + if ($ifdata['if'] == $realhwif) { + if (!empty($ifdata['mtu'])) + $mtu = $ifdata['mtu']; + break; + } + } + } else if (!empty($wancfg['mtu'])) { + $mtu = $wancfg['mtu']; } + if ($mtu != get_interface_mtu($realhwif)) + 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) && (get_interface_mtu($vlan['vlanif']) != $mtu)) + pfSense_interface_mtu($vlan['vlanif'], $mtu); + if(does_interface_exist($wancfg['if'])) interfaces_bring_up($wancfg['if']); diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 5062b36..818091b 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -92,6 +92,14 @@ if ($if == "wan" && !$wancfg['descr']) else if ($if == "lan" && !$wancfg['descr']) $wancfg['descr'] = "LAN"; +$parent_vlan_if = ""; +if (preg_match('/_vlan[0-9]/', $wancfg['if'])) { + $realhwif_array = get_parent_interface($wancfg['if']); + // Need code to handle MLPPP if we ever use $realhwif for MLPPP handling + $realhwif = $realhwif_array[0]; + $parent_vlan_if = convert_real_interface_to_friendly_interface_name($realhwif); + $wancfg['mtu'] = ''; +} foreach ($a_ppps as $pppid => $ppp) { if ($wancfg['if'] == $ppp['if']) @@ -1384,10 +1392,18 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"), - + >
- + " . + gettext("here") . "."; + ?>