<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def recv(self, packet, interface):
 """run incoming packet through the filters, then place it in its inq"""

        # the packet is piped into the first filter, then the result of that into the second filter, etc.
        for f in self.filters:
            if not packet:
                break
            packet = f.tr(packet, interface)
        if packet:
            # if the packet wasn't dropped by a filter, log the recv and place it in the interface's inq
            # self.log("IN      ", str(interface).ljust(30), packet.decode())
            self.inq[interface].put(packet)