docs: def sendpfast(x, pps=None, mbps=None, realtime=None, loop=0, file_cache=False, iface=None, replay_args=None,  # noqa: E501
                parse_results=False):
      """Send packets at layer 2 using tcpreplay for performance
      pps:  packets per second
      mpbs: MBits per second
      realtime: use packet's timestamp, bending time with real-time value
      loop: number of times to process the packet list
      file_cache: cache packets in RAM instead of reading from disk at each iteration  # noqa: E501
      iface: output interface
      replay_args: List of additional tcpreplay args (List[str])
      parse_results: Return a dictionary of information outputted by tcpreplay (default=False)  # noqa: E501
      :returns stdout, stderr, command used"""
      if iface is None:
          iface = conf.iface
      argv = [conf.prog.tcpreplay, "--intf1=%s" % iface]
      if pps is not None:
          argv.append("--pps=%i" % pps)
      elif mbps is not None:
          argv.append("--mbps=%f" % mbps)
      elif realtime is not None:
          argv.append("--multiplier=%f" % realtime)
      else:
          argv.append("--topspeed")
  
      if loop:
          argv.append("--loop=%i" % loop)
      if file_cache:
          argv.append("--preload-pcap")
  
      # Check for any additional args we didn't cover.
      if replay_args is not None:
          argv.extend(replay_args)
  
      f = get_temp_file()
      argv.append(f)
      wrpcap(f, x)
      results = None
      with ContextManagerSubprocess("sendpfast()", conf.prog.tcpreplay):
          try:
              cmd = subprocess.Popen(argv, stdout=subprocess.PIPE,
                                     stderr=subprocess.PIPE)
          except KeyboardInterrupt:
              log_interactive.info("Interrupted by user")
          except Exception:
              os.unlink(f)
              raise
          else:
              stdout, stderr = cmd.communicate()
              if stderr:
                  log_runtime.warning(stderr.decode())
              if parse_results:
                  results = _parse_tcpreplay_result(stdout, stderr, argv)
              elif conf.verb > 2:
                  log_runtime.info(stdout.decode())
      os.unlink(f)
      return results