Skip to content




(Drone settings are available release 0.7 onwards)

Drone settings are specified in a .ini file. This file is read only once at startup and never written to by the application (i.e. it is expected to be user created and edited). It is located at one of the below locations (searched in given order) -

On Unix and Mac OS X -

  1. <path-to-drone-executable>/drone.ini
  2. $HOME/.config/Ostinato/drone.ini
  3. $HOME/.config/Ostinato.ini
  4. /etc/xdg/Ostinato/drone.ini
  5. /etc/xdg/Ostinato.ini

On Windows -

  1. <path-to-drone-executable>/drone.ini
  2. %APPDATA%\Ostinato\drone.ini
  3. %APPDATA%\Ostinato.ini
  4. %COMMON_APPDATA%\Ostinato\Ostinato.ini
  5. %COMMON_APPDATA%\Ostinato.ini

The %APPDATA% path is usually C:\Documents and Settings\User Name\Application Data; the %COMMON_APPDATA% path is usually C:\Documents and Settings\All Users\Application Data.

The .ini file contents are case-sensitive and the format is -






(Available release 0.8 onwards)

To ensure that the actual transmit rate is as close as possible to the configured transmit rate, Drone runs a busy-wait loop. While this provides the maximum accuracy possible, the CPU utilization is 100% while the transmit is on. You can however, sacrifice the accuracy to reduce the CPU load.

Supported values currently are High (default), Low



(Available release 0.8 onwards)

By default, the Drone RPC server will listen on all interfaces and local IPv4 adresses for incoming connections from clients. Specify a single IPv4 or IPv6 address if you want to restrict that. To listen on any IPv6 address, use ::


Use the PortList Include/Exclude list to filter the list of ports that drone manages. Both Include and Exclude are comma-separated glob patterns which match port names (in case of Windows, port description instead of port name is matched). For a port to pass the filter and appear on the port list managed by drone, it should be allowed by the Include list and not disallowed by the Exclude List. An empty Include list matches all ports (i.e. all ports are allowed). An empty Exclude list matches no ports (i.e. no ports are disallowed)

e.g. to filter out usbmon ports -


or e.g. to have drone work on only eth ports and loopback ports but not on eth0 -

Include=eth*, lo*