summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Marquette <billm@pfsense.org>2005-03-15 03:32:50 +0000
committerBill Marquette <billm@pfsense.org>2005-03-15 03:32:50 +0000
commit5c0538e034842fb0128007a89d095fc5af82dca6 (patch)
tree17770ad213b46d014acd15c9b2b74b5480524f56
parentb7597d4e23f0a99905c6f3b87d508459876c99ec (diff)
downloadpfsense-5c0538e034842fb0128007a89d095fc5af82dca6.zip
pfsense-5c0538e034842fb0128007a89d095fc5af82dca6.tar.gz
Support for static ARP from Mircea Rimbu
-rw-r--r--etc/inc/services.inc25
1 files changed, 25 insertions, 0 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index cc98db1..177c783 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -179,6 +179,31 @@ EOD;
return 0;
}
+function interfaces_staticarp_configure() {
+ global $config, $g;
+
+ $lancfg = $config['interfaces']['lan'];
+
+ /* Enable staticarp, if enabled */
+ if(isset($config['staticarp']['enablestaticarp'])) {
+ mwexec("/sbin/ifconfig " . escapeshellarg($lancfg['if']) . " staticarp " );
+ mwexec("/usr/sbin/arp -ad > /dev/null 2>&1 ");
+ if (is_array($config['dhcpd']['lan']['staticmap'])) {
+
+ foreach ($config['dhcpd']['lan']['staticmap'] as $arpent) {
+ mwexec("/usr/sbin/arp -s " . escapeshellarg($arpent['ipaddr']) . " " . escapeshellarg($arpent['mac']));
+
+ }
+
+ }
+ } else {
+ mwexec("/sbin/ifconfig " . escapeshellarg($lancfg['if']) . " -staticarp " );
+ mwexec("/usr/sbin/arp -ad > /dev/null 2>&1 ");
+ }
+
+ return 0;
+}
+
function services_dhcrelay_configure() {
global $config, $g;
OpenPOWER on IntegriCloud