Provided by: isochron_0.9~rc4-1_amd64 bug

NAME

       isochron-orchestrate - Coordinate isochron daemons

SYNOPSIS

       isochron orchestrate [OPTIONS]

DESCRIPTION

       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  parame‐
       ters,  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.

OPTIONS

       -h, --help
              prints the short help message and exits

       -F, --input-file <PATH>
              specify the path to the input orchestration file.

ORCHESTRATION FILE FORMAT

       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.

       host   denotes the IP address through which the isochron daemon can be reached by the orchestrator.

       port   denotes the TCP port through which the isochron daemon can be reached by the orchestrator.

       exec   denotes  the command to be executed by the isochron daemon.  The syntax is identical to what would
              be specified as command line arguments to isochron-send.  The expected behavior of a daemon in the
              role of a sender is also identical to that of a  dedicated  sender,  with  some  exceptions.   The
              --output-file is interpreted by the orchestrator, not by the daemon (therefore, files are saved on
              the  orchestrator’s  filesystem).  Communication through the management socket does not take place
              between an orchestrated sender and its receiver.  Instead, the orchestrator  deduces  the  address
              and  port  of the receiver through the --client and --stats-port arguments of the sender, and con‐
              nects by itself to the receiver.  An orchestrated sender does not monitor sync  status  by  itself
              and  does not decide when to start sending test packets.  Instead, these are controlled by the or‐
              chestrator.

EXAMPLES

       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

AUTHOR

       isochron was written by Vladimir Oltean <vladimir.oltean@nxp.com>

SEE ALSO

       isochron(8) isochron-send(8) isochron-daemon(8)

COMMENTS

       This man page was written using pandoc (http://pandoc.org/) by the same author.

                                                                                         isochron-orchestrate(1)