def METHOD_NAME(test, exp_packet, port, device_number=0, timeout=1):
    """
    Receive all packets on the port and return all the received packets.
    As soon as the packets stop arriving, the function waits for the timeout value and returns the received packets.
    Therefore, this function requires a positive timeout value.
    """
    if timeout <= 0:
        raise Exception("%s() requires positive timeout value." %
                        sys._getframe().f_code.co_name)
    pkts = list()
    while True:
        result = dp_poll(test, device_number=device_number,
                         port_number=port, timeout=timeout)
        if isinstance(result, test.dataplane.PollSuccess):
            if ptf.dataplane.match_exp_pkt(exp_packet, result.packet):
                pkts.append(result.packet)
        else:
            break
    return pkts