Skip to content

Protocol Emulation

Available since v2.0

Warning

Protocol Emulation is a TECH PREVIEW at this time - reach out to us if you see any bugs or have suggestions. This is a Linux-only feature. More specifically, the Ostinato agent (Drone) MUST be running on Linux. The GUI controller or Python script can run on any platform.

You need docker to use Protocol Emulation.

Protocol Emulation extends Device Emulation to support the following protocols -

  • DHCP Client (IPv4 and IPv6)
  • DHCP Server (IPv4 and IPv6)

Linux containers are used to emulate devices and standard Linux tools are used -

  • dhcpcd (DHCP client)
  • dnsmasq (DHCP server)

Enabling protocol emulation

To enable protocol emulation, you need to modify drone.ini as shown below and restart Drone.

[General]
DeviceEmulation=Docker

Protocol Selection and Configuration

Use the Ostinato device emulation GUI to select the desired protocols.

Emulated Protocols

Additional protocol configuration

If you want to further customize the protocol settings, you can specify command-line arguments to the tools in drone.ini

[DockerDeviceEmulation]
Xdhcpcd=
Xdnsmasq=

Info

The prefix X in the above settings is not a typo - it is part of the key and indicates the experimental nature of these settings

By default these arguments will be passed to the tool in-addition to the arguments we pass to the tool.

If you want to completely override all arguments, specify the full command starting with the tool name.

Here's an example -

[DockerDeviceEmulation]
Xdhcpcd=--leasetime 3600
Xdnsmasq="dnsmasq -F 198.18.3.10,198.18.3.50,255.255.255.0"

With the above, --leasetime 3600 will be passed in addition to Ostinato chosen argument values to the dhcpcd DHCP client. However, for the DHCP server dnsmasq the user specified command line will be used with no additional parameters.

Limitations

The protocol emulation has the following limitations currently -

  • VLANs are not supported in device group configuration
Back to top