summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorSeth Mos <seth.mos@xs4all.nl>2007-10-09 21:05:32 +0000
committerSeth Mos <seth.mos@xs4all.nl>2007-10-09 21:05:32 +0000
commite95c7cd6d75a49427ebe121ee0d97ed10dbdf163 (patch)
treeb313ac0c2db23f3ff9973674ea526da538005d06 /etc
parent87c20eb5b5e2ed62a65be914df9fb01b99d25789 (diff)
downloadpfsense-e95c7cd6d75a49427ebe121ee0d97ed10dbdf163.zip
pfsense-e95c7cd6d75a49427ebe121ee0d97ed10dbdf163.tar.gz
Switch on correct argument variable
Clear arp cache per interface instead of all Clear arp cache for staticly configured interfaces
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.linkup13
1 files changed, 8 insertions, 5 deletions
diff --git a/etc/rc.linkup b/etc/rc.linkup
index 62ad930..a1de23f 100755
--- a/etc/rc.linkup
+++ b/etc/rc.linkup
@@ -49,27 +49,30 @@
global $config;
log_error("Processing {$argument1} - {$argument2}");
$iface = convert_real_interface_to_friendly_interface_name($argument1);
- if(!$iface)
+ if($iface == "") {
+ log_error("Not a valid interface \"$iface\"");
return;
+ }
if($config['interfaces'][$iface]['ipaddr'] <> "dhcp" and
$config['interfaces'][$iface]['ipaddr'] <> "pppoe" and
$config['interfaces'][$iface]['ipaddr'] <> "bigpond" and
$config['interfaces'][$iface]['ipaddr'] <> "pptp") {
log_error("Hotplug event detected for {$argument1} but ignoring since interface is not set for DHCP");
+ exec("/usr/sbin/arp -d -i {$argument1} -a");
} else {
- switch ($argument1) {
+ switch ($argument2) {
case "stop":
case "down":
log_error("DEVD Ethernet detached event for {$argument1}");
exec("/sbin/ifconfig {$argument1} delete");
- exec("/usr/sbin/arp -da");
+ exec("/usr/sbin/arp -d -i {$argument1} -a");
exit;
break; /* LINT - NOT REACHED */
case "start":
case "up":
log_error("DEVD Ethernet attached event for {$argument1}");
exec("/sbin/ifconfig {$argument1} up");
- exec("/usr/sbin/arp -da");
+ exec("/usr/sbin/arp -d -i {$argument1} -a");
break;
}
switch ($iface) {
@@ -94,4 +97,4 @@
}
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud