diff --git a/src/opnsense/mvc/app/library/OPNsense/Routing/Gateways.php b/src/opnsense/mvc/app/library/OPNsense/Routing/Gateways.php index 1cb6a4661..e5481a500 100644 --- a/src/opnsense/mvc/app/library/OPNsense/Routing/Gateways.php +++ b/src/opnsense/mvc/app/library/OPNsense/Routing/Gateways.php @@ -310,4 +310,23 @@ class Gateways return false; } + /** + * @param string $name gateway name + * @return string|null gateway address + */ + public function getAddress($name) + { + foreach ($this->getGateways() as $gateway) { + if ($gateway['name'] == $name && !empty($gateway['gateway'])){ + $result = $gateway['gateway']; + if (strtolower(substr($gateway['gateway'], 0, 5)) == "fe80:") { + // link local, suffix interface + $result .= "%{$gw['if']}"; + } + return $result; + } + } + return null; + } + }