code: def start_capture(self, port_number, output_file, data_link_type="DLT_EN10MB"):
          
  
          if not [port["port_number"] for port in self._ports_mapping if port_number == port["port_number"]]:
              raise NodeError("Port {port_number} doesn't exist on cloud '{name}'".format(name=self.name,
                                                                                          port_number=port_number))
  
          if port_number not in self._nios:
              raise NodeError("Port {} is not connected".format(port_number))
  
          nio = self._nios[port_number]
  
          if nio.capturing:
              raise NodeError("Packet capture is already activated on port {port_number}".format(port_number=port_number))
          nio.startPacketCapture(output_file)
          bridge_name = "{}-{}".format(self._id, port_number)
          yield from self._ubridge_send('bridge start_capture {name} "{output_file}"'.format(name=bridge_name,
                                                                                             output_file=output_file))
          log.info("Cloud '{name}' [{id}]: starting packet capture on port {port_number}".format(name=self.name,
                                                                                                 id=self.id,
                                                                                                 port_number=port_number))
docs: 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