From 82d207f98cd19690ee7ba4d02c7a46ed25d6fff4 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 14 Aug 2018 20:51:21 +0200 Subject: [PATCH] load ipfw when either CP or the trafficshaper is enabled, final take on https://github.com/opnsense/core/issues/2569 --- src/etc/inc/system.inc | 2 +- .../models/OPNsense/TrafficShaper/TrafficShaper.php | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index ce2e2e63f..3a794fe75 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -1068,7 +1068,7 @@ function system_kernel_configure($verbose = false) $mods[] = $config['system']['thermal_hardware']; } - if (!empty($config['OPNsense']['TrafficShaper']['rules']['rule'])) { + if ((new \OPNsense\TrafficShaper\TrafficShaper())->isEnabled() || (new \OPNsense\CaptivePortal())->isEnabled()) { $mods[] = "ipfw"; $mods[] = "dummynet"; } diff --git a/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.php b/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.php index 88e0c8af0..174e200bf 100644 --- a/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.php +++ b/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.php @@ -139,4 +139,17 @@ class TrafficShaper extends BaseModel return $seq; } + + /** + * retrieve last generated rule sequence number + */ + public function isEnabled() + { + foreach ($this->pipes->pipe->__items as $item) { + if ((string)$item->enabled == "1") { + return true; + } + } + return false; + } }