# File lib/macaddr.rb, line 82
    def from_getifaddrs
      return unless Socket.respond_to? :getifaddrs

      interfaces = Socket.getifaddrs.select do |addr|
        addr.addr.pfamily == INTERFACE_PACKET_FAMILY
      end

      mac, =
        if Socket.const_defined? :PF_LINK then
          interfaces.map do |addr|
            addr.addr.getnameinfo
          end.find do |m,|
            !m.empty?
          end
        elsif Socket.const_defined? :PF_PACKET then
          interfaces.map do |addr|
            addr.addr.inspect_sockaddr[/hwaddr=([\h:]+)/, 1]
          end.find do |mac_addr|
            mac_addr != '00:00:00:00:00:00'
          end
        end

      @mac_address = mac if mac
    end