async def METHOD_NAME(self, port_number, output_file, data_link_type="DLT_EN10MB"):
    """
    Starts a packet capture.
    :param port_number: allocated port number
    :param output_file: PCAP destination file for the capture
    :param data_link_type: PCAP data link type (DLT_*), default is DLT_EN10MB
    """
    nio = self.get_nio(port_number)
    data_link_type = data_link_type.lower()
    if data_link_type.startswith("dlt_"):
        data_link_type = data_link_type[4:]
    if nio.input_filter[0] is not None and nio.output_filter[0] is not None:
        raise DynamipsError("Port {} has already a filter applied".format(port_number))
    await nio.start_packet_capture(output_file, data_link_type)
    log.info('Ethernet hub "{name}" [{id}]: starting packet capture on port {port}'.format(name=self._name,
                                                                                           id=self._id,
                                                                                           port=port_number))