isochron-orchestrate(1) | ISOCHRON | isochron-orchestrate(1) |
isochron-orchestrate - Coordinate isochron daemons
isochron orchestrate [OPTIONS]
This command opens an orchestration file containing descriptions of daemons: how to reach them, their names, roles and parameters for the test. It connects to these daemons, informs them of their parameters, and coordinates them such that they start sending traffic only when their synchronization offset becomes lower than the required threshold. After the test is done, the packet logs are gathered by the orchestrator from each sender and its associated receiver, and saved on the local filesystem.
The orchestration file has an INI-style format supporting multi-line statements, and with comments being delineated by the # character. Each section denotes an orchestration node, and the lines that follow have a “key = value” format that describe parameters for this node.
It is possible to orchestrate two senders running on hosts A (10.0.0.1) and B (10.0.0.2), sending towards two receivers both on host C (10.0.0.3), from a management node D, for the purpose of creating packet collisions and measuring the resulting latency.
The commands on nodes A and B are:
ptp4l -i eth0 -2 -P --step_threshold 0.00002 & phc2sys -a -rr --step_threshold 0.00002 & isochron daemon
The commands on node C are:
ptp4l -i eth0 -2 -P --step_threshold 0.00002 & phc2sys -a -rr --step_threshold 0.00002 & isochron rcv --interface eth0 --stats-port 5000 --etype 0xdead & isochron rcv --interface eth0 --stats-port 5001 --etype 0xdeaf &
The commands on node D are (the double backslashes are to prevent the shell from interpreting them when creating the heredoc, the resulting file will have simple backslashes):
cat <<- EOF > orchestration.txt [A] host = 10.0.0.1 port = 5000 exec = isochron send \\
--client 10.0.0.3 \\
--stats-port 5000 \\
--interface eth0 \\
--num-frames 10 \\
--base-time 0.000000000 \\
--cycle-time 0.01 \\
--frame-size 1500 \\
--sync-threshold 100 \\
--cpu-mask 0x1 \\
--sched-fifo \\
--sched-priority 98 \\
--etype 0xdead \\
--output-file isochron-host-a.dat [B] host = 10.0.0.2 port = 5000 exec = isochron send \\
--client 10.0.0.3 \\
--stats-port 5001 \\
--interface eth0 \\
--num-frames 10 \\
--base-time 0.000000100 \\
--cycle-time 0.01 \\
--frame-size 1500 \\
--sync-threshold 100 \\
--cpu-mask 0x1 \\
--sched-fifo \\
--sched-priority 98 \\
--etype 0xdeaf \\
--output-file isochron-host-b.dat EOF isochron orchestrate --input-file orchestration.txt isochron report --summary --input-file isochron-host-a.dat isochron report --summary --input-file isochron-host-b.dat
isochron was written by Vladimir Oltean <vladimir.oltean@nxp.com>
This man page was written using pandoc (http://pandoc.org/) by the same author.