summaryrefslogtreecommitdiffstats
path: root/src/etc/rc.linkup
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-08-05 15:13:13 -0300
committerRenato Botelho <renato@netgate.com>2016-08-05 15:13:23 -0300
commit88871e26958eee525258fb9ee1297df15bab4c9b (patch)
treeb578b0c6ab05b5f9f935b96f24d4ce469f396e68 /src/etc/rc.linkup
parente8382f7fda9e09e4c94b6833ff20ebc7101d1b6f (diff)
downloadpfsense-88871e26958eee525258fb9ee1297df15bab4c9b.zip
pfsense-88871e26958eee525258fb9ee1297df15bab4c9b.tar.gz
Ignore linkup eventos for interfaces that are member of bridges and have no IP address configured
Diffstat (limited to 'src/etc/rc.linkup')
-rwxr-xr-xsrc/etc/rc.linkup23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/etc/rc.linkup b/src/etc/rc.linkup
index a416567..2a13ec4 100755
--- a/src/etc/rc.linkup
+++ b/src/etc/rc.linkup
@@ -44,8 +44,18 @@ function handle_argument_group($iface, $argument2) {
return;
}
- $ipaddr = $config['interfaces'][$iface]['ipaddr'];
- $ip6addr = $config['interfaces'][$iface]['ipaddrv6'];
+ if (empty($config['interfaces'][$iface]['ipaddr'])) {
+ $ipaddr = '';
+ } else {
+ $ipaddr = $config['interfaces'][$iface]['ipaddr'];
+ }
+
+ if (empty($config['interfaces'][$iface]['ipaddrv6'])) {
+ $ip6addr = '';
+ } else {
+ $ip6addr = $config['interfaces'][$iface]['ipaddrv6'];
+ }
+
$staticv4 = false;
if (empty($ipaddr)) {
$staticv4 = true;
@@ -58,6 +68,15 @@ function handle_argument_group($iface, $argument2) {
} else {
$staticv6 = is_ipaddrv6($ip6addr);
}
+
+ /* Take care of events on bridge members when IP is configured on bridge */
+ $bridge_if = link_interface_to_bridge($iface);
+ if (!empty($bridge_if) && empty($ipaddr) && empty($ip6addr)) {
+ log_error("Ignoring link event for bridge member without IP config");
+
+ return;
+ }
+
if ($staticv4 === true && $staticv6 === true) {
$friendly = convert_friendly_interface_to_friendly_descr($iface);
log_error("Hotplug event detected for {$friendly}({$iface}) static IP ({$ipaddr} {$ip6addr})");
OpenPOWER on IntegriCloud