Turbo

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.

System requirements

  • 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

Limitations

  • 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
    
  • Edit turbo-drone-1.1-0.1/drone.ini to 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) - Turbo port in GUI

Performance tips

  • Disable hyper-threading in the BIOS
  • Tune the system for high performance
    sudo ./turbo-tune config <list-of-space-separated-eth-ports>
    
  • TBD

Debug tips

  • Run sudo turbo-drone -d to 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
  • TBD

results matching ""

    No results matching ""