Bug #2786 ยป fix_vlan_mtu.diff
| etc/inc/interfaces.inc | ||
|---|---|---|
| 2884 | 2884 |
break; |
| 2885 | 2885 |
} |
| 2886 | 2886 | |
| 2887 |
if (!empty($wancfg['mtu'])) {
|
|
| 2888 |
pfSense_interface_mtu($realif, $wancfg['mtu']); |
|
| 2889 |
} else {
|
|
| 2890 |
$mtu = get_interface_default_mtu(remove_numbers($realhwif)); |
|
| 2891 |
if ($mtu != get_interface_mtu($realhwif)) |
|
| 2892 |
pfSense_interface_mtu($realhwif, $mtu); |
|
| 2887 |
$mtu = get_interface_default_mtu(remove_numbers($realhwif)); |
|
| 2888 | ||
| 2889 |
if (preg_match('/_vlan[0-9]/', $wancfg['if'])) {
|
|
| 2890 |
foreach ($config['interfaces'] as $ifdescr => $ifdata) {
|
|
| 2891 |
if ($ifdata['if'] == $realhwif) {
|
|
| 2892 |
if (!empty($ifdata['mtu'])) |
|
| 2893 |
$mtu = $ifdata['mtu']; |
|
| 2894 |
break; |
|
| 2895 |
} |
|
| 2896 |
} |
|
| 2897 |
} else if (!empty($wancfg['mtu'])) {
|
|
| 2898 |
$mtu = $wancfg['mtu']; |
|
| 2893 | 2899 |
} |
| 2894 | 2900 | |
| 2901 |
if ($mtu != get_interface_mtu($realhwif)) |
|
| 2902 |
pfSense_interface_mtu($realhwif, $mtu); |
|
| 2903 | ||
| 2904 |
/* |
|
| 2905 |
* All vlans need to use the same mtu value as their parent. |
|
| 2906 |
*/ |
|
| 2907 |
if (is_array($config['vlans']['vlan'])) |
|
| 2908 |
foreach ($config['vlans']['vlan'] as $vlan) |
|
| 2909 |
if (($vlan['if'] == $realhwif) && (get_interface_mtu($vlan['vlanif']) != $mtu)) |
|
| 2910 |
pfSense_interface_mtu($vlan['vlanif'], $mtu); |
|
| 2911 | ||
| 2895 | 2912 |
if(does_interface_exist($wancfg['if'])) |
| 2896 | 2913 |
interfaces_bring_up($wancfg['if']); |
| 2897 | 2914 | |
| usr/local/www/interfaces.php | ||
|---|---|---|
| 92 | 92 |
else if ($if == "lan" && !$wancfg['descr']) |
| 93 | 93 |
$wancfg['descr'] = "LAN"; |
| 94 | 94 | |
| 95 |
$parent_vlan_if = ""; |
|
| 96 |
if (preg_match('/_vlan[0-9]/', $wancfg['if'])) {
|
|
| 97 |
$realhwif_array = get_parent_interface($wancfg['if']); |
|
| 98 |
// Need code to handle MLPPP if we ever use $realhwif for MLPPP handling |
|
| 99 |
$realhwif = $realhwif_array[0]; |
|
| 100 |
$parent_vlan_if = convert_real_interface_to_friendly_interface_name($realhwif); |
|
| 101 |
$wancfg['mtu'] = ''; |
|
| 102 |
} |
|
| 95 | 103 | |
| 96 | 104 |
foreach ($a_ppps as $pppid => $ppp) {
|
| 97 | 105 |
if ($wancfg['if'] == $ppp['if']) |
| ... | ... | |
| 1384 | 1392 |
<tr> |
| 1385 | 1393 |
<td valign="top" class="vncell"><?=gettext("MTU"); ?></td>
|
| 1386 | 1394 |
<td class="vtable"> |
| 1387 |
<input name="mtu" type="text" class="formfld unknown" id="mtu" size="8" value="<?=htmlspecialchars($pconfig['mtu']);?>"> |
|
| 1395 |
<input name="mtu" type="text" class="formfld unknown" id="mtu" size="8" value="<?=htmlspecialchars($pconfig['mtu']);?>" |
|
| 1396 |
<?php if(!empty($parent_vlan_if)) print "disabled"; ?>> |
|
| 1388 | 1397 |
<br> |
| 1389 |
<?=gettext("If you leave this field blank, the adapter's default MTU will " .
|
|
| 1390 |
"be used. This is typically 1500 bytes but can vary in some circumstances."); ?> |
|
| 1398 |
<?php |
|
| 1399 |
if (empty($parent_vlan_if)) |
|
| 1400 |
print gettext("If you leave this field blank, the adapter's default MTU will " .
|
|
| 1401 |
"be used. This is typically 1500 bytes but can vary in some circumstances."); |
|
| 1402 |
else |
|
| 1403 |
print gettext("This interface is a VLAN and it needs to use same MTU set for " .
|
|
| 1404 |
"its parent. You can change parent's MTU") . "<a href=\"interfaces.php?if={$parent_vlan_if}\"> " .
|
|
| 1405 |
gettext("here") . ".</a>";
|
|
| 1406 |
?> |
|
| 1391 | 1407 |
</td> |
| 1392 | 1408 |
</tr> |
| 1393 | 1409 |
<tr> |