summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorN0YB <JunkYardMail1@Frontier.com>2012-12-07 22:26:28 -0800
committerN0YB <JunkYardMail1@Frontier.com>2012-12-07 22:26:28 -0800
commit25c1ebd5cb2a358477e81c30b5e73719a94e1107 (patch)
tree3d8db89eb9438533823f3c8911b3e894d3477637 /etc/inc/interfaces.inc
parent66c73aab00fc80028a1fbf2eceec18380268c55e (diff)
downloadpfsense-25c1ebd5cb2a358477e81c30b5e73719a94e1107.zip
pfsense-25c1ebd5cb2a358477e81c30b5e73719a94e1107.tar.gz
ARP Table Static Entries from Individual DHCP Static Mappings
Assign individual DHCP static mappings as ARP table static entries. Useful / necessary for sending WoL magic packets from external services / sources, and for any other purpose that needs a static ARP table entry.
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc7
1 files changed, 7 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 28dc04d..e9e2c95 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -4609,6 +4609,13 @@ function interfaces_staticarp_configure($if) {
} else {
mwexec("/sbin/ifconfig " . escapeshellarg($ifcfg['if']) . " -staticarp " );
mwexec("/usr/sbin/arp -d -i " . escapeshellarg($ifcfg['if']) . " -a > /dev/null 2>&1 ");
+ if (is_array($config['dhcpd'][$if]['staticmap'])) {
+ foreach ($config['dhcpd'][$if]['staticmap'] as $arpent) {
+ if (isset($arpent['arp_table_static_entry'])) {
+ mwexec("/usr/sbin/arp -s " . escapeshellarg($arpent['ipaddr']) . " " . escapeshellarg($arpent['mac']));
+ }
+ }
+ }
}
return 0;
OpenPOWER on IntegriCloud