# File lib/fog/libvirt/models/compute/interfaces.rb, line 12
        def all(filter=nil)
          data=[]
          if filter.nil?
            connection.raw.list_interfaces.each do |ifname|
              interface=connection.raw.lookup_interface_by_name(ifname)
              data << { :raw => interface }
            end
            connection.raw.list_defined_interfaces.each do |ifname|
              interface=connection.raw.lookup_interface_by_name(ifname)
              data << { :raw => interface }
            end

          else
            interface=nil
            begin
              interface=get_by_name(filter[:name]) if filter.has_key?(:name)
              interface=get_by_mac(filter[:mac]) if filter.has_key?(:mac)
            rescue ::Libvirt::RetrieveError
              return nil
            end
            data << { :raw => interface}
          end

          load(data)
        end