2
# Try to get additional Facts about the machine's network interfaces
4
# Original concept Copyright (C) 2007 psychedelys <psychedelys@gmail.com>
5
# Update and *BSD support (C) 2007 James Turnbull <james@lovedthanlost.net>
8
require 'facter/util/ip'
10
Facter.add(:interfaces) do
11
confine :kernel => [ :sunos, :freebsd, :openbsd, :netbsd, :linux ]
13
Facter::IPAddress.get_interfaces.join(",")
17
case Facter.value(:kernel)
18
when 'SunOS', 'Linux', 'OpenBSD', 'NetBSD', 'FreeBSD'
19
Facter::IPAddress.get_interfaces.each do |interface|
20
mi = interface.gsub(':', '_')
22
Facter.add("ipaddress_" + mi) do
23
confine :kernel => [ :sunos, :freebsd, :openbsd, :netbsd, :linux ]
26
Facter::IPAddress.get_interface_value(interface, label)
30
Facter.add("macaddress_" + mi) do
31
confine :kernel => [ :sunos, :freebsd, :openbsd, :netbsd, :linux ]
34
Facter::IPAddress.get_interface_value(interface, label)
38
Facter.add("netmask_" + mi) do
39
confine :kernel => [ :sunos, :freebsd, :openbsd, :netbsd, :linux ]
42
Facter::IPAddress.get_interface_value(interface, label)