summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-08-01 18:36:00 -0300
committerRenato Botelho <renato@netgate.com>2016-08-01 18:36:00 -0300
commitb40e1c0068edb6e0c5dbee996a2942962766d213 (patch)
tree18f10a0e96d2d9fcd7e2b39f1bb671578d857ac8
parent3d3afbff80a02b9ad6f9df0bc44cc4d85b46f9e4 (diff)
parent9cf9f30f449f2f19e294fad5a86c16517ab78282 (diff)
downloadpfsense-b40e1c0068edb6e0c5dbee996a2942962766d213.zip
pfsense-b40e1c0068edb6e0c5dbee996a2942962766d213.tar.gz
Merge pull request #3069 from phil-davis/LAGG-MTU
-rw-r--r--src/etc/inc/interfaces.inc38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 87eca64..9d6baec 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -5012,6 +5012,7 @@ function interface_find_child_cfgmtu($realiface) {
$interface = convert_real_interface_to_friendly_interface_name($realiface);
$vlans = link_interface_to_vlans($realiface);
+ $qinqs = link_interface_to_qinqs($realiface);
$bridge = link_interface_to_bridge($realiface);
if (!empty($interface)) {
$gifs = link_interface_to_gif($interface);
@@ -5035,6 +5036,19 @@ function interface_find_child_cfgmtu($realiface) {
}
}
}
+ if (is_array($qinqs)) {
+ foreach ($qinqs as $qinq) {
+ $ifass = convert_real_interface_to_friendly_interface_name($qinq['vlanif']);
+ if (empty($ifass)) {
+ continue;
+ }
+ if (!empty($config['interfaces'][$ifass]['mtu'])) {
+ if (intval($config['interfaces'][$ifass]['mtu']) > $mtu) {
+ $mtu = intval($config['interfaces'][$ifass]['mtu']);
+ }
+ }
+ }
+ }
if (is_array($gifs)) {
foreach ($gifs as $gif) {
$ifass = convert_real_interface_to_friendly_interface_name($gif['gifif']);
@@ -5096,6 +5110,30 @@ function link_interface_to_vlans($int, $action = "") {
}
}
+function link_interface_to_qinqs($int, $action = "") {
+ global $config;
+
+ if (empty($int)) {
+ return;
+ }
+
+ if (is_array($config['qinqs']['qinqentry'])) {
+ $ifaces = array();
+ foreach ($config['qinqs']['qinqentry'] as $qinq) {
+ if ($int == $qinq['if']) {
+ if ($action == "update") {
+ interfaces_bring_up($int);
+ } else {
+ $ifaces[$qinq['tag']] = $qinq;
+ }
+ }
+ }
+ if (!empty($ifaces)) {
+ return $ifaces;
+ }
+ }
+}
+
function link_interface_to_vips($int, $action = "", $vhid = '') {
global $config;
OpenPOWER on IntegriCloud