diff options
author | Chris Buechler <cmb@pfsense.org> | 2016-02-04 23:10:41 -0600 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2016-02-04 23:11:36 -0600 |
commit | 2fadcec3e6ce174607fdbae62552e943c79d8346 (patch) | |
tree | 8bdaad4caa191c2f99e48e27d33b249898b47b22 | |
parent | e1e1ab076b99a6cc47fb5fe1e5519a2e686eca45 (diff) | |
download | pfsense-2fadcec3e6ce174607fdbae62552e943c79d8346.zip pfsense-2fadcec3e6ce174607fdbae62552e943c79d8346.tar.gz |
Set gif interface MTU in interface_gif_configure if it's not already correct. Ticket #5842
-rw-r--r-- | src/etc/inc/interfaces.inc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 71c5123..a3f1c2c 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -971,6 +971,20 @@ function interface_gif_configure(&$gif, $gifkey = "") { } if ($gifif) { interfaces_bring_up($gifif); + $gifmtu = ""; + $currentgifmtu = get_interface_mtu($gifif); + foreach ($config['interfaces'] as $tmpinterface) { + if ($tmpinterface['if'] == $gifif) { + if (isset($tmpinterface['mtu']) && is_numericint($tmpinterface['mtu'])) { + $gifmtu = $tmpinterface['mtu']; + } + } + } + if (is_numericint($gifmtu)) { + if ($gifmtu != $currentgifmtu) { + mwexec("/sbin/ifconfig {$gifif} mtu {$gifmtu}"); + } + } } else { log_error(gettext("could not bring gifif up -- variable not defined")); } |