Turbo Drone is an Ostinato add-on that provides 10Gbps line rate traffic generation capability. It is a drop-in replacement for the Drone shipped along with the standard Ostinato package.
This add on is currently in private beta at the moment, but you can still sign up for the early access list.
- Ubuntu 18.04 LTS - other distros will be supported later
- Linux Kernel 5.3.0 or higher
- CPU - Intel i7/Xeon with one core for base system plus 2 cores per 10G port i.e. for a host with a single 10G port, you need minimum 1+1x2=3 cores; for 2x10G ports, you need 1+2x2=5 cores; for 4x10G ports, you need 1+4x2=9 cores (Note: cores refer to actual cores, not hyper-threaded cores).
- Memory - 2GB
- NIC - Turbo drone uses the new Linux technologies of XDP and AF_XDP. Run
ethtool -i <intf-name>to get the corresponding driver name and check it against Linux drivers supporting XDP to see if your 10G NIC is supported
- Always-on Internet access for license validation
- Only 10Gbps is supported - higher speeds like 25/40/100G will come later
- Beta quality - for now!
- Ostinato/Wireshark cannot capture Turbo Drone generated packets (this is a limitation of the AF_XDP technology)
How to install
Install pre-requisite packages -
sudo apt-get install libnl-3-200 libnl-route-3-200 libpcap0.8 libprotobuf10 libqt5core5a libqt5network5 libqt5script5 libz libelf
Untar the package
tar zxvf turbo-drone-1.1-0.1-1.tgz
turbo-drone-1.1-0.1/drone.inito specify the 10G ports on your system and your license keys (each 10G port needs a unique license key)
[Turbo] Ports=eth1, eth2 License/size=2 License/1/key=<license-key1> License/2/key=<license-key2>
Port MUST be explicitly added to Turbo/Ports to be treated as a turbo port. Ports not specified as a Turbo port or not having a corresponding license key will fallback to work as a normal Drone port (without the 10Gbps line rate support).
How to Run
We need to tune the system for high performance before we run turbo drone -
cd turbo-drone-1.1-0.1 sudo ./turbo-tune config <list-of-space-separated-eth-ports> sudo ./turbo-drone
From the Ostinato GUI, goto
File|Add New PortGroup and enter the hostname (or IP address) of the host running turbo-drone. Turbo ports will show up in the GUI annotated with (Turbo) -
- Disable hyper-threading in the BIOS
- Tune the system for high performance
sudo ./turbo-tune config <list-of-space-separated-eth-ports>
sudo turbo-drone -dto enable debug logs; save them in a file and provide for analysis
- Also provide output of
sudo turbo-tune info <list-of-space-separated-eth-ports>alongwith drone logs