diff options
author | Seth Mos <seth.mos@xs4all.nl> | 2007-10-09 21:05:32 +0000 |
---|---|---|
committer | Seth Mos <seth.mos@xs4all.nl> | 2007-10-09 21:05:32 +0000 |
commit | e95c7cd6d75a49427ebe121ee0d97ed10dbdf163 (patch) | |
tree | b313ac0c2db23f3ff9973674ea526da538005d06 /etc/rc.linkup | |
parent | 87c20eb5b5e2ed62a65be914df9fb01b99d25789 (diff) | |
download | pfsense-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/rc.linkup')
-rwxr-xr-x | etc/rc.linkup | 13 |
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 +?> |