summaryrefslogtreecommitdiffstats
path: root/lib/facter/arp.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facter/arp.rb')
-rw-r--r--lib/facter/arp.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/facter/arp.rb b/lib/facter/arp.rb
new file mode 100644
index 0000000..f4b7709
--- /dev/null
+++ b/lib/facter/arp.rb
@@ -0,0 +1,22 @@
+require 'facter/util/ip'
+
+Facter.add(:arp) do
+ confine :kernel => :linux
+ setcode do
+ arp = []
+ output = %x{/usr/sbin/arp -a}
+ output.each_line do |s|
+ arp.push($1) if s =~ /^\S+\s\S+\s\S+\s(\S+)\s\S+\s\S+\s\S+$/
+ end
+ arp[0]
+ end
+end
+
+Facter::Util::IP.get_interfaces.each do |interface|
+ Facter.add("arp_" + Facter::Util::IP.alphafy(interface)) do
+ confine :kernel => :linux
+ setcode do
+ Facter::Util::IP.get_arp_value(interface)
+ end
+ end
+end