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.
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