isochron-rcv - Start an isochron test in the role of a
receiver
This command starts a long-running process that listens for
connections from an isochron sender, logs timestamps for the received test
packets, and sends the logged data back.
- -h,
--help
- prints the short help message and exits
- -i,
--interface
<IFNAME>
- specify the network interface on which packets will be received
- -d,
--dmac
<MACADDRESS>
- specify the destination MAC address used by the application for
recognizing test packets. Can be either unicast or multicast. Necessary
only for the L2 transport (plain Ethernet). Optional, the
interface’s unicast MAC address is used by default.
- -e,
--etype
<NUMBER>
- specify the EtherType used by the application for recognizing test packets
sent using the L2 transport. Optional, defaults to
0xdead.
- -P,
--stats-port
<NUMBER>
- specify the TCP port on which the receiver program is listening for
incoming connections. This socket is used for management and statistics.
Optional, defaults to port 5000.
- -s,
--frame-size
<NUMBER>
- specify the size of test frames. The size is counted from the first octet
of the destination MAC address until the last octet of data before the
FCS.
- -S,
--stats-address
<NUMBER>
- specify the IP address on which the receiver program is listening for
incoming connections. This socket is used for management and statistics.
Supports binding to a given network device using the
address%device syntax (example:
--stats-address ::%vrf0). Optional, defaults to
::, with a fallback to 0.0.0.0 if IPv6 is not available.
- -q,
--quiet
- this option suppresses error messages regarding invalid test packets.
Optional, defaults to false.
- -f,
--sched-fifo
- when set, the program requests the kernel to change its scheduling policy
to SCHED_FIFO for the duration of the test.
- -r,
--sched-rr
- when set, the program requests the kernel to change its scheduling policy
to SCHED_RR for the duration of the test.
- -H,
--sched-priority
<NUMBER>
- when either --sched-fifo or
--sched-rr is used, the program requests the
kernel to change its scheduling priority for the duration of the
test.
- -O,
--utc-tai-offset
<NUMBER>
- the program uses the CLOCK_TAI time base for its
timers and for all reported timestamps, and this option specifies the
correction in seconds to apply to software timestamps, which are taken by
the kernel in the CLOCK_REALTIME (UTC) time base.
If this option is present, isochron will also change the kernel’s
CLOCK_TAI offset to the specified value, to ensure
that its timers fire correctly. If the option is absent, isochron queries
the kernel’s CLOCK_TAI offset and attempts
to use that. If isochron can also query the UTC offset from ptp4l’s
TIME_PROPERTIES_DATA_SET using management
messages, it does that and compares that offset to the kernel’s UTC
offset. The UTC offset reported by ptp4l has the highest priority, and if
the application detects that this is different from the kernel’s
CLOCK_TAI offset, it changes the kernel offset to
the value queried from ptp4l.
- -2, --l2
- this option specifies that the plain Ethernet transport should be used for
the test packets. Optional, defaults to true unless the sender overrides
this via the management socket.
- -4, --l4
- this option specifies that the UDP transport should be used for test
packets. Optional, defaults to false unless the sender overrides this via
the management socket.
- -U,
--unix-domain-socket
<PATH>
- isochron queries ptp4l’s state by creating and sending PTP
management messages over a local UNIX domain socket. This option specifies
the path of this socket in the filesystem. Optional, defaults to
/var/run/ptp4l.
- -N,
--domain-number
<NUMBER>
- this option provides the domainNumber value to be used when constructing
PTP management messages sent to the ptp4l process. It must coincide with
the domainNumber used by ptp4l, otherwise it will not respond to
management messages. Optional, defaults to 0.
- -t,
--transport-specific
<NUMBER>
- this option provides the transportSpecific value to be used when
constructing PTP management messages sent to the ptp4l process. It must
coincide with the transportSpecific used by ptp4l, otherwise it will not
respond to management messages. Optional, defaults to 0. Note that PTP
variants such as IEEE 802.1AS/gPTP require this value to be set to a
different value such as 1.
- -R,
--num-readings
<NUMBER>
- isochron monitors the synchronization quality between the NIC’s PTP
Hardware Clock (PHC) and the system time by successively reading the
system time, the PHC time and the system time again, several times in a
row, and picking the group of 3 time readouts that took the least amount
of time overall. This option specifies how many readouts should be
performed before picking the fastest one. Optional, defaults to 5.
To start an isochron receiver with PTP synchronization:
-
ip link set eth0 up && ip addr add 192.168.100.2/24 dev eth0
ptp4l -i eth0 -2 -P --step_threshold 0.00002 &
phc2sys -a -rr --step_threshold 0.00002 &
isochron rcv \
--interface eth0 \
--quiet \
--sched-rr \
--sched-priority 98
This man page was written using
pandoc by the same
author.